Car Deals Search MCP Server

Car Deals Search MCP Server

Aggregates and searches used car listings from multiple sources (Cars.com, Autotrader, KBB) with price, mileage, dealer info, and optional CarFax-style filters (1-owner, no accidents, personal use).

Category
Visit Server

README

Car Deals Search MCP

Search used car listings from Cars.com, Autotrader, and KBB with AI assistants

An MCP (Model Context Protocol) server that aggregates and searches car listings from multiple sources. Scrapes listings in parallel, extracts price, mileage, dealer info, and applies optional CARFAX-style filters (1-owner, no accidents, personal use).

License: MIT


๐Ÿš€ Quick Start

Prerequisites

  • Node.js (v16 or higher)
  • Chrome/Chromium browser installed (required by Puppeteer)
    • If Chrome is not in the default location, set PUPPETEER_EXECUTABLE_PATH environment variable to point to your Chrome/Chromium binary

Installation

# Clone the repository
git clone https://github.com/SiddarthaKoppaka/car_deals_search_mcp.git
cd car_deals_search_mcp

# Install dependencies (includes Puppeteer)
npm install

Using with MCP Clients

Configure your MCP client (Claude Desktop, VS Code, GitHub Copilot, etc.) to use this server:

For Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "car-deals": {
      "command": "node",
      "args": ["/absolute/path/to/car_deals_search_mcp/src/server.js"]
    }
  }
}

For other MCP clients, refer to their documentation and use:

  • Command: node
  • Args: ["<absolute-path-to-repo>/src/server.js"]

Testing Standalone

# Run the test command
npm test

# Or test manually with a specific search
node -e "
const { scrapeCarscom } = require('./src/scraper.js');
scrapeCarscom({
  make: 'Toyota',
  model: 'Camry',
  oneOwner: true,
  noAccidents: true,
  personalUse: true
}, 5).then(listings => listings.forEach(l => console.log(l.format())));
"

โœจ Features

  • Multi-source aggregation: Search Cars.com, Autotrader, and KBB simultaneously
  • Smart filtering: CARFAX-style filters (1-Owner, No Accidents, Personal Use)
  • Deal ratings: Heuristic-based deal quality assessment
  • Parallel scraping: Fast concurrent queries across sources
  • Stealth mode: Puppeteer with anti-bot detection techniques

๐Ÿ“Š Supported Sources

Source Price Mileage Deal Rating Dealer Info CARFAX Filters
Cars.com โœ… โœ… โœ… โœ… โœ…
Autotrader โœ… โœ… โš ๏ธ Limited โœ… โš ๏ธ Limited
KBB โœ… โœ… โœ… โš ๏ธ Limited โš ๏ธ Limited

๐Ÿ”ง MCP Tool: search_car_deals

Parameters

Parameter Type Required Description
make string โœ… Car manufacturer (e.g., "Toyota", "Honda")
model string โœ… Car model (e.g., "Camry", "Accord")
zip string โŒ ZIP code for local search (default: "90210")
yearMin integer โŒ Minimum model year
yearMax integer โŒ Maximum model year
priceMax integer โŒ Maximum price in USD
mileageMax integer โŒ Maximum mileage
maxResults integer โŒ Max results per source (default: 10)
sources array โŒ Sources to query: ["cars.com","autotrader","kbb"] (default: all)
oneOwner boolean โŒ Filter for CARFAX 1-owner vehicles only
noAccidents boolean โŒ Filter for no accidents reported
personalUse boolean โŒ Filter for personal use only (not rental/fleet)

Example Response

๐Ÿš— 2021 Toyota Camry XSE
   ๐Ÿ’ฐ Price: $23,491
   ๐Ÿ“ Mileage: 52,649 mi
   โญ Deal Rating: Good Deal
   ๐Ÿ† CARFAX: 1-Owner | No Accidents | Personal Use
   ๐Ÿช Dealer: Valencia BMW
   ๐ŸŒ Source: Cars.com
   ๐Ÿ”— https://www.cars.com/vehicledetail/...

๐Ÿ› ๏ธ Technical Details

  • Scraping: Puppeteer (headless Chromium) with stealth plugin to bypass bot detection
  • Concurrency: Parallel scraper workers for simultaneous multi-source queries
  • Protocol: Implements MCP (Model Context Protocol) for AI assistant integration
  • Data extraction: Source-specific parsers normalize listings into a common schema

Chrome/Chromium Requirement

This project uses Puppeteer, which requires Chrome or Chromium to be installed:

  • macOS: Chrome is typically at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
  • Linux: Usually auto-detected by Puppeteer or at /usr/bin/chromium-browser
  • Windows: Typically at C:\Program Files\Google\Chrome\Application\chrome.exe

If Puppeteer cannot find your browser, set the environment variable:

export PUPPETEER_EXECUTABLE_PATH="/path/to/chrome"

๐Ÿงช Development & Testing

# Run tests
npm test

# Test individual scrapers
node src/scraper.js

# View code structure
ls -la src/

๐Ÿค Contributing

Contributions are welcome! Please follow this workflow:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Add tests for new functionality
  4. Commit your changes (git commit -m 'Add amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

Please include test coverage for scraping/parsing changes to avoid regressions when source sites update.


๐Ÿ“„ License

MIT License - see LICENSE file for details


๐Ÿ”— Links

  • Repository: https://github.com/SiddarthaKoppaka/car_deals_search_mcp
  • Issues: https://github.com/SiddarthaKoppaka/car_deals_search_mcp/issues
  • MCP Protocol: https://modelcontextprotocol.io

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured