@cyanheads/nhtsa-vehicle-safety-mcp-server
Vehicle safety data from NHTSA — recalls, complaints, crash ratings, investigations, VIN decoding.
7 Tools
公共托管服务器: https://nhtsa.caseyjhand.com/mcp
______________________________________________________________________
工具
查询NHTSA车辆安全数据的七种工具:
| 工具名称 | 描述 |
|---|---|
nhtsa_get_vehicle_safety | 将碰撞测试评级、召回和投诉摘要与每个部分的可用性状态相结合的综合安全概况。 |
nhtsa_search_recalls | 通过车辆或活动编号搜索召回活动,并可选择日期过滤 |
nhtsa_search_complaints | 消费者安全投诉,包括组件故障和严重程度统计。 |
nhtsa_get_safety_ratings | NCAP碰撞测试评级和ADAS功能可用性。 |
nhtsa_decode_vin | 解码品牌、型号、年份、发动机、安全设备(单个或批量最多50个)的VIN。 |
nhtsa_search_investigations | 使用缓存索引搜索NHTSA缺陷调查(PE、EA、DP、RQ)。 |
nhtsa_lookup_vehicles | 从VPIC查找有效的品牌、型号、车辆类型和制造商详细信息。 |
nhtsa_get_vehicle_safety
复合安全配置文件——当被问及车辆安全性、可靠性或购买决策时的默认工具。
- 将NCAP碰撞测试评级、召回历史和投诉摘要合并到一个响应中
- 每种车型的正面碰撞、侧面碰撞和翻车额定值
- 按部件细分的投诉,包括碰撞、火灾、受伤和死亡人数
- 退货
sectionStatus加上警告,这样上游停机就不会被误认为是清白的记录
______________________________________________________________________
nhtsa_search_recalls
按车辆或活动编号搜索召回活动。
- 按品牌/型号/年份或特定的NHTSA活动编号查找
- 可选日期范围过滤(ISO 8601)
- 包括禁止驾驶警告、车外停车警告和OTA更新可用性
______________________________________________________________________
nhtsa_decode_vin
解码车辆识别码,以获取制造和安全细节。
- 单个VIN或批量解码最多50个VIN
- 接受部分VIN——使用
*对于未知位置 - 保留稀疏的VPIC字段,而不是用空占位符填充缺失的数据
______________________________________________________________________
nhtsa_search_investigations
搜索NHTSA缺陷调查。
- 调查类型:初步评估、工程分析、缺陷申请、召回查询
- 跨主题和描述的自由文本搜索
- 第一个查询加载完整的调查索引(~10s);后续查询使用缓存索引(1h TTL)
______________________________________________________________________
nhtsa_search_complaints
搜索向NHTSA提交的消费者安全投诉。
- 部件故障,包括碰撞、火灾、受伤和死亡人数
- 可选组件过滤器(例如“发动机”、“气囊”)
- 返回最多50个按提交日期排序的最新投诉
______________________________________________________________________
nhtsa_get_safety_ratings
NCAP碰撞测试评级和ADAS功能数据。
- 正面碰撞、侧面碰撞(护栏+杆)和翻车等级
- ADAS功能:ESC、前方碰撞警告、车道偏离警告
- 接受品牌/型号/年份或后续信息
vehicleId来自早期NCAP结果 - 归档的投诉、召回和调查计数
______________________________________________________________________
nhtsa_lookup_vehicles
参考NHTSA的VPIC数据库。
- 四个操作:
makes,models,vehicle_types,manufacturer makes支持limit和offset完整VPIC目录的分页- 用于解决模糊的车辆名称或验证拼写是否正确
- 模型可以按年份过滤;制造商支持部分匹配
特性
- 声明性工具定义——每个工具一个文件,框架处理注册和验证
- 跨所有工具的统一错误处理
- 可插拔身份验证(
none,jwt,oauth) - 可交换存储后端:
in-memory,filesystem,Supabase,Cloudflare KV/R2/D1 - 带可选OpenTetry跟踪的结构化日志记录
- 从同一代码库本地运行(stdio/HTTP)
NHTSA特定:
- 使用重试逻辑和稀疏字段规范化包装五个NHTSA公共API的类型安全客户端
- 用于快速重复查询的调查索引缓存(1h TTL)
- 无需API密钥-所有NHTSA API都是公开的
入门
公共托管实例
公共实例可在以下网址获得 https://nhtsa.caseyjhand.com/mcp --无需安装。通过Streamable HTTP将任何MCP客户端指向它:
{
"mcpServers": {
"nhtsa-vehicle-safety": {
"type": "streamable-http",
"url": "https://nhtsa.caseyjhand.com/mcp"
}
}
}自托管/本地
添加到您的MCP客户端配置中(例如。, claude_desktop_config.json):
{
"mcpServers": {
"nhtsa-vehicle-safety": {
"type": "stdio",
"command": "bunx",
"args": ["@cyanheads/nhtsa-vehicle-safety-mcp-server@latest"]
}
}
}或者使用npx(不需要Bun):
{
"mcpServers": {
"nhtsa-vehicle-safety": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@cyanheads/nhtsa-vehicle-safety-mcp-server@latest"]
}
}
}或者使用Docker:
{
"mcpServers": {
"nhtsa-vehicle-safety": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/nhtsa-vehicle-safety-mcp-server:latest"]
}
}
}对于Streamable HTTP,设置传输并启动服务器:
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
# Server listens at http://localhost:3010/mcp先决条件
- Bun v1.3.2 或更高(或Node.js>=22.0.0)
安装
- 克隆存储库:
git clone https://github.com/cyanheads/nhtsa-vehicle-safety-mcp-server.git- 导航到以下目录:
cd nhtsa-vehicle-safety-mcp-server- 安装依赖项:
bun install配置
无需API密钥-所有NHTSA API都是公开的。
| 变量 | 描述 | 默认值 |
|---|---|---|
MCP_TRANSPORT_TYPE | 运输: stdio 或 http. | stdio |
MCP_HTTP_HOST | HTTP服务器主机。 | 127.0.0.1 |
MCP_HTTP_PORT | HTTP服务器端口 | 3010 |
MCP_HTTP_ENDPOINT_PATH | HTTP端点路径。 | /mcp |
MCP_AUTH_MODE | 身份验证模式: none, jwt,或 oauth. | none |
MCP_LOG_LEVEL | 日志级别(RFC 5424)。 | info |
数据源
所有数据均来自NHTSA的公共API:
- 召回API —
api.nhtsa.gov/recalls - 投诉API —
api.nhtsa.gov/complaints - 安全等级API —
api.nhtsa.gov/SafetyRatings - 调查API —
api.nhtsa.gov/investigations - API VPIC —
vpic.nhtsa.dot.gov/api/vehicles
运行服务器
本地开发
bun run dev:stdio # Dev mode with hot reload (stdio)
bun run dev:http # Dev mode with hot reload (HTTP)- 运行检查和测试:
bun run devcheck # Lints, formats, type-checks, and more
bun run test # Runs the test suite生产
bun run build
bun run start:stdio # Production stdio
bun run start:http # Production HTTP码头工人
docker build -t nhtsa-vehicle-safety-mcp-server .
docker run -p 3010:3010 nhtsa-vehicle-safety-mcp-server项目结构
| 目录 | 目的 |
|---|---|
src/index.ts | 服务器入口点-- createApp() 注册。 |
src/mcp-server/tools/definitions/ | 工具定义(*.tool.ts). |
src/services/nhtsa/ | 具有重试逻辑和现场规范的NHTSA API客户。 |
发展指南
看 CLAUDE.md 了解开发指南和架构规则。简短版本:
- 处理程序抛出,框架捕获——否
try/catch工具逻辑 - 使用
ctx.log用于日志记录 - 每个文件一个工具,
nhtsa_所有工具名称的前缀
贡献
欢迎问题和拉取请求。提交前运行检查:
bun run devcheck
bun run test许可证
Apache-2.0--参见 许可证 了解详情。
