vehicle-safety
This server connects Claude to the US National Highway Traffic Safety Administration (NHTSA) public APIs, enabling real-time vehicle safety lookups with no API key required.
Decode a VIN: Translate a 17-character VIN into detailed vehicle information including make, model, year, engine specs, manufacturing plant, and safety equipment.
Get Recalls by Make/Model/Year: Retrieve NHTSA safety recall campaigns, including defect descriptions, potential consequences, and remedies.
Check Recalls via VIN: Combine VIN decoding and recall lookup in a single step — ideal for answering "does my car have any recalls?"
Get NCAP Crash-Test Ratings: Fetch official star ratings (overall, frontal, side, rollover) per body-style variant for a given make/model/year.
Browse Consumer Complaints: Retrieve owner-reported problems filed with NHTSA, grouped by component, with recent narratives — useful for spotting common defects and reliability issues.
Responses are trimmed and curated from noisy NHTSA data for LLM consumption, with built-in retries, timeouts, and structured error handling for reliability.
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., "@vehicle-safety Check for recalls on my 2018 Toyota Camry"
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.
vehicle-safety-mcp
An MCP server that connects Claude to NHTSA vehicle safety data — VIN decoding, safety recalls, NCAP crash-test ratings, and consumer complaints. Ask Claude "does my car have any recalls?" and get a real answer from the US government's own data.
Built on the free NHTSA public APIs — no API key required.
Why
Vehicle safety data is public but painful: it lives across several government APIs, each response carries 100+ mostly-empty fields, and safety ratings require a two-step lookup nobody remembers. This server does the plumbing so the conversation stays natural:
You: Is a 2020 Honda Civic safe? Anything I should know before buying one?
Claude: (calls
get_safety_ratings+get_recalls+get_complaints) The 2020 Civic earned a 5-star overall NCAP rating… it has a handful of recall campaigns worth knowing about… and the component owners complain about most is…
Related MCP server: nhtsa-vehicle-safety-mcp-server
Tools
Tool | What it does |
| VIN → make, model, year, engine, plant, safety equipment |
| VIN → decoded vehicle + its recall campaigns, in one step |
| Recall campaigns for a make/model/year (defect, consequence, remedy) |
| NCAP crash-test star ratings per body-style variant |
| Consumer complaints, grouped by component, with recent narratives |
Responses are deliberately trimmed for LLM consumption — raw NHTSA payloads are noisy, so the server keeps the fields that change an answer and drops the rest. Less context burned, better answers.
Quickstart
Requires uv (it manages Python ≥3.11 for you).
git clone https://github.com/basit-khan-abdul/vehicle-safety-mcp.git
cd vehicle-safety-mcp
uv syncClaude Code
claude mcp add vehicle-safety -- uv run --directory /path/to/vehicle-safety-mcp vehicle-safety-mcpClaude Desktop
Add to claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"vehicle-safety": {
"command": "uv",
"args": ["run", "--directory", "/path/to/vehicle-safety-mcp", "vehicle-safety-mcp"]
}
}
}Restart Claude Desktop; the tools appear under the 🔌 icon.
Try asking
"Decode this VIN: 5UXWX7C5BA"*
"Does the 2020 Honda Civic have any recalls?"
"Compare crash-test ratings of a 2021 Toyota RAV4 and a 2021 Honda CR-V"
"What do owners complain about most on the 2019 Ford F-150?"
Reliability
Every NHTSA call runs with explicit connect and read timeouts and retries only transient failures — 5xx responses and connection/timeout errors — up to 3 attempts with exponential backoff and full jitter; client errors (4xx) fail fast and are never retried. When the upstream is genuinely unreachable, tools return a structured {"error", "detail", "available": false} payload the model can relay honestly, never a raw traceback into the MCP layer. Timeouts, attempt count, and backoff are all environment-tunable (see Tuning). And because the NHTSA APIs are the real contract, a weekly scheduled job runs live smoke tests against them and opens a GitHub issue the moment a field or response shape drifts — so breakage surfaces before users do.
Tests
Two suites, split by what they prove:
Unit (
tests/unit/) — mocked, deterministic, offline. Run on every push/PR across Python 3.11 and 3.12 (CI).Live (
tests/live/) — real NHTSA API smoke tests. The upstream contract is the product, so a weekly scheduled job (contract-drift) re-runs them and opens an issue if the API drifts — instead of making every push depend on a third-party API.
uv run --extra dev pytest tests/unit # fast, offline — what CI runs on push
uv run --extra dev pytest tests/live # hits the real NHTSA APIs
uv run --extra dev pytest -m "not live" # everything except liveDesign notes
Trimmed responses over raw passthrough. Each NHTSA record is filtered to a curated field list (
nhtsa.py). An LLM doesn't need 140 vPIC fields to say "it's a BMW X3".Composite tool for the common question.
check_vin_recallschains decode → recall lookup because "does my car have recalls?" is the question real people ask — one tool call instead of two round trips.Bounded output everywhere. Ratings capped at 5 variants, complaint narratives truncated at 400 chars, complaint list limited — tool output that scrolls forever helps nobody.
Resilient by default. Every NHTSA call has explicit connect/read timeouts and retries transient failures (5xx, connection errors, timeouts) up to 3 attempts with jittered backoff — but never retries a 4xx. When the upstream is genuinely down, tools return a structured
{"error": …, "available": false}payload the model can relay honestly ("NHTSA data is currently unreachable; try again later") instead of surfacing a raw traceback.
Tuning
The HTTP behaviour is env-configurable (sensible defaults shown):
Variable | Default | Meaning |
|
| Connection timeout (seconds) |
|
| Response read timeout (seconds) |
|
| Total attempts per request (1 = no retry) |
|
| Base backoff (seconds) before jitter |
|
| Max backoff for any single retry (seconds) |
MCP registries
Built to the Model Context Protocol spec and installable from source (see Quickstart). Browse or publish MCP servers via the community registries:
Data source & disclaimer
Data comes from the US National Highway Traffic Safety Administration public APIs and covers vehicles sold in the United States. This project is not affiliated with or endorsed by NHTSA. Always verify safety-critical information with official sources.
License
MIT © Basit Khan
Available Tools
5 toolscheck_vin_recallsA
Decode a VIN and look up recalls for that exact vehicle in one step.
Call this when the user gives a VIN and asks "does my car have any recalls?" — it chains VIN decoding into a recall search automatically.
Inputs: vin (required). Returns: object
decode_vinA
Decode a VIN into vehicle details (make, model, year, engine, plant, safety equipment).
Call this when the user provides a VIN (17 characters, or a partial VIN) and wants to know what vehicle it is. Passing model_year improves accuracy for pre-2001 VINs.
Inputs: vin (required), model_year. Returns: object
get_complaintsA
Get consumer complaints filed with NHTSA for a vehicle, grouped by component.
Call this when the user asks about known problems, reliability issues, or owner-reported defects. Returns totals per component plus the most recent complaint narratives (truncated). Increase limit for more narratives.
Inputs: make (required), model (required), model_year (required), limit. Returns: object
get_recallsA
Get NHTSA safety recall campaigns for a vehicle make/model/year.
Call this when the user asks whether a vehicle has recalls, what a recall covers, or how a defect is remedied. Example: make="Honda", model="Civic", model_year=2020.
Inputs: make (required), model (required), model_year (required). Returns: object
get_safety_ratingsA
Get NCAP crash-test star ratings (overall, frontal, side, rollover) for a vehicle.
Call this when the user asks how safe a vehicle is or how it scored in crash tests. Returns ratings per body-style variant.
Inputs: make (required), model (required), model_year (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a distinct aspect of vehicle safety: VIN decoding, recalls (via two methods that are clearly differentiated), complaints, and safety ratings. No overlap in purpose.
All tools follow a consistent verb_noun pattern (check_, decode_, get_complaints, get_recalls, get_safety_ratings) with clear, descriptive names.
5 tools is well-scoped for the vehicle safety domain, covering key information queries without unnecessary complexity.
The tool surface covers VIN decoding, recalls, complaints, and safety ratings. Minor gap: includes a combined decode+recall tool but no separate tool for service bulletins or NHTSA investigations.
Maintenance
Related MCP Connectors
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
1Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Teamfight Tactics data & AI coaching for Claude and ChatGPT — 19 tools, built-in Riot key.
GA4, Google Ads and Search Console in Claude. Read-only OAuth, multi-account for agencies.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceEnables AI assistants to decode VINs, check stolen vehicle databases, and retrieve market valuations through natural language.2-- AlicenseNot gradedqualityBmaintenanceEnables natural-language querying of NHTSA vehicle safety data, including VIN decoding, recall searches, consumer complaints, crash-test ratings, and defect investigations via MCP.330 npm3Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables querying U.S. vehicle safety and specification data, including VIN decoding, recalls, complaints, investigations, and crash test ratings.335 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to look up US vehicle-safety data read-only — decoding VINs, and retrieving recalls, owner complaints, and 5-Star NCAP safety ratings by make, model, and year through NHTSA's public APIs.MIT