Skip to main content
Glama
cyanheads

nhtsa-vehicle-safety-mcp-server

by cyanheads

Version License Docker MCP SDK npm TypeScript Bun

Install in Claude Desktop Install in Cursor Install in VS Code

Framework

Public Hosted Server: https://nhtsa.caseyjhand.com/mcp


Tools

Seven tools for querying NHTSA vehicle safety data:

Tool Name

Description

nhtsa_get_vehicle_safety

Comprehensive safety profile combining crash test ratings, recalls, and complaint summary with per-section availability status.

nhtsa_search_recalls

Search recall campaigns by vehicle or campaign number with optional date filtering.

nhtsa_search_complaints

Consumer safety complaints with component breakdown and severity stats.

nhtsa_get_safety_ratings

NCAP crash test ratings and ADAS feature availability.

nhtsa_decode_vin

Decode VINs for make, model, year, engine, safety equipment (single or batch up to 50).

nhtsa_search_investigations

Search NHTSA defect investigations (PE, EA, DP, RQ, AQ, and more) with cached index.

nhtsa_lookup_vehicles

Look up valid makes, models, vehicle types, and manufacturer details from VPIC.

nhtsa_get_vehicle_safety

Composite safety profile — the default tool when asked about vehicle safety, reliability, or purchase decisions.

  • Combines NCAP crash test ratings, recall history, and complaint summary in a single response

  • Frontal crash, side crash, and rollover ratings per vehicle variant

  • Recall consequence text plus the do-not-drive, park-outside, and over-the-air-update advisories

  • Complaint breakdown by component with crash, fire, injury, and death counts

  • Returns sectionStatus plus warnings so upstream outages are not mistaken for a clean record


nhtsa_search_recalls

Search recall campaigns by vehicle or campaign number.

  • Look up by make/model/year or by specific NHTSA campaign number

  • Campaign lookups return every make/model the campaign covers, plus the ODI investigation that preceded it

  • Optional date range filtering (ISO 8601)

  • Includes do-not-drive advisories, park-outside warnings, and OTA update availability


nhtsa_decode_vin

Decode Vehicle Identification Numbers for manufacturing and safety details.

  • Single VIN or batch decode up to 50 VINs

  • Partial VINs accepted — use * for unknown positions

  • Preserves sparse VPIC fields instead of filling missing data with empty placeholders


nhtsa_search_investigations

Search NHTSA defect investigations.

  • Investigation types: Preliminary Evaluations (PE), Engineering Analyses (EA), Defect Petitions (DP), Recall Queries (RQ), Audit Queries (AQ), and additional ODI codes (SQ, EQ, RP, and others)

  • Free-text search across investigation IDs, subjects, and summaries, plus structured make, model, and component filters

  • nhtsaId fetches one investigation by its exact ID — the reverse of the recall link, closing the campaign-to-investigation round trip

  • Sourced from NHTSA's ODI bulk file (FLAT_INV.zip) — the first query downloads and parses it (~10s), subsequent queries use the cached index (24h TTL, matching the file's daily refresh)

  • Returns up to 25 investigations per page; the response echoes offset/limit and the offset for the next page


nhtsa_search_complaints

Search consumer safety complaints filed with NHTSA.

  • Component breakdown with crash, fire, injury, and death counts

  • Optional component filter (e.g., "ENGINE", "AIR BAGS")

  • Returns up to 50 most recent complaints sorted by filing date

  • An incident date the complaint's own filing date or model year rules out is disclosed as unreliableIncidentDate rather than served as the incident date


nhtsa_get_safety_ratings

NCAP crash test ratings and ADAS feature data.

  • Frontal crash, side crash (barrier + pole), and rollover ratings

  • ADAS features: ESC, forward collision warning, lane departure warning

  • Accepts either make/model/year or a follow-up vehicleId from earlier NCAP results

  • Counts of complaints, recalls, and investigations on file


nhtsa_lookup_vehicles

Reference lookups against NHTSA's VPIC database.

  • Four operations: makes, models, vehicle_types, manufacturer

  • makes supports limit and offset pagination for the full VPIC catalog

  • Use to resolve ambiguous vehicle names or verify correct spelling

  • Models can be filtered by year; manufacturers support partial match

  • manufacturer pages VPIC up to a 500-record ceiling and discloses when a broad partial name hits it

