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/mcp

Integration with ChatGPT

The simplest way to use Old Cars Data with ChatGPT is through its native MCP app integration.

  1. Open Settings in ChatGPT
  2. Go to Apps (formerly Connectors)
  3. Select Add custom app
  4. Enter the MCP server URL: https://api.oldcarsdata.com/mcp
  5. Add the authorization header with your API key
  6. Click Add to complete setup

Using in Conversations

Once configured, enable Old Cars Data in any conversation:

  1. Click the + button in the chat input
  2. Select the Old Cars Data app
  3. 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)

  1. Navigate to Settings > Connectors in Claude
  2. Select Add custom connector
  3. Enter the MCP server URL: https://api.oldcarsdata.com/mcp
  4. 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):

  1. Navigate to Admin settings > Connectors
  2. Select Add custom connector
  3. Enter the MCP server URL: https://api.oldcarsdata.com/mcp
  4. Click Add to make the connector available to team members

Member Connection (After Admin Setup):

  1. Go to Settings > Connectors
  2. Find the Old Cars Data connector (marked with "Custom" label)
  3. Click Connect to enable it

Using Connectors in Conversations

Once configured, enable the connector in any conversation:

  1. Click the + button in the lower left of the chat interface
  2. Select Connectors
  3. 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.

  1. Sign in or create an account
  2. Subscribe to a plan
  3. Generate an API key in your profile

Claude Code

Run this command in your terminal:

bash
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):

Install in Cursor

Or add manually in Settings > MCP:

json
{
  "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:

json
{
  "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

ToolDescription
list_makesList all vehicle makes in the database
list_modelsList all models for a given make
search_auctionsSearch auction results with filters for make, model, year, price, status, and more
get_price_statsGet 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.

ParameterTypeRequiredDescription
makestringYesVehicle make (e.g. "Porsche", "BMW")

search_auctions

Search auction results for vehicles. Returns listings with prices, status, specs, and details.

ParameterTypeRequiredDescription
makestringYesVehicle make (e.g. "Porsche", "BMW")
modelstringNoVehicle model (e.g. "911", "M3")
year_minintegerNoMinimum model year
year_maxintegerNoMaximum model year
price_minintegerNoMinimum sale price in USD
price_maxintegerNoMaximum sale price in USD
statusenumNoAuction outcome: "sold", "bid to", "reserve not met", "canceled"
keywordstringNoSearch in title and description
sortenumNoSort field: "date" (default), "price", "year", "bids"
directionenumNoSort direction: "asc", "desc" (default)
pageintegerNoPage number (default: 1)
limitintegerNoResults 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.

ParameterTypeRequiredDescription
makestringYesVehicle make (e.g. "Porsche", "BMW")
modelstringNoVehicle model (e.g. "911", "M3")
year_minintegerNoMinimum model year
year_maxintegerNoMaximum model year

Paid Plan Required: get_price_stats is 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:

PlanAuction ResultsStats Access
StarterLimited to 20 resultsNot available
1kFull accessFull access
10kFull accessFull 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.