MCP Server
The Model Context Protocol (MCP) lets AI tools like ChatGPT, Claude, and Cursor query Old Cars Data directly. Ask questions in plain English and get auction data, pricing stats, and market trends back — no code required.
Endpoint
https://api.oldcarsdata.com/mcpIntegration with ChatGPT
The simplest way to use Old Cars Data with ChatGPT is through its native MCP app integration.
- Open Settings in ChatGPT
- Go to Apps (formerly Connectors)
- Select Add custom app
- Enter the MCP server URL:
https://api.oldcarsdata.com/mcp - Add the authorization header with your API key
- Click Add to complete setup
Using in Conversations
Once configured, enable Old Cars Data in any conversation:
- Click the + button in the chat input
- Select the Old Cars Data app
- Ask questions about auction data in natural language
Integration with Claude
Claude supports MCP connectors natively on claude.ai, allowing direct access to Old Cars Data tools within conversations.
For Individual Users (Pro/Max Plans)
- Navigate to Settings > Connectors in Claude
- Select Add custom connector
- Enter the MCP server URL:
https://api.oldcarsdata.com/mcp - Click Add to complete setup
For Team and Enterprise Plans
Team and Enterprise plans require an admin to enable the connector first:
Admin Setup (Required First):
- Navigate to Admin settings > Connectors
- Select Add custom connector
- Enter the MCP server URL:
https://api.oldcarsdata.com/mcp - Click Add to make the connector available to team members
Member Connection (After Admin Setup):
- Go to Settings > Connectors
- Find the Old Cars Data connector (marked with "Custom" label)
- Click Connect to enable it
Using Connectors in Conversations
Once configured, enable the connector in any conversation:
- Click the + button in the lower left of the chat interface
- Select Connectors
- Enable the Old Cars Data connector for that conversation
Developer Integrations
For Claude Code, Cursor, and other MCP clients, you'll need an API key.
Authentication
Uses the same API key as the REST API. Pass it as a Bearer token in headers.
- Sign in or create an account
- Subscribe to a plan
- Generate an API key in your profile
Claude Code
Run this command in your terminal:
claude mcp add --transport http oldcarsdata https://api.oldcarsdata.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"Use --scope user to make it available across all your projects, or --scope project to share with your team via .mcp.json (see Team Sharing below).
Cursor
One-click install (you'll need to replace YOUR_API_KEY in Settings > MCP after installing):
Or add manually in Settings > MCP:
{
"mcpServers": {
"oldcarsdata": {
"type": "url",
"url": "https://api.oldcarsdata.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Windsurf
Add the same JSON configuration above to your Windsurf MCP settings (Windsurf Settings > MCP).
Other MCP Clients
Any client that supports the Streamable HTTP transport can connect. Point it at https://api.oldcarsdata.com/mcp and include the Authorization: Bearer YOUR_API_KEY header.
Team Sharing
To share the MCP configuration with your team, add a .mcp.json file to your project root. Both Claude Code (--scope project) and Cursor support this format. Use environment variables so each team member can use their own API key:
{
"mcpServers": {
"oldcarsdata": {
"type": "http",
"url": "https://api.oldcarsdata.com/mcp",
"headers": {
"Authorization": "Bearer ${OCD_API_KEY}"
}
}
}
}Each team member sets OCD_API_KEY in their environment. Commit .mcp.json to version control -- it contains no secrets.
Available Tools
| Tool | Description |
|---|---|
list_makes | List all vehicle makes in the database |
list_models | List all models for a given make |
search_auctions | Search auction results with filters for make, model, year, price, status, and more |
get_price_stats | Get pricing statistics and 12-month market trends for a make/model |
Tool Reference
list_makes
List all vehicle makes available in the database. No parameters required.
list_models
List all models for a given vehicle make.
| Parameter | Type | Required | Description |
|---|---|---|---|
make | string | Yes | Vehicle make (e.g. "Porsche", "BMW") |
search_auctions
Search auction results for vehicles. Returns listings with prices, status, specs, and details.
| Parameter | Type | Required | Description |
|---|---|---|---|
make | string | Yes | Vehicle make (e.g. "Porsche", "BMW") |
model | string | No | Vehicle model (e.g. "911", "M3") |
year_min | integer | No | Minimum model year |
year_max | integer | No | Maximum model year |
price_min | integer | No | Minimum sale price in USD |
price_max | integer | No | Maximum sale price in USD |
status | enum | No | Auction outcome: "sold", "bid to", "reserve not met", "canceled" |
keyword | string | No | Search in title and description |
sort | enum | No | Sort field: "date" (default), "price", "year", "bids" |
direction | enum | No | Sort direction: "asc", "desc" (default) |
page | integer | No | Page number (default: 1) |
limit | integer | No | Results per page, max 50 (default: 20) |
get_price_stats
Get pricing statistics and market trends for a vehicle make/model. Includes average, median, low/high prices, sell-through rate, and 12-month price trends.
| Parameter | Type | Required | Description |
|---|---|---|---|
make | string | Yes | Vehicle make (e.g. "Porsche", "BMW") |
model | string | No | Vehicle model (e.g. "911", "M3") |
year_min | integer | No | Minimum model year |
year_max | integer | No | Maximum model year |
Paid Plan Required:
get_price_statsis not available on the Starter plan. Upgrade to access pricing statistics.
Plan Limits
The same plan limits that apply to the REST API apply to MCP tools:
| Plan | Auction Results | Stats Access |
|---|---|---|
| Starter | Limited to 20 results | Not available |
| 1k | Full access | Full access |
| 10k | Full access | Full access |
Rate limits are shared across REST API and MCP usage.
Example Queries
Once connected, ask questions in natural language. Here are some examples:
"What Porsche 911s have sold recently?"
Calls search_auctions with make: "Porsche", model: "911", status: "sold" and returns recent sold listings with prices.
"What's the average price of a Toyota Land Cruiser?"
Calls get_price_stats with make: "Toyota", model: "Land Cruiser" and returns average, median, and price range.
"Show me BMW M3s under $50,000 from the last few years"
Calls search_auctions with make: "BMW", model: "M3", price_max: 50000, year_min: 2020 and returns matching listings.
"What car brands do you have data for?"
Calls list_makes and returns the full list of available makes.