Car Deals Search MCP Server
This MCP server aggregates and searches used car listings from multiple automotive marketplaces (Cars.com, Autotrader, and KBB) with advanced filtering capabilities.
Key capabilities:
Multi-source search: Query all sources simultaneously or selectively with parallel processing for fast results
Comprehensive filtering: Search by make, model, year range, maximum price, maximum mileage, and ZIP code location
CARFAX-style filters: Filter for 1-owner vehicles, no accidents/damage reported, and personal use only (excludes rental/fleet vehicles)
Deal quality assessment: Receive heuristic-based deal ratings to identify good values
Detailed listing information: Extract price, mileage, dealer info, deal ratings, and direct links to each listing
Customizable results: Control maximum results per source (default: 10) and overall search scope
AI assistant integration: Works seamlessly with MCP-compatible tools like Claude Desktop, VS Code, and GitHub Copilot
Stealth scraping: Uses Puppeteer with anti-bot detection techniques to reliably access listing sites
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Car Deals Search MCP Serverfind used Toyota Camrys under $25k with no accidents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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).
๐ 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_PATHenvironment 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 installUsing 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:
nodeArgs:
["<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())));
"Related MCP server: VIN MCP
โจ 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 |
| string | โ | Car manufacturer (e.g., "Toyota", "Honda") |
| string | โ | Car model (e.g., "Camry", "Accord") |
| string | โ | ZIP code for local search (default: "90210") |
| integer | โ | Minimum model year |
| integer | โ | Maximum model year |
| integer | โ | Maximum price in USD |
| integer | โ | Maximum mileage |
| integer | โ | Max results per source (default: 10) |
| array | โ | Sources to query: |
| boolean | โ | Filter for CARFAX 1-owner vehicles only |
| boolean | โ | Filter for no accidents reported |
| 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 ChromeLinux: Usually auto-detected by Puppeteer or at
/usr/bin/chromium-browserWindows: 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:
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Add tests for new functionality
Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)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
Available Tools
1 toolsearch_car_dealsA
Search for car deals across multiple sources (Cars.com, Autotrader, KBB). Returns listings with prices, mileage, deal ratings, and links.
| Name | Required | Description | Default |
|---|---|---|---|
| make | Yes | Car manufacturer (e.g., Toyota, Honda, Ford) | |
| model | Yes | Car model (e.g., Camry, Civic, F-150) | |
| zip | No | ZIP code for location-based search (default: 90210) | |
| yearMin | No | Minimum model year | |
| yearMax | No | Maximum model year | |
| priceMax | No | Maximum price in dollars | |
| mileageMax | No | Maximum mileage | |
| maxResults | No | Maximum results per source (default: 10) | |
| sources | No | Sources to search: "cars.com", "autotrader", "kbb". Default: all | |
| oneOwner | No | Filter for CARFAX 1-Owner vehicles only | |
| noAccidents | No | Filter for vehicles with no accidents or damage reported | |
| personalUse | No | Filter for vehicles used for personal use only (not rental/fleet) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool searches across multiple sources and returns listings with specific fields. However, it does not mention any limitations, rate limits, authentication requirements, or what happens if no results are found. It does not contradict anything, but it lacks depth in behavioral disclosure beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the primary action and result. Every part is informative with no waste. It efficiently communicates the tool's purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 12 parameters and no output schema, the description provides enough context by mentioning the return fields (prices, mileage, deal ratings, links). It does not explain ordering, pagination, or error handling, but the schema covers parameter semantics. Given the tool's complexity, it is reasonably complete, though slightly more detail on result behavior would justify a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with descriptions for every parameter. The tool description does not add additional parameter-specific semantics beyond what the schema already states, such as the use of 'maxResults' or 'oneOwner'. Per the baseline rule, since schema coverage is high, a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search'), a specific resource ('car deals'), and names the sources (Cars.com, Autotrader, KBB) and return types (prices, mileage, deal ratings, links). It is clear and distinct, though there are no sibling tools to differentiate from. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies usage: search for car deals using the provided filters. Since no sibling tools are listed, there is no need to specify alternatives or exclusions. The context is clear, but it does not explicitly state when not to use or what alternatives exist. Given the absence of siblings, this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
search_car_deals
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as searching for car deals, making it impossible for an agent to misselect among non-existent alternatives.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'search_car_deals' follows a clear verb_noun pattern, and there are no other tools to create inconsistency or mixed conventions.
A single tool is too few for a server named 'Car Deals Search MCP Server', which implies a broader domain of car deal operations. While search is a core function, the lack of tools for filtering, sorting, or managing deals (e.g., save, compare) makes the set feel thin and incomplete for the apparent scope.
The tool set is severely incomplete for the domain of car deals search. It only provides a basic search function, with obvious gaps such as no tools for refining searches (e.g., by price, mileage), viewing deal details beyond listings, or interacting with deals (e.g., saving favorites). This will likely cause agent failures when more complex tasks are required.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search used car inventory, check NHTSA recalls, decode VINs, and manage automated search scouts.
Search live US dealership inventory, get market prices, and send buyer inquiries. Free, no API key.
AI-native used car marketplace. 145K+ vehicles, 4300+ dealers, 13 US states, 20 MCP tools.
Cars.com listings, VIN lookups, and dealer inventory for car-buying assistants.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables users to search for vehicles and retrieve detailed listing information from the Turbo.az automotive marketplace. It supports advanced filtering by make, model, price, and other specifications through natural language queries.4-
- AlicenseNot gradedqualityDmaintenanceProvides comprehensive vehicle reports by aggregating data from multiple public sources to decode VINs, check recalls, and view safety ratings. It enables users to validate VINs locally and retrieve technical specifications, fuel economy, and vehicle photos without requiring API keys.5MIT
- FlicenseNot gradedqualityBmaintenanceAn MCP server for used-vehicle matching, offering tools to find matching vehicles, fetch photos, and resolve dealer URLs using Auto.dev endpoints. Currently a scaffold with stubs for search logic.-
- AlicenseNot gradedqualityBmaintenanceEnables searching multiple second-hand marketplaces simultaneously from a local command line or AI assistant, providing unified results with pricing insights while respecting each source's terms and robots.txt.MIT