mcp-car-shopping
Click on "Deploy 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., "@mcp-car-shoppingsearch CarMax and Carvana for a Toyota Camry under $30k near 90210"
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.
@jtgregoire93/mcp-car-shopping
MCP server connector for CarMax and Carvana. Automates their flows with Playwright, driving your local Google Chrome or a Browserbase remote browser.
For CarGurus, use CarGurus' official connector instead (claude.ai → Settings → Connectors → CarGurus). See CarGurus' setup guide.
Tools
Tool | Description |
| Search CarMax and Carvana at once with the same filters |
| Search CarMax inventory by make, model, year, price, and ZIP code |
| Get full details (price, VIN, specs, history highlights, store, photos) for a CarMax vehicle |
| Schedule a test drive appointment at CarMax |
| Get an instant offer for selling your car by VIN or license plate |
| Search Carvana inventory by make, model, year, price, and ZIP code |
| Get full details (price, total with tax/title, VIN, specs) for a Carvana vehicle |
| Get a Carvana sell/trade-in offer by VIN or license plate |
Related MCP server: Zipcar MCP Server
Requirements
Node.js ≥ 18
Google Chrome installed, or a Browserbase account
Setup
By default the server drives your installed Google Chrome. It opens a real Chrome window parked off-screen, because both sites block headless Chrome. It keeps its own profile at ~/.cache/mcp-car-shopping/chrome-profile so the sites' bot-check cookies carry over between runs.
Environment Variables
Variable | Effect |
| Use a Browserbase remote browser instead of local Chrome, e.g. |
| Use a different Chrome profile directory (default |
| Run local Chrome headless. Usually gets blocked by CarMax and Carvana. |
Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"car-shopping": {
"command": "npx",
"args": ["-y", "@jtgregoire93/mcp-car-shopping"]
}
}
}Add "env": { "BROWSERBASE_CDP_URL": "..." } to use Browserbase instead of local Chrome.
Claude Code:
claude mcp add car-shopping -- npx -y @jtgregoire93/mcp-car-shoppingTool Details
search_all
Runs the CarMax and Carvana searches in parallel. A site that fails is reported without failing the other.
search_all({ zip: "90210", make: "Toyota", model: "Camry", year_min: 2019, price_max: 30000, limit: 5 })Search (per site)
Both take the same filters: zip, make, model, year_min, year_max, mileage_max, price_min, price_max, limit. Make and model are applied by the site; the year, price and mileage filters are applied to the first page of results (about 48 cars on CarMax), so a narrow filter can return fewer than limit. CarMax sorts by distance from zip. Carvana ships nationwide and ignores zip.
carmax_search_inventory({ zip: "90210", make: "Toyota", model: "Camry", year_min: 2019, year_max: 2023, price_max: 30000, limit: 10 })
carvana_search_inventory({ make: "Honda", model: "Civic", price_max: 25000 })Vehicle details
Use the ID from the search results:
carmax_get_vehicle_details({ stock_number: "25123456" })
carvana_get_vehicle_details({ vehicle_id: "3012345" })Returns title, price, mileage, VIN and specs, plus site-specific info: store location, vehicle history highlights and photo URLs for CarMax; total price with estimated tax, title and registration for Carvana.
carmax_schedule_test_drive
Books a real appointment, so it only runs with confirm: true. Without it, it returns a preview.
carmax_schedule_test_drive({
stock_number: "25123456",
first_name: "Jane",
last_name: "Smith",
email: "jane@example.com",
phone: "5551234567",
preferred_date: "Saturday",
preferred_time: "afternoon",
confirm: true
})carmax_get_instant_offer / carvana_get_offer
// By VIN
carmax_get_instant_offer({ vin: "1HGCM82633A123456", mileage: 85000, zip: "90210" })
// By license plate
carvana_get_offer({ license_plate: "ABC1234", state: "CA", mileage: 85000 })Both sites identify the car from the VIN or plate, then ask style and condition questions (and an email) before showing an offer. The tool enters the VIN/plate and ZIP, waits for the lookup, and returns what the site found plus the questions it stopped at, with a link to finish on the site.
Development
npm install
npm run typecheck
npm run build # bundles src/index.ts to dist/index.js
# call tools from the command line
node scripts/call.mjs --list
node scripts/call.mjs carmax_search_inventory '{"make":"Audi","model":"A4","zip":"23452"}'How It Works
This connector uses Playwright with your local Chrome or a Browserbase remote browser session (via CDP) to automate each site. CarMax search reads the full car records CarMax embeds in its search page; everything else reads the rendered pages. No unofficial APIs — all data comes directly from CarMax.com and Carvana.com.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Automate any website: discover, run and create browser scripts that work behind logins.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Read, crawl and act on websites, signed in as the user, and turn any site into an API.
Web data extraction and browser workflows for AI assistants.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to search for vehicles, manage reservations, and access Enterprise Plus loyalty account information through headless browser automation on enterprise.com. It supports the complete car rental workflow including vehicle searching, booking, modifications, and points balance checks.73 npmMIT
- AlicenseAqualityDmaintenanceEnables users to automate Zipcar car sharing tasks such as searching for available vehicles, managing reservations, and ending trips using stealth browser automation. It provides a standardized interface for interacting with Zipcar's services through natural language and the Model Context Protocol.61 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides 25 interactive automotive intelligence tools for real-time market data, including VIN decoding, price predictions, and inventory analytics. It enables AI assistants to perform car searches, trade-in estimations, and market trend analysis using the Model Context Protocol.2-
- AlicenseAqualityBmaintenanceEnables AI assistants to search and retrieve used and new car listings from carsales.com.au, with support for various filters and detailed listing information including images. It uses a real browser to bypass bot protection and integrates with MCP-compatible clients like Claude Desktop and Claude Code.192MIT