RDW MCP

RDW MCP

🚀 RDW MCP Server

RDW MCP Server 是一个模型上下文协议(MCP)服务器,用于查询荷兰 RDW(Rijksdienst voor het Wegverkeer)的车辆注册数据。该服务器借助官方 RDW 开放数据 API,提供了查询车辆信息、燃油/排放数据,以及按品牌和型号搜索车辆的工具。

🚀 快速开始

选择你喜欢的方式:

  • 全局安装(推荐):npm install -g rdw-mcp-serverrdw-mcp
  • 使用 NPX(无需安装):npx rdw-mcp-server
  • 本地开发:克隆仓库 → npm installnpm run buildnode build/index.js

测试安装:

rdw-mcp        # 若为全局安装
# 或者
npx rdw-mcp-server  # 若使用 npx

(按 Ctrl+C 停止)

添加到 Claude Desktop(见下面的配置部分)

开始提问,例如:

  • "查询车牌号 12 - ABC - 3"
  • "展示宝马车辆"

✨ 主要特性

  • 完整的车牌号查询:通过荷兰车牌号(kenteken)从 RDW 数据库获取所有可用的车辆信息。
  • 全面的车辆数据:包括基本规格、技术细节、重量、尺寸和注册信息。
  • 集成燃油与排放数据:详细的燃油类型、排放、环境规格和噪音水平。
  • APK 检查历史:完整的 APK(MOT)检查记录和到期日期。
  • 安全与召回信息:车辆召回信息和安全行动通知。
  • 注册历史:完整的所有权和注册变更历史。
  • 技术规格:轴载荷、车身类型和详细的技术数据。
  • 缺陷记录:已知的技术缺陷和检查结果。
  • 实时数据:从所有官方 RDW 数据库访问最新信息。
  • 增强的数据覆盖:一次查询可获取 8 个以上不同 RDW 数据集的数据。

📦 安装指南

全局安装(推荐用于 CLI 使用)

npm install -g rdw-mcp-server

全局安装后,你可以直接运行服务器:

rdw-mcp

使用 NPX(无需安装直接运行)

npx rdw-mcp-server

这将直接运行该包,而无需全局安装。

从源代码安装(本地开发)

git clone https://github.com/yourusername/rdw-mcp-server.git
cd rdw-mcp-server
npm install
npm run build
node build/index.js

💻 使用示例

作为全局命令使用

全局安装后,启动 MCP 服务器:

标准输入输出模式(默认):

rdw-mcp

HTTP 模式:

rdw-mcp --http          # 在端口 3000 运行
rdw-mcp --http --port=8080  # 自定义端口

服务器支持标准输入输出和 HTTP 两种传输方式:

  • 标准输入输出:用于直接的命令行和 Claude Desktop 集成。
  • HTTP:用于远程访问、Web 集成和可扩展部署。

HTTP 传输特性

当以 HTTP 模式(--http)运行时,服务器提供以下功能:

  • MCP 端点POST /mcp - 主要的 MCP 协议端点。
  • 健康检查GET /health - 服务器状态和版本信息。
  • CORS 支持:为 Web 集成启用跨域请求。
  • 无状态设计:无会话管理,非常适合扩展。
  • 错误处理:适当的 HTTP 状态码和 JSON - RPC 错误响应。

HTTP 使用示例:

# 启动 HTTP 服务器
rdw-mcp --http --port=3000

# 健康检查
curl http://localhost:3000/health

# MCP 请求(需要正确的 JSON - RPC 格式)
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

在 MCP 客户端配置中使用

将以下内容添加到你的 MCP 客户端配置(例如 Claude Desktop)中:

使用全局安装(推荐):

{
"servers": {
"rdw": {
"command": "rdw-mcp"
}
}
}

使用 NPX(替代方案):

{
"servers": {
"rdw": {
"command": "npx",
"args": ["rdw-mcp-server"]
}
}
}

本地开发模式

从源代码进行本地开发:

git clone https://github.com/yourusername/rdw-mcp-server.git
cd rdw-mcp-server
npm install
npm run build
node build/index.js

开发模式

使用自动重建进行开发:

npm run dev

可用工具

rdw-license-plate-lookup

通过荷兰车牌号从 RDW 数据库中查询所有可用的车辆信息。

参数:

  • kenteken(字符串):要查询的荷兰车牌号。

返回:

  • 来自所有 RDW 数据库的完整车辆信息,包括:
    • 基本详情:品牌、型号、颜色、类型、变体、版本。
    • 技术规格:发动机、功率、尺寸、气缸数、排量。
    • 重量与容量:空载重量、整备重量、牵引能力、轴载荷。
    • 注册数据:首次注册日期、所有权历史、型式认证。
    • 检查记录:APK 到期日期、检查历史、技术缺陷。
    • 燃油与排放:燃油类型、排放水平、CO2 等级、噪音水平。
    • 安全信息:召回通知、安全行动、未解决的召回。
    • 车身规格:车身类型、欧洲分类。
    • 财务数据:目录价格、BPM 税信息。
    • 状态指标:出口状态、出租车指标、保险状态。

