RDW MCP Server
RDW MCP Server
一个用于查询荷兰RDW(Rijksdienst voor het Wegverkeer)车辆注册数据的模型上下文协议(MCP)服务器。给定一个车牌号(kenteken),它返回车辆规格、燃油/排放数据、APK/检查历史、注册/所有权历史、车轴和车身规格、缺陷代码以及公开召回状态——全部来自官方RDW开放数据API。您可以通过stdio/npx在本地运行它,或者将其部署为Cloudflare Workers上的远程MCP服务器,并直接连接到claude.ai。
快速开始
选择您喜欢的方法:
全局安装(推荐):
npm install -g rdw-mcp-server→rdw-mcpNPX(无需安装):
npx rdw-mcp-server本地开发:克隆仓库 →
npm install→npm run build→node 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-mcpHTTP模式:
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)使用带有显式type的servers键:
使用全局安装(推荐):
{
"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)
将此仓库分叉或推送到您自己的GitHub账户。
在Cloudflare仪表板中:Workers & Pages → Create → Import a Git repository。
授权Cloudflare的GitHub应用(一次性OAuth点击)并选择您的仓库。
Cloudflare自动检测
wrangler.jsonc并预填构建/部署命令。点击Save and Deploy。Cloudflare在云端运行
npm install+wrangler deploy,并为您提供一个实时URL,例如https://rdw-mcp-worker.<your-subdomain>.workers.dev。每次向连接的分支推送都会自动重建和重新部署。
选项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
claude.ai → Settings → Connectors → Add custom connector。
粘贴您的部署URL,并包含
/mcp路径,例如https://rdw-mcp-worker.<your-subdomain>.workers.dev/mcp。将OAuth Client ID/Secret字段留空——此服务器无需认证。
点击Add,然后在对话中通过**+ → Connectors**启用它。
尝试:"查询车牌号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进行实时验证:
基础API:
https://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
对于开发环境,请确保绝对路径和构建目录正确
获取帮助
如果你遇到问题:
检查控制台输出中的错误信息
验证你的车牌格式是否符合荷兰标准
使用已知有效的车牌进行测试
确保你拥有可用的互联网连接
许可证
MIT
贡献
欢迎贡献!这个 MCP 服务器可以通过添加更多 RDW 数据集或功能来进行扩展。
开发环境设置
克隆仓库:
git clone https://github.com/jodur/rdw-mcp-server.git cd rdw-mcp-server安装依赖:
npm install构建并测试:
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 组织无关联。始终通过官方渠道核实关键的车辆信息。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables 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.6611MIT
- FlicenseNot gradedqualityDmaintenanceProvides Brazilian vehicle price information using FIPE API, enabling users to get car brands, search car prices by brand, and get vehicles by type.
- FlicenseNot gradedqualityDmaintenanceProvides real-time Dutch Railways (NS) data for journey planning, live departures, disruptions, and station search.3
- AlicenseAqualityAmaintenanceEnables 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.9MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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