anwb mcp
](https://www.npmjs.com/package/anwb-mcp)  ](https://nodejs.org/)   
一个 模型上下文协议 (MCP) ANWB 在荷兰的交通信息、路线规划和位置搜索服务器。获取实时文件信息,使用分步路线计算路线,并搜索位置 - 所有这些都是通过人工智能应用程序中的自然语言。
让我们来: 这是一个非官方的,由社区维护的项目,不与ANWB相关或批准。此服务器使用公开可访问的 ANWB API 端点,不需要 API 密钥。
社区建设 模型上下文协议 (MCP)服务器,用于荷兰的ANWB交通信息、路线规划和位置搜索。获取实时交通事件,计算路线和转弯方向,并搜索位置——所有这些都是通过任何兼容MCP的AI客户端使用自然语言完成的。
注: 这是一个非官方的、由社区维护的项目,不隶属于ANWB或得到ANWB的认可。此服务器使用可公开访问的ANWB API终结点-不需要API密钥。
快速启动
你不需要克隆这个仓库。
- 确保安装了 Node.js 20+(您的 AI 应用程序正在运行)
npxop-je机器) - 将服务器添加为 AI 应用程序中的 MCP 服务器(复制下面的配置)
- 用简单的荷兰语提问(见 例子)
快速入门(非开发人员)
您不需要克隆此仓库。
- 确保已安装Node.js 20+(您的AI应用程序将运行
npx在您的机器上) - 将服务器作为MCP服务器添加到您的AI应用程序中(复制/粘贴下面的配置)
- 用通俗易懂的语言提问(见 示例用法)
添加到Claude桌面(也适用于协作)
Cowork在Claude Desktop内部运行,并使用相同的连接MCP服务器和权限。
- 打开您的Claude Desktop MCP配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json
- 添加此服务器条目(或将其合并到现有的
mcpServers):
{
"mcpServers": {
"anwb-mcp": {
"command": "npx",
"args": ["-y", "anwb-mcp"]
}
}
}- 重新启动克劳德桌面
添加到其他AI应用程序
大多数MCP应用程序都有一个类似“添加MCP服务器”的屏幕,您可以在其中填写:
- 命令:
npx - Args:
-y anwb-mcp
如果你的应用程序需要JSON,粘贴它并将顶级键名调整到你的客户端(常见的是 mcpServers, servers,或 context_servers):
{
"": {
"anwb-mcp": {
"command": "npx",
"args": ["-y", "anwb-mcp"]
}
}
}故障排除
- 错误:
npx: command not found或服务器无法启动
- 修复:安装Node.js 20+并重新启动应用程序。
- 空结果或连接错误
- ANWB API可能暂时不可用。请稍等,然后重试。
特性
- 6工具 涵盖交通、路线和位置搜索的3个类别
- 位置搜索 --使用坐标查找地址、城市、街道和兴趣点
- 路线规划 --按汽车、房车、自行车(普通或电动自行车)或步行计算路线,包括距离、持续时间、转弯方向、收费信息和替代路线
- 电动汽车路线规划 --根据电池消耗、充电站以及与燃料相比的成本节约来规划电动汽车路线
- 电动汽车数据库 --浏览1500多种带有电池规格的电动汽车型号,以进行电动汽车路线规划
- 道路避让 --避开收费公路、高速公路、渡轮或未铺砌的道路
- 交通事件 --荷兰高速公路上的实时拥堵、道路封闭、道路施工和测速摄像头位置
- 交通量汇总 --所有高速公路当前交通状况的简明概述
- 不需要API密钥 --使用可公开访问的ANWB端点
- 输入验证 通过每个工具上的Zod模式实现安全、可预测的操作
- 响应缓存 具有可配置的TTL(路线和事件为60秒,位置为300秒)
- 费率限制处理 具有指数回退和
Retry-After标头支持 - 工具集过滤 仅公开所需的工具类别
- Docker支持 通过GHCR进行集装箱化部署
- 可操作的错误消息 具有上下文感知的恢复建议
支持的客户
Advanced setup and supported clients (expand)
此MCP服务器未绑定到一个编码代理。它适用于任何可以启动stdio MCP服务器的MCP兼容客户端或代理运行时。
| 客户端/运行时 | 文档 |
|---|---|
| 克劳德代码 | 克劳德代码中的MCP |
| 人类API(信息API) | 远程MCP服务器 |
| Codex CLI(OpenAI) | Codex CLI文档 |
| Gemini CLI(谷歌) | Gemini CLI MCP服务器文档 |
| VS代码(副本) | 在VS代码中使用MCP服务器 |
| 克劳德桌面 | Claude Desktop中的MCP |
| 光标 | 光标文档 |
| 风帆冲浪 | Windsurf MCP文件 |
| 克莱恩 | 临床MCP文档 |
| Zed | Zed上下文服务器文档 |
| 任何其他MCP主机 | 使用命令/args 通用MCP服务器配置 |
设置(高级用户)
如果快速入门在您的客户中有效,您可以跳过此部分。
通用MCP服务器配置
在任何支持stdio服务器的MCP主机中使用此功能:
- 命令:
npx - Args:
["-y", "anwb-mcp"] - 可选环境变量:
ANWB_CACHE_TTL,ANWB_MAX_RETRIES,ANWB_TOOLSETS(参见 配置)
主机密钥映射:
| 主持人 | 顶级密钥 | 备注 |
|---|---|---|
| VS代码 | servers | 添加 "type": "stdio" 在服务器对象上 |
| 克劳德桌面/光标/风帆/克莱恩 | mcpServers | 相同的命令/args块 |
| Zed | context_servers | 相同的命令/args块 |
| 食品法典委员会CLI(TOML) | mcp_servers | 使用TOML,如下所示 |
克劳德生态系统笔记
Claude目前有多个易于混淆的MCP相关概念:
- 本地MCP服务器(克劳德桌面): 定义于
claude_desktop_config.json然后在你的机器上开始(文档). - 合作: 重用Claude Desktop中连接的MCP服务器(文档).
- 连接器: 在Claude中管理远程MCP集成(文档).
- 协作插件: Claude特定的工作流打包(说明+工具/数据集成)(文档).在Claude中很有用,但不能作为其他代理客户端的通用MCP服务器配置进行移植。
根据供应商文件验证 2026-03-05.
克劳德代码
claude mcp add --scope user anwb-mcp -- npx -y anwb-mcpCodex CLI(OpenAI)
codex mcp add anwb-mcp -- npx -y anwb-mcpGemini CLI(谷歌)
gemini mcp add anwb-mcp -- npx -y anwb-mcpVS代码(副本)
打开命令选项板(Cmd+Shift+P / Ctrl+Shift+P) > MCP: Add Server > 命令(stdio),或使用 .vscode/mcp.json 使用顶级密钥 servers 以及来自的规范命令/args块 通用MCP服务器配置.
克劳德桌面+协作/光标/风帆/克莱恩/泽德
Cowork在Claude Desktop内部运行,并使用相同的连接MCP服务器和权限。在Claude Desktop中配置一次,服务器就可以在Cowork中使用。
使用规范配置块,并将其与匹配的顶级密钥一起放置在下面的主机文件中。
| 客户端 | 配置位置 | 顶级密钥 |
|---|---|---|
| 克劳德桌面(macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json | mcpServers |
| 克劳德桌面(Windows) | %APPDATA%\\Claude\\claude_desktop_config.json | mcpServers |
| 光标(项目) | .cursor/mcp.json | mcpServers |
| 光标(全局) | ~/.cursor/mcp.json | mcpServers |
| 风帆冲浪 | ~/.codeium/windsurf/mcp_config.json | mcpServers |
| 临床 | MCP设置UI | mcpServers |
| Zed(macOS/Linux) | ~/.zed/settings.json 或 ~/.config/zed/settings.json | context_servers |
码头工人
docker run -i --rm ghcr.io/bartwaardenburg/anwb-mcpCodex CLI(TOML配置替代)
[mcp_servers.anwb-mcp]
command = "npx"
args = ["-y", "anwb-mcp"]其他MCP客户端
使用以下值 通用MCP服务器配置.
术语
什么是可跨主机移植的:
- MCP服务器运行时设置(
command,args,env) - 运输模型(
stdio命令服务器) - 此服务器公开的工具名称和工具模式
什么是特定于主机/供应商的(不可移植):
- 主机配置密钥名称(
servers,mcpServers,context_servers,mcp_servers) - 主机UX/添加服务器的工作流(CLI命令、UI菜单、设置路径)
- 人类特有的概念,如 Claude Desktop本地MCP服务器, Claude连接器通过远程MCP,以及 Claude代码插件 用于联合工作流程
安全说明
- 信任模型: 任何允许调用此MCP服务器的提示或代理都可以代表用户执行ANWB API操作。
- 无需凭据: 此服务器使用可公开访问的ANWB端点,因此没有需要保护的秘密。然而,路线查询可能会揭示位置数据。
- 团队配置治理: 将共享MCP配置保留在版本控制中,并要求检查命令/args/env/toolset过滤的更改。
配置
不需要API密钥。以下可选环境变量可用:
| 变量 | 描述 | 默认值 |
|---|---|---|
ANWB_CACHE_TTL | 缓存TTL(秒)(设置为 0 禁用)。路线/事件使用60秒,地点使用300秒。 | 未设置 |
ANWB_MAX_RETRIES | 具有指数回退的速率限制(429)请求的最大重试尝试次数。 | 3 |
ANWB_TOOLSETS | 要启用的工具类别的逗号分隔列表(请参见 工具集筛选). | 所有工具集 |
可用工具
位置
| 工具 | 说明 |
|---|---|
find_locations | 搜索位置、地址、街道、城市和POI。返回对路线规划有用的坐标。支持按地理区域和索引集进行过滤。 |
路线
| 工具 | 说明 |
|---|---|
calculate_route | 通过汽车、房车、自行车(普通/电动自行车)或步行计算两个或多个地点之间的路线。返回距离、持续时间、转弯方向、收费信息(汽车/房车)和替代路线。支持避开收费公路、高速公路、渡轮和未铺砌的道路。 |
calculate_ev_route | 根据电池消耗、充电站和充电站建议规划电动汽车路线。需要电动汽车型号ID、电池容量和充电状态 |
list_ev_cars | 从ANWB数据库中浏览可用的电动汽车型号。按品牌过滤或按型号名称搜索。返回汽车ID以供使用 calculate_ev_route. |
事件
| 工具 | 说明 |
|---|---|
get_traffic_incidents | 获取荷兰高速公路上当前的交通事件——堵塞、封闭、道路施工和测速摄像头。按道路和/或类别过滤。 |
get_traffic_summary | 获取交通状况的简明摘要——所有高速公路上的拥堵、封闭、道路施工和雷达的总数。 |
工具集筛选
通过仅启用所需的工具类别来减少上下文窗口的使用。设置 ANWB_TOOLSETS 将环境变量转换为逗号分隔的列表:
ANWB_TOOLSETS=routes,incidents| 工具集 | 包含的工具 |
|---|---|
locations | 位置和地址搜索 |
routes | 路线计算、电动汽车路线和电动汽车数据库 |
incidents | 交通事故及总结 |
如果未设置,则启用所有工具集。无效名称将被忽略;如果所有名称都无效,则启用所有工具集作为回退。
例子
一旦连接,您可以用简单的荷兰语提问:
- “搜索阿姆斯特丹附近的地点”
- “Eindhoven Centraal的坐标是什么?”
- “计算从阿姆斯特丹到埃因霍温的路线”
- “计划从Utrecht Centraal到De Uithof的自行车路线”
- “你要从水坝走多久才能到达Vondelpark公园?”
- “从乌得勒支到海牙的最快路线是什么?”
- “A2公路上有人吗?”
- “现在有哪些道路工程?”
- “交通摘要”
- “A1上有哪些闪光灯?”
- “计划从Ede到Zwolle没有收费公路的路线”
- “计算从阿姆斯特丹到Veluwe的大篷车路线”
- “计划从乌得勒支到阿默斯福特的电动自行车路线”
- “特斯拉有哪些电动汽车?”
- “使用特斯拉Model 3计划从阿姆斯特丹到马斯特里赫特的EV路线”
- “如果没有高速公路,从鹿特丹到格罗宁根需要多长时间?”
示例用法
连接后,您可以使用自然语言与ANWB API进行交互:
- “搜索阿姆斯特丹附近的地点”
- “找到埃因霍温中心的坐标”
- “计算从阿姆斯特丹到埃因霍温的路线”
- “计划从Utrecht Centraal到De Uithof的自行车路线”
- “从水坝广场步行到冯德尔公园需要多长时间?”
- “从乌得勒支到海牙最快的路线是什么?”
- “A2公路上有交通堵塞吗?”
- “显示所有当前的道路工程”
- “给我一个交通摘要”
- “A1上有哪些测速摄像头?”
- “规划一条从Ede到Zwolle的路线,避免通行费”
- “计算从阿姆斯特丹到Veluwe的商队路线”
- “规划从乌得勒支到阿默斯福特的电动自行车路线”
- “特斯拉有哪些电动汽车?”
- “用特斯拉Model 3规划从阿姆斯特丹到马斯特里赫特的电动汽车路线”
- “从鹿特丹开车到格罗宁根避开高速公路需要多长时间?”
社区
发展
# Install dependencies
pnpm install
# Run in development mode
pnpm dev
# Build for production
pnpm build
# Run tests
pnpm test
# Type check
pnpm typecheck项目结构
src/
index.ts # Entry point (stdio transport)
server.ts # MCP server setup and toolset filtering
anwb-client.ts # ANWB API HTTP client with caching and retry
cache.ts # TTL-based in-memory response cache
types.ts # TypeScript interfaces for ANWB API responses
tool-result.ts # Error formatting with recovery suggestions
update-checker.ts # NPM update notifications
tools/
locations.ts # Location and address search
routes.ts # Route calculation with directions
incidents.ts # Traffic incidents and summary需求
- Node.js>=20
许可证
麻省理工学院-见 许可证 了解详情。