示例:查询车牌号 "12 - ABC - 3" 的完整 RDW 数据库信息。

📚 详细文档

要求

  • Node.js:版本 18.0.0 或更高。
  • npm:版本 8.0.0 或更高(随 Node.js 附带)。
  • 互联网连接:访问 RDW API 必需。

Claude Desktop 配置

要在 Claude Desktop 中使用此 MCP 服务器,请将以下内容添加到你的 claude_desktop_config.json 中:

使用全局安装(推荐)

如果你使用 npm install -g rdw-mcp-server 进行了全局安装:

{
"mcpServers": {
"rdw": {
"command": "rdw-mcp"
}
}
}

使用 NPX(替代方案)

如果你不想进行全局安装:

{
"mcpServers": {
"rdw": {
"command": "npx",
"args": ["rdw-mcp-server"]
}
}
}

仅用于开发模式

对于使用本地源代码进行开发:

Windows
{
"mcpServers": {
"rdw": {
"command": "node",
"args": ["C:\\ABSOLUTE\\PATH\\TO\\rdw-mcp\\build\\index.js"]
}
}
}
macOS/Linux
{
"mcpServers": {
"rdw": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/rdw-mcp/build/index.js"]
}
}
}

数据来源

该服务器使用了所有主要的官方 RDW(荷兰车辆管理局)开放数据 API:

  • 基础 APIhttps://opendata.rdw.nl/resource/
  • 车辆注册:数据集 m9d7-ebf2 - 基本车辆信息和规格。
  • 燃油与排放:数据集 8ys7-d773 - 燃油类型、排放和环境数据。
  • APK 检查:数据集 2wi1-7t2k - APK(MOT)检查历史和到期日期。
  • 召回与安全:数据集 j3wq-qf4v - 车辆召回和安全行动通知。
  • 轴规格:数据集 3huj-srit - 技术轴载荷规格。
  • 车身类型:数据集 vezc-m2t6 - 车身和车身类型分类。
  • 车辆颜色:数据集 t8be-g8yr - 额外的颜色信息。
  • 技术缺陷:数据集 hx2c-gt41 - 已知缺陷和检查结果。 所有数据均从官方政府来源实时获取,并且是公开可用的。

隐私与数据使用

  • 无数据存储:该服务器不会在本地存储任何车辆数据。
  • 实时查询:所有请求都直接转发到 RDW API。
  • 仅访问公开数据:仅访问公开可用的注册数据。
  • 无需身份验证:不需要或处理任何个人或敏感数据。

速率限制

RDW API 可能会实施速率限制。如果你遇到速率限制:

  • 请求之间等待几秒钟。
  • 避免连续快速进行批量请求。
  • 考虑在你的应用程序逻辑中实现延迟。

示例查询

连接到像 Claude Desktop 这样的 MCP 客户端后,你可以提出以下问题:

完整车辆信息

  • "查询车牌号 12 - ABC - 3"
  • "车牌号 XYZ - 123 有哪些可用信息?"
  • "告诉我车牌号为 1 - ABC - 23 的车辆信息"
  • "展示车牌号 ABC - 12 - D 的所有数据"
  • "获取车牌号 DEF - 456 的完整 RDW 信息"

特定信息请求

  • "车牌号 ABC - 12 - D 的排放数据是什么?"
  • "展示车牌号 XYZ - 456 的 APK 历史记录"
  • "车牌号 12 - ABC - 3 的车辆有召回信息吗?"
  • "车牌号 DEF - 456 的注册历史是什么?"
  • "展示车牌号 GHI - 789 的技术缺陷"

技术与安全细节

  • "车牌号 12 - ABC - 3 的车辆牵引能力是多少?"
  • "展示车牌号 XYZ - 456 的轴规格"
  • "车牌号 ABC - 12 - D 的车辆有未解决的召回吗?"
  • "车牌号 DEF - 456 在检查中发现了哪些缺陷?"
  • "展示车牌号 GHI - 789 的完整检查历史"

🔧 技术细节

  • 语言:TypeScript
  • 运行时环境:Node.js
  • 协议:模型上下文协议(MCP)
  • 传输方式:标准输入输出(stdio)
  • 验证:使用 Zod 模式进行输入验证
  • API:对 RDW 开放数据端点的 RESTful 调用

错误处理

