Vehicle data inside your AI agent

Connect CarsXE's hosted MCP server to your assistant or editor. Decode VINs and plates, retrieve vehicle records, and build workflows with named tools.

What MCP enables

Model Context Protocol gives compatible AI agents a standard way to discover and call vehicle-data tools. Use MCP when your assistant should select tools from a schema and work with the returned records. Use REST or SDKs when your application should control requests directly.

The hosted vehicle-data server is separate from the documentation-search MCP at https://docs.carsxe.com/api/docs/mcp. Documentation search retrieves guidance; vehicle tools perform lookups using your CarsXE account.

Endpoint and prerequisites

  • Endpoint: https://mcp.carsxe.com/mcp
  • Transport: Streamable HTTP
  • API-key header: X-API-Key
  • Requirements: a CarsXE account with access to the requested API and an MCP-compatible client.
  • Node.js and npm are required only for clients using the local mcp-remote bridge. Direct HTTP clients do not need a local CarsXE server.

Create an account and get your key from the developer dashboard. Replace YOUR_API_KEY in the examples. Keep credentials in your client configuration; this page does not collect API keys.

Connect with your CarsXE account

For Claude's supported remote connectors, open Settings → Connectors, add a custom connector with URL https://mcp.carsxe.com/mcp, then connect. Sign in to CarsXE and authorize access in the CarsXE window. The client receives an account-bound access token.

OAuth support depends on the client. The API-key configurations below remain available for clients that support headers. Requests use your CarsXE plan and its endpoint access. See remote connector guidance.

Set up your client

Claude Desktop

Configuration: Settings → Developer → Edit Config

Install Node.js and npm for this local bridge. Merge the entry into claude_desktop_config.json, replace the placeholder, then restart Claude Desktop. Alternatively, use the account connector described below.

{
  "mcpServers": {
    "carsxe": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://mcp.carsxe.com/mcp",
        "--header",
        "X-API-Key: YOUR_API_KEY"
      ]
    }
  }
}

Official client documentation

Cursor

Configuration: .cursor/mcp.json or ~/.cursor/mcp.json

Merge this entry, replace the placeholder, then enable CarsXE in the MCP settings and verify the tool list.