Related MCP server: vehicle-safety

Features

Built on @cyanheads/mcp-ts-core:

  • Declarative tool definitions — single file per tool, framework handles registration and validation

  • Unified error handling across all tools

  • Pluggable auth (none, jwt, oauth)

  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1

  • Structured logging with optional OpenTelemetry tracing

  • Runs locally (stdio/HTTP) from the same codebase

NHTSA-specific:

  • Type-safe client wrapping four NHTSA JSON APIs with retry logic and sparse-field normalization, plus a streaming parser for the ODI investigations bulk file

  • Investigation index caching (24h TTL) for fast repeated queries

  • No API key required — all NHTSA APIs are public

Getting started

Public Hosted Instance

A public instance is available at https://nhtsa.caseyjhand.com/mcp — no installation required. Point any MCP client at it via Streamable HTTP:

{
  "mcpServers": {
    "nhtsa-vehicle-safety-mcp-server": {
      "type": "streamable-http",
      "url": "https://nhtsa.caseyjhand.com/mcp"
    }
  }
}

Self-Hosted / Local

Add the following to your MCP client configuration file:

{
  "mcpServers": {
    "nhtsa-vehicle-safety-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@cyanheads/nhtsa-vehicle-safety-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Or with npx (no Bun required):

{
  "mcpServers": {
    "nhtsa-vehicle-safety-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@cyanheads/nhtsa-vehicle-safety-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Or with Docker:

{
  "mcpServers": {
    "nhtsa-vehicle-safety-mcp-server": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/nhtsa-vehicle-safety-mcp-server:latest"]
    }
  }
}

For Streamable HTTP, set the transport and start the server:

MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
# Server listens at http://localhost:3010/mcp

Prerequisites

Installation

  1. Clone the repository:

git clone https://github.com/cyanheads/nhtsa-vehicle-safety-mcp-server.git
  1. Navigate into the directory:

cd nhtsa-vehicle-safety-mcp-server
  1. Install dependencies:

bun install

Configuration

No API keys required — all NHTSA APIs are public.

Variable

Description

Default

MCP_TRANSPORT_TYPE

Transport: stdio or http.

stdio

MCP_HTTP_HOST

HTTP server host.

127.0.0.1

MCP_HTTP_PORT

HTTP server port.

3010

MCP_HTTP_ENDPOINT_PATH

HTTP endpoint path.

/mcp

MCP_AUTH_MODE

Auth mode: none, jwt, or oauth.

none

MCP_LOG_LEVEL

Log level (RFC 5424).

info

Data sources

All data comes from NHTSA's public APIs and bulk files:

  • Recalls APIapi.nhtsa.gov/recalls

  • Complaints APIapi.nhtsa.gov/complaints

  • Safety Ratings APIapi.nhtsa.gov/SafetyRatings

  • Investigations bulk filestatic.nhtsa.gov/odi/ffdd/inv/FLAT_INV.zip

  • VPIC APIvpic.nhtsa.dot.gov/api/vehicles

Running the server

Local development

bun run devcheck  # Lints, formats, type-checks, and more
bun run test      # Runs the test suite

Production

bun run build
bun run start:stdio   # Production stdio
bun run start:http    # Production HTTP

Docker

docker build -t nhtsa-vehicle-safety-mcp-server .
docker run -p 3010:3010 nhtsa-vehicle-safety-mcp-server

Project structure

Directory

Purpose

src/index.ts

Server entry point — createApp() registration.

src/mcp-server/tools/definitions/

Tool definitions (*.tool.ts).

src/services/nhtsa/

NHTSA API client and ODI bulk-file parser with field normalization.

Development guide

See CLAUDE.md for development guidelines and architectural rules. The short version:

  • Handlers throw, framework catches — no try/catch in tool logic

  • Use ctx.log for logging

  • One tool per file, nhtsa_ prefix for all tool names

Contributing

Issues and pull requests are welcome. Run checks before submitting:

bun run devcheck
bun run test

License

Apache-2.0 — see LICENSE for details.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
2dResponse time
1wRelease cycle
13Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyanheads/nhtsa-vehicle-safety-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server