服务器包含全面的错误处理,用于处理以下情况:

  • 无效的车牌号(格式错误或不存在)
  • 网络连接问题
  • API 速率限制和超时
  • RDW API 返回的缺失或格式错误的数据
  • 无效的搜索参数

故障排除

常见问题

服务器无法启动

  • 确保 Node.js 版本为 18.0.0 或更高:node --version
  • 尝试重新安装:npm uninstall -g rdw-mcp-server && npm install -g rdw-mcp-server

无数据返回

  • 检查你的互联网连接。
  • 验证车牌号格式(荷兰车牌号格式:XX - XXX - X、XXX - XX - X 等)。
  • 一些较旧的车辆可能在 RDW 数据库中没有完整的数据。

Claude Desktop 连接问题

  • 验证你的配置与安装方法(全局安装还是使用 NPX)匹配。
  • 如果你使用全局安装,确保 rdw-mcp 命令在终端中可用。
  • 如果你使用 NPX,确保 npx rdw-mcp-server 命令在终端中可用。
  • 配置更改后重启 Claude Desktop。
  • 对于开发环境,确保绝对路径和构建目录正确。

获取帮助

如果你遇到问题:

  1. 检查控制台输出中的错误消息。
  2. 验证你的车牌号格式是否符合荷兰标准。
  3. 使用已知有效的车牌号进行测试。
  4. 确保你有活动的互联网连接。

📄 许可证

本项目采用 MIT 许可证。

贡献

欢迎贡献!这个 MCP 服务器可以通过集成更多 RDW 数据集或功能来扩展。

开发设置

  1. 克隆仓库:
git clone https://github.com/jodur/rdw-mcp-server.git
cd rdw-mcp-server
  1. 安装依赖:
npm install
  1. 构建和测试:
npm run build
npm start

可用的 RDW 数据集

RDW 提供了更多可以集成的数据集:

  • APK(MOT)检查结果
  • 车辆召回信息
  • 出租车和公交车注册信息
  • 车辆所有权变更信息
  • 技术缺陷数据

代码风格

  • 使用 TypeScript 并启用严格类型检查。
  • 遵循现有的代码模式。
  • 为所有函数添加 JSDoc 注释。
  • 使用 Zod 进行输入验证。
  • 包含适当的错误处理。

变更日志

版本 2.1.0

  • 新增传输方式:添加了可流式传输的 HTTP 传输支持(无状态)。
  • SDK 兼容性:更新为现代 MCP TypeScript SDK 模式。
  • HTTP 特性:使用 Express.js 服务器,提供 /mcp 端点和 /health 检查。
  • 命令行:添加 --http--port=N 参数以支持 HTTP 模式。
  • CORS 支持:为 Web 集成启用跨域请求。
  • 无状态设计:每个请求使用新的服务器实例,非常适合扩展。
  • 现代 API:从已弃用的 server.tool() 更新为 server.registerTool()
  • 增强的结构:通过分离函数实现更好的代码组织。
  • 双传输方式:支持标准输入输出(默认)和 HTTP 两种传输方式。

版本 2.0.0

  • 重大改进:现在可以在一次查询中查询所有可用的 RDW 数据库。
  • 添加了 APK 检查历史和记录。
  • 添加了车辆召回和安全行动信息。
  • 添加了完整的注册/所有权历史。
  • 添加了轴载荷规格和技术数据。
  • 添加了车身类型和车身分类。
  • 添加了技术缺陷记录和检查结果。
  • 添加了额外的颜色信息。
  • 增强了并行数据获取以提高性能。
  • 从 8 个以上 RDW 数据集获取全面的车辆数据。
  • 更新了工具描述和文档。

版本 1.1.0

  • 重大变更:简化为单一的综合查询工具。
  • 将所有燃油和排放数据集成到主要的车牌号查询中。
  • 移除了单独的燃油/排放和车辆搜索工具。
  • 增强了燃油/排放数据显示,包括排放代码和烟尘排放。
  • 提高了单次查询的数据完整性。

版本 1.0.2

  • 为 npm 用户全面改进了 README。
  • 增强了安装和使用说明。
  • 添加了故障排除和隐私部分。
  • 改进了示例查询和开发设置。
  • 修复了 package.json 中对已移除测试文件的引用。

版本 1.0.1

  • 增强了车辆数据输出。
  • 改进了车牌号规范化。
  • 添加了全面的错误处理。
  • 增强了文档。

版本 1.0.0

  • 初始版本。
  • 基本的车牌号查询。
  • 燃油和排放数据。
  • 按品牌/型号搜索车辆。

免责声明

该服务器使用公共 RDW 数据,与官方 RDW 组织没有关联。请始终通过官方渠道验证关键车辆信息。

  • 0 关注
  • 0 收藏,31 浏览
  • system 提出于 2025-10-04 14:33

相似服务问题

相关AI产品