{
  "markdown": "# carvector-mcp\n\n**Give your AI agent real vehicle data.** An [MCP](https://modelcontextprotocol.io) server that lets Claude, Cursor, ChatGPT, or any MCP-capable client query the [CarVector](https://carvector.io) API natively — vehicle specs, representative images, federal recalls, owner complaints, service bulletins, defect investigations, and OBD-II diagnostic trouble codes.\n\nModels hallucinate car data. They invent horsepower numbers, miss recalls filed last week, and guess at what a trouble code means. `carvector-mcp` gives your agent **structured, sourced answers it can cite** instead of a confident guess.\n\n```\nnpx -y carvector-mcp --key cv_your_key\n```\n\n[![npm](https://img.shields.io/npm/v/carvector-mcp)](https://www.npmjs.com/package/carvector-mcp) · MIT · Free tier, no card → [carvector.io](https://carvector.io)\n\n---\n\n## Quickstart\n\n**1. Get a free API key** at [carvector.io](https://carvector.io) — 500 requests a month, no credit card.\n\n**2. Add it to your MCP client.** Most clients use an `mcpServers` block:\n\n```json\n{\n  \"mcpServers\": {\n    \"carvector\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"carvector-mcp\"],\n      \"env\": { \"CARVECTOR_API_KEY\": \"cv_your_key\" }\n    }\n  }\n}\n```\n\nThat's it. Restart your client and ask it about a vehicle.\n\n> **Prefer a remote server?** If your client supports HTTP MCP, skip the install and point it straight at the hosted endpoint:\n> ```json\n> { \"mcpServers\": { \"carvector\": {\n>     \"url\": \"https://api.carvector.io/v1/mcp\",\n>     \"headers\": { \"Authorization\": \"Bearer cv_your_key\" } } } }\n> ```\n\n---\n\n## Tools\n\n| Tool | What it returns |\n|------|-----------------|\n| `search_vehicles` | Matching vehicles by year / make / model, with ids + specs |\n| `get_vehicle` | Full specs for one vehicle — engine, drivetrain, body, image, recall count |\n| `get_recalls` | Federal recall campaigns for a vehicle — component, summary, consequence, remedy |\n| `get_complaints` | Owner-complaint signal for a vehicle — aggregate by component + the most recent complaints *(Pro plan)* |\n| `get_tsbs` | Manufacturer service-bulletin index for a vehicle — the fix the dealer already knows about *(Business plan)* |\n| `get_investigations` | Federal defect investigations for a vehicle — a leading indicator of recalls *(Business plan)* |\n| `lookup_dtc` | An OBD-II code's title, category, severity, and safety/emissions flags |\n\nThe agent chains them naturally: `search_vehicles` to resolve an id, then `get_vehicle`, `get_recalls`, `get_complaints`, `get_tsbs`, or `get_investigations`.\n\n---\n\n## Example\n\n> **You:** \"Is a P0300 code serious?\"\n\n```js\n→ carvector.lookup_dtc({ code: \"P0300\" })\n{\n  \"code\": \"P0300\",\n  \"title\": \"Random/Multiple Cylinder Misfire Detected\",\n  \"category\": \"Powertrain\",\n  \"severity\": \"High\",\n  \"safety_risk\": true,\n  \"emissions_related\": true\n}\n```\n\nYour agent answers: *\"Yes — P0300 is a high-severity, safety-related misfire code. Don't keep driving on it.\"* Sourced, not guessed.\n\n---\n\n## Three things to build with it\n\n- **A service-advisor copilot** that pulls a customer's exact trim, open recalls, the manufacturer's documented fix (TSBs), the complaint pattern behind a symptom, and a decoded check-engine code — in one turn, no tab-switching.\n- **A consumer car chatbot** that answers \"what engine does my truck have\" and \"is it under recall\" with real data instead of a hallucination.\n- **A coding/automotive agent** that needs structured vehicle knowledge as a tool, not a wall of scraped text to parse.\n\n---\n\n## About the data\n\n`carvector-mcp` is an open-source, thin client. It bundles **no data** — every call forwards to the CarVector API, authenticated with your key. What you get back:\n\n- **Vehicles** — a broad catalog (1925–2029), broken out by trim and engine variant, with representative illustrations (not photos).\n- **Recalls** — federal recall campaigns mapped to year / make / model.\n- **Complaints** — owner-filed complaints aggregated by component (with crash / fire / injury counts) plus the most recent filings, mapped to a vehicle. *(Pro plan.)*\n- **Service bulletins (TSBs)** — the manufacturer's technical service-bulletin index — metadata, not the documents. *(Business plan.)*\n- **Investigations** — federal defect investigations, a leading indicator that often precedes a recall. *(Business plan.)*\n- **DTC reference** — OBD-II codes classified by category, severity, and safety/emissions flags. *Reference only — repair-cost economics is on the roadmap, not in responses today.*\n\nCalls count against your plan's rate limit and show up in your [dashboard](https://carvector.io/dashboard), exactly like a REST request.\n\n---\n\n## Open source & your key\n\nThis client is ~150 lines of readable JavaScript — please read them. It:\n\n- talks to **one host only** — `api.carvector.io` (grep `index.js`, it's the only URL),\n- sends your key **only** as a `Bearer` header to that host, nowhere else,\n- has **zero** telemetry, analytics, or phone-home, and writes nothing to disk,\n- depends on exactly one package: the official [`@modelcontextprotocol/sdk`](https://www.npmjs.com/package/@modelcontextprotocol/sdk).\n\nYour key stays on your machine. Set it via the `CARVECTOR_API_KEY` env var (preferred); `--key` works too but, like any CLI argument, is visible in process listings.\n\n## License\n\nMIT. The client is open source; the data is served by [CarVector](https://carvector.io).\n",
  "bytes": 5386,
  "sha": "b7dea87f4bf905a772b27873b337920ec5936d721628ea45ff85a4ba13230e84",
  "repo_slug": "carvectorio/carvector-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_carvectorio_carvector_mcp_9b49bd8c/readme"
}