Skip to main content
Glama
jodur

RDW MCP Server

by jodur

RDW MCP Server

npm version License: MIT

一个用于查询荷兰RDW(Rijksdienst voor het Wegverkeer)车辆注册数据的模型上下文协议(MCP)服务器。给定一个车牌号(kenteken),它返回车辆规格、燃油/排放数据、APK/检查历史、注册/所有权历史、车轴和车身规格、缺陷代码以及公开召回状态——全部来自官方RDW开放数据API。您可以通过stdio/npx在本地运行它,或者将其部署为Cloudflare Workers上的远程MCP服务器,并直接连接到claude.ai。

快速开始

选择您喜欢的方法:

  • 全局安装(推荐):npm install -g rdw-mcp-serverrdw-mcp

  • NPX(无需安装):npx rdw-mcp-server

  • 本地开发:克隆仓库 → npm installnpm run buildnode build/index.js

  • 远程(Cloudflare Workers):完全不需要本地进程——部署一次,即可从claude.ai作为自定义连接器连接。请参阅部署为远程MCP服务器

测试安装:

rdw-mcp        # if globally installed
# OR
npx rdw-mcp-server  # if using npx

(按Ctrl+C停止)

添加到Claude Desktop(请参阅下面的配置部分)

开始提问,例如:

  • "查询车牌号12-ABC-3"

  • "显示kenteken 1-ABC-23的APK历史记录和任何技术缺陷"

Related MCP server: Car Price MCP Server

功能

  • 完整的车牌查询:通过荷兰车牌(kenteken)从RDW数据库获取可用的车辆信息

  • 全面的车辆数据:基本规格、技术细节、重量、尺寸和注册信息

  • 集成的燃油与排放:详细的燃油类型、排放、环境规格和噪音水平

  • APK检查历史:定期检查报告历史及由此产生的APK到期日期

  • 注册历史:所有权/注册变更历史

  • 技术规格:车轴负载、车身类型和详细技术数据

  • 缺陷记录:检查期间发现的缺陷代码

  • 公开召回状态:车辆当前是否有未完成的制造商召回

  • 实时数据:访问来自官方RDW数据库的最新信息

  • 远程或本地:通过stdio/npx在本地运行,或部署为Cloudflare Workers上的无服务器远程MCP服务器——请参阅部署为远程MCP服务器

安装