{
  "mcpServers": {
    "carsxe": {
      "url": "https://mcp.carsxe.com/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Official client documentation

VS Code

Configuration: .vscode/mcp.json

Use the servers key in mcp.json. Replace the placeholder, run MCP: List Servers and start CarsXE. Enable the compatible agent experience in GitHub Copilot.

{
  "servers": {
    "carsxe": {
      "type": "http",
      "url": "https://mcp.carsxe.com/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Official client documentation

Windsurf

Configuration: ~/.config/devin/mcp_config.json

For legacy Cascade only: open the Cascade Actions menu, choose Open MCP config file, merge this entry and replace the placeholder, then verify the CarsXE tool list. This is the macOS/Linux path; Windows uses %APPDATA%\devin\mcp_config.json. Devin Local uses Devin CLI MCP configuration instead.

{
  "mcpServers": {
    "carsxe": {
      "serverUrl": "https://mcp.carsxe.com/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Official client documentation

Claude CLI

Configuration: Terminal

Replace the placeholder before running. Start Claude Code and inspect /mcp to verify the server.

claude mcp add --transport http carsxe https://mcp.carsxe.com/mcp \
  --header "X-API-Key: YOUR_API_KEY"
claude mcp list

Official client documentation

Gemini CLI

Configuration: ~/.gemini/settings.json

Use httpUrl for Streamable HTTP. Merge the entry, replace the placeholder, restart Gemini and inspect /mcp.

{
  "mcpServers": {
    "carsxe": {
      "httpUrl": "https://mcp.carsxe.com/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Official client documentation

Kiro CLI

Configuration: ~/.kiro/settings/mcp.json

Merge the entry, replace the placeholder, then start kiro-cli and inspect /mcp.

{
  "mcpServers": {
    "carsxe": {
      "url": "https://mcp.carsxe.com/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      },
      "disabled": false
    }
  }
}

Official client documentation

Codex CLI

Configuration: ~/.codex/config.toml

Merge this TOML section, replace the placeholder, restart Codex and inspect /mcp.

[mcp_servers.carsxe]
url = "https://mcp.carsxe.com/mcp"
http_headers = { "X-API-Key" = "YOUR_API_KEY" }

Official client documentation

Documented vehicle tools

These core tools and inputs were checked against the public hosted server implementation on October 6, 2026. This is a documented core list, not an exhaustive list of every hosted tool. Your connected client's tools/list response is authoritative for its current schema.

ToolRequired inputsOptional inputsReturns
get_vehicle_specsvin (17 characters)NoneYear, make, model and vehicle specifications
decode_international_vinvin (17 characters)NoneInternational vehicle attributes
decode_license_plateplate, state (2 characters)country (default US)VIN and basic vehicle information
get_market_valuevin (17 characters)state, mileage (number), condition (excellent, clean, average or rough)Estimated retail and trade-in values
get_vehicle_historyvin (17 characters)format (default json)Available title, salvage and history records
get_vehicle_imagesmake, modelyear, trim, color, transparent, angle, photoType, size, license, formatVehicle image URLs
get_vehicle_recallsvin (17 characters)NoneAvailable recall campaigns
extract_vin_from_imageimageUrl (public image URL)NoneRecognized VIN text
read_license_plate_from_imageimageUrl (public image URL)NoneRecognized plate information
get_year_make_modelyear, make, model (strings)trimVehicle information by year, make and model
decode_obd_codecodeNoneDiagnostic trouble-code information
check_lien_and_theftvin (17 characters)NoneAvailable lien and theft records

The hosted server uses underscore names. The older local stdio package uses different names; do not copy those names into hosted calls. Selected tools return structuredContent alongside Markdown text; clients should inspect the actual response rather than assume every result is JSON.

Build a vehicle workflow

  • Plate → VIN → specifications: call decode_license_plate with the plate and region, then pass the returned VIN to get_vehicle_specs.
  • VIN → history and value: call get_vehicle_history and get_market_value; supply mileage and condition when available.
  • Image → OCR → lookup: call extract_vin_from_image or read_license_plate_from_image, validate the recognized identifier, then call the corresponding lookup.

Example prompt: “Decode VIN WBAFR7C57CC811956, summarize its specifications, and estimate its market value.” Each lookup is a separate request; your assistant controls orchestration.

Coverage and billing

MCP exposes CarsXE vehicle APIs through tools. Availability depends on the tool, region, record and your plan. Do not assume every REST endpoint is exposed by MCP, every field is returned, or every tool supports every country.

CapabilityMCP toolREST APISDK availabilityLimitations
VIN specificationsget_vehicle_specsEndpoint referenceNode.js: decodeVinReturned fields vary by VIN and market.
International VINdecode_international_vinEndpoint referenceCheck the selected language's referenceCoverage and available attributes vary by country.
Plate lookupdecode_license_plateEndpoint referenceNode.js: decodePlateCountry/state support varies; this tool requires a state.
Market valueget_market_valueEndpoint referenceNode.js: getMarketValueEstimates depend on available records, mileage and condition.
Vehicle historyget_vehicle_historyEndpoint referenceNode.js: getVehicleHistoryAn empty result is not proof that a vehicle has no past events.
Vehicle imagesget_vehicle_imagesEndpoint referenceCheck the selected language's referenceAvailability varies. License filters do not grant usage rights.
Safety recallsget_vehicle_recallsEndpoint referenceNode.js: getRecallsCoverage and repair status depend on the source record.
VIN OCRextract_vin_from_imageEndpoint referenceCheck the selected language's referenceImage quality affects recognition; validate the VIN before lookup.
Plate OCRread_license_plate_from_imageEndpoint referenceCheck the selected language's referenceRecognition and plate-to-VIN lookup are separate operations.
Year / make / modelget_year_make_modelEndpoint referenceCheck the selected language's referenceAvailable trims and attributes vary by vehicle.
OBD codesdecode_obd_codeEndpoint referenceCheck the selected language's referenceA code description alone does not diagnose a vehicle.
Lien and theftcheck_lien_and_theftEndpoint referenceCheck the selected language's referenceResults reflect available records and are not a title guarantee.

Vehicle lookups count toward your CarsXE plan's usage. Consult current pricing and the relevant endpoint reference for costs and allowances. Data freshness depends on the underlying source; a live API request does not guarantee a recently updated record.

Verify and troubleshoot

  1. Confirm your client connects and lists CarsXE tools. This verifies setup before you request a vehicle lookup.
  2. Check the listed input schema, then make a lookup using a vehicle you are authorized to query. A lookup consumes plan usage.
  3. For authentication errors, check the API key or reconnect your account, then confirm endpoint access and available usage.
  4. For connection failures, verify https://mcp.carsxe.com/mcp; bridge clients must also have Node.js/npm available.
  5. For missing tools or schema errors, refresh the tool list and compare names with the connected server.
  6. For empty records, check identifier accuracy and endpoint coverage. Do not substitute guessed data.

Canonical MCP documentation · API status · Support