全局安装(推荐用于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服务器:

Stdio模式(默认):

rdw-mcp

HTTP模式:

rdw-mcp --http          # Runs on port 3000
rdw-mcp --http --port=8080  # Custom port

服务器支持stdio和HTTP传输:

  • Stdio:用于直接命令行和Claude Desktop集成

  • HTTP:用于远程访问、Web集成和可扩展部署

HTTP传输功能

在HTTP模式(--http)下运行时,服务器提供:

  • MCP端点POST /mcp - 主要的MCP协议端点

  • 健康检查GET /health - 服务器状态和版本信息

  • CORS支持:为Web集成启用跨域请求

  • 无状态设计:无会话管理,非常适合扩展

  • 错误处理:适当的HTTP状态码和JSON-RPC错误响应

HTTP用法示例:

# Start HTTP server
rdw-mcp --http --port=3000

# Health check
curl http://localhost:3000/health

# MCP requests (requires proper JSON-RPC format)
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

在MCP客户端配置中(VS Code)

VS Code的MCP支持(.vscode/mcp.json)使用带有显式typeservers键:

使用全局安装(推荐):

{
  "servers": {
    "rdw": {
      "type": "stdio",
      "command": "rdw-mcp"
    }
  }
}

使用npx(备选):

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

对于Claude Desktop,请改用下面Claude Desktop配置中显示的mcpServers键。

本地开发模式

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

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

部署为远程MCP服务器(Cloudflare Workers)

此仓库还包含一个Cloudflare Worker入口点(src/worker.ts),它将相同的rdw-license-plate-lookup工具暴露为远程MCP服务器——无需本地进程、无需隧道、无需容器。由于此工具仅代理公共RDW开放数据(无秘密、无用户数据),因此可以无需OAuth添加到claude.ai。

这完全是附加的:上面描述的现有npx rdw-mcp-server / Claude Desktop stdio设置不受影响。

选项A:通过Cloudflare仪表板部署(无需本地CLI)

  1. 将此仓库分叉或推送到您自己的GitHub账户。

  2. Cloudflare仪表板中:Workers & Pages → Create → Import a Git repository

  3. 授权Cloudflare的GitHub应用(一次性OAuth点击)并选择您的仓库。

  4. Cloudflare自动检测wrangler.jsonc并预填构建/部署命令。点击Save and Deploy

  5. Cloudflare在云端运行npm install + wrangler deploy,并为您提供一个实时URL,例如https://rdw-mcp-worker.<your-subdomain>.workers.dev

  6. 每次向连接的分支推送都会自动重建和重新部署。

选项B:使用Wrangler在本地部署

npm install
npm run cf:dev          # local Worker at http://localhost:8787

使用MCP Inspector在本地验证:

npx @modelcontextprotocol/inspector
# connect to http://localhost:8787/mcp (Streamable HTTP) or http://localhost:8787/sse (SSE)

然后部署:

npx wrangler login   # first time only
npm run deploy

将其添加到claude.ai

  1. claude.ai → Settings → Connectors → Add custom connector

  2. 粘贴您的部署URL,并包含/mcp路径,例如https://rdw-mcp-worker.<your-subdomain>.workers.dev/mcp

  3. 将OAuth Client ID/Secret字段留空——此服务器无需认证。

  4. 点击Add,然后在对话中通过**+ → Connectors**启用它。

  5. 尝试:"查询车牌号12-ABC-3"。

注意事项

  • Worker部署后即为公开状态——任何拥有URL的人都可以通过它调用RDW查询。鉴于它仅代理已经公开的RDW数据,且RDW方面也没有认证,这没问题,但在未来添加写入操作或私有数据之前请记住这一点(届时请添加OAuth提供程序)。

  • Worker使用McpAgent(来自agents包),该包基于Durable-Object,并同时暴露/mcp(Streamable HTTP)和/sse(旧版SSE)以实现广泛的客户端兼容性。

可用工具

rdw-license-plate-lookup

通过荷兰车牌从RDW数据库查询车辆信息。

参数:

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

返回:

来自RDW数据库的车辆信息,包括:

  • 基本详情:品牌、型号、颜色、类型、变体、版本

  • 技术规格:发动机、功率、尺寸、气缸数、排量

  • 重量与容量:空重、整备重量、牵引能力、车轴负载

  • 注册数据:首次注册、注册/所有权变更历史、型式认证

  • 检查记录:APK到期日期、定期检查报告历史、发现的缺陷代码

  • 燃油与排放:燃油类型、排放水平、CO2等级、噪音水平

  • 安全信息:公开召回状态(RDW的开放数据不暴露每辆车的召回历史,仅暴露当前是否有召回)

  • 车身规格:车身类型、欧洲分类

  • 财务数据:目录价格、BPM税信息

  • 状态指示器:出口状态、出租车指示器、保险状态

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

要求

  • Node.js:版本18.0.0或更高

  • npm:版本8.0.0或更高(随Node.js附带)

  • 互联网连接:访问RDW API所需

Claude Desktop的配置

要将此MCP服务器与Claude Desktop一起使用,请将以下内容添加到您的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,并已针对opendata.rdw.nl进行实时验证:

  • 基础APIhttps://opendata.rdw.nl/resource/

  • 车辆注册:数据集m9d7-ebf2 - 基本车辆信息和规格

  • 燃油与排放:数据集8ys7-d773 - 燃油类型、排放和环境数据

  • APK / 检查报告:数据集sgfe-77wx("Meldingen Keuringsinstantie")- 定期检查报告历史及由此产生的APK到期日期

  • 注册历史:数据集db8s-mw3u("Kenteken-tenaamstelling")- 注册/所有权变更历史

  • 车轴规格:数据集3huj-srit - 技术车轴负载规格

  • 车身类型:数据集vezc-m2t6 - 车身和车身类型分类

  • 技术缺陷:数据集a34c-vvps("Geconstateerde Gebreken")- 检查期间发现的缺陷代码

注意:RDW的开放数据暴露每辆车的召回数据集(仅有一个没有车牌字段的通用召回活动目录)或单独的每辆车颜色历史数据集——颜色已包含在基础车辆记录中。公开召回状态来自基础车辆记录上的一个标志。

所有数据均实时从官方政府来源检索,并且是公开可用的。

隐私与数据使用

  • 无数据存储:此服务器不会在本地存储任何车辆数据

  • 实时查询:所有请求直接转发到RDW API

  • 仅公开数据:仅访问公开可用的注册数据

  • 无认证:不需要或处理任何个人或敏感数据

速率限制

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

  • 在请求之间等待几秒钟

  • 避免快速连续进行批量请求

  • 考虑在应用程序逻辑中实现延迟

示例查询

一旦连接到像Claude Desktop这样的MCP客户端,您可以提出如下问题:

完整车辆信息:

  • "查询车牌号12-ABC-3"

  • "kenteken XYZ-123有哪些可用信息?"

  • "告诉我车牌1-ABC-23的车辆信息"

  • "显示车牌ABC-12-D的所有数据"

  • "获取kenteken DEF-456的完整RDW信息"

特定信息请求:

  • "kenteken ABC-12-D的排放数据是什么?"

  • "显示车牌XYZ-456的APK历史"

  • "车辆12-ABC-3是否有召回?"

  • "kenteken DEF-456的注册历史是什么?"

  • "显示车牌GHI-789的技术缺陷"

技术与安全详情:

  • "车辆12-ABC-3的牵引能力是多少?"

  • "显示kenteken XYZ-456的车轴规格"

  • "车牌ABC-12-D是否有未完成的召回?"

  • "kenteken DEF-456在检查中发现了哪些缺陷?"

  • "显示车牌GHI-789的完整检查历史"

技术细节

  • 语言:TypeScript

  • 运行时:Node.js(stdio / HTTP)或Cloudflare Workers(远程MCP)

  • 协议:模型上下文协议(MCP)

  • 传输:标准I/O(stdio)、Streamable HTTP或SSE(Cloudflare Workers部署)

  • 验证:用于输入验证的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 连接问题:

  • 验证你的配置与安装方式(全局安装 vs 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
  2. 安装依赖:

    npm install
  3. 构建并测试:

    npm run build
    npm start

可用的 RDW 数据集

RDW 提供了更多可以集成的数据集,超出了上面已经使用的范围:

  • 出租车和公交车登记

  • 特定燃料的技术变体

  • 车辆进出口历史

代码风格

  • 使用带有严格类型的 TypeScript

  • 遵循现有代码模式

  • 为所有函数添加 JSDoc 注释

  • 使用 Zod 进行输入验证

  • 包含适当的错误处理

更新日志

版本 2.3.0

  • 新增:Cloudflare Workers 上的远程 MCP 服务器:添加了 src/worker.ts,可通过 Cloudflare 仪表板(Git 集成,无需 CLI)或 wrangler deploy 进行部署。暴露 /mcp(Streamable HTTP)和 /sse,无需认证——可直接从 claude.ai 作为自定义连接器连接。

  • 共享工具逻辑:将 RDW 查询工具提取到 src/rdw-lib.ts 中,Node 入口点和 Worker 都原样导入——没有重复逻辑,对现有的 stdio/HTTP 分发方式没有行为变化。

  • 修复数据缺口:该工具之前声称返回 APK 历史、召回、所有权历史和缺陷,但实际上从未获取过这些数据(endpoint doesn't exist 的假设被证明是错误的)。已针对 opendata.rdw.nl 进行实时验证,并接入了 APK/检验历史(sgfe-77wx)、登记/所有权历史(db8s-mw3u)和已发现缺陷(a34c-vvps)的真实数据集。

  • 修正声明:工具描述和 README 不再声称提供 RDW 开放 API 实际上并未公开的召回历史或单车颜色历史数据——召回状态现在被准确描述为一个开启/关闭标志,而不是历史记录。

版本 2.1.0

  • 新增传输方式:添加了 Streamable HTTP 传输支持(无状态)

  • SDK 合规性:更新为现代的 MCP TypeScript SDK 模式

  • HTTP 功能:Express.js 服务器,带有 /mcp 端点和 /health 检查

  • 命令行:为 HTTP 模式添加了 --http--port=N 参数

  • CORS 支持:为 Web 集成启用了跨域请求

  • 无状态设计:每个请求一个服务器实例,非常适合扩展

  • 现代 API:从已弃用的 server.tool() 更新为 server.registerTool()

  • 结构增强:通过分离的函数实现更好的代码组织

  • 双传输方式:同时支持 stdio(默认)和 HTTP 传输

版本 2.0.0

  • 重大增强:现在一次查询即可检索所有可用的 RDW 数据库

  • 添加了 APK 检验历史和记录

  • 添加了车辆召回和安全措施信息

  • 添加了完整的登记/所有权历史

  • 添加了轴载规格和技术数据

  • 添加了车身类型和 carrosserie 分类

  • 添加了技术缺陷记录和检验结果

  • 添加了额外的颜色信息

  • 增强了并行数据获取以提高性能

  • 来自 8 个以上 RDW 数据集的全面车辆数据

  • 更新了工具描述和文档

版本 1.1.0

  • 重大变更:简化为单一的全面查询工具

  • 将所有燃料和排放数据集成到主要车牌查询中

  • 移除了单独的燃料/排放和车辆搜索工具

  • 增强了燃料/排放数据展示,包含排放代码和碳烟排放

  • 提高了单次查询的数据完整性

版本 1.0.2

  • 为 npm 用户全面改进 README

  • 增强了安装和使用说明

  • 添加了故障排除和隐私部分

  • 改进了示例查询和开发环境设置

  • 修复了 package.json 中对已删除测试文件的引用

版本 1.0.1

  • 增强了车辆数据输出

  • 改进了车牌标准化

  • 添加了全面的错误处理

  • 增强了文档

版本 1.0.0

  • 初始版本

  • 基本的车牌查询

  • 燃料和排放数据

  • 按品牌/车型搜索车辆

免责声明

此服务器使用公开的 RDW 数据,与官方 RDW 组织无关联。始终通过官方渠道核实关键的车辆信息。

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    C
    quality
    D
    maintenance
    Enables access to comprehensive vehicle information including VIN decoding, license plate OCR, vehicle history checks (theft, title, salvage records), market valuations, specifications, and warranty data for vehicles across North America and Europe.
    6
    61
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides Brazilian vehicle price information using FIPE API, enabling users to get car brands, search car prices by brand, and get vehicles by type.
  • A
    license
    A
    quality
    A
    maintenance
    Enables accessing and querying Dutch government open datasets from CBS and data.overheid.nl, with tools for searching, filtering, downloading, and analyzing data using CSV, Parquet, DuckDB, or Pandas.
    9
    MIT

View all related MCP servers

Related MCP Connectors

  • VIN decoding and European vehicle data for automotive workflows.

  • Vehicle data for AI: VIN decoder, automotive specs, stolen checks, valuation and way more.

  • Car logo API and image CDN: search automotive brands, fetch brand data, and build logo CDN URLs.

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/jodur/RDW-MCP'

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