关于 MCP Server for OSM
为旅行应用和 MCP 客户端提供地图与路线功能的 MCP 服务,使用 Nominatim、OSRM 和 Overpass,涵盖地理编码、路线、距离计算及附近地点搜索。
主要功能
- 01地址地理编码与反向查询
- 02OSM 地点详情查询
- 03距离与路线计算
- 04路线步骤与距离矩阵
- 05行程优化与附近兴趣点
- 06生成 OpenStreetMap 地图链接
适用场景
- 01查询地址的坐标
- 02比较路线与行程时间
- 03查找附近餐厅或加油站
- 04规划多个地点之间的路线
MCP 相关
向 MCP 客户端提供 Nominatim、OSRM 和 Overpass 地图工具。支持配置自定义服务端点。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
OSM MCP 服务
概述
这是一个用于访问 OSM 功能的 MCP 服务:Nominatim(地理编码/反向地理编码/查询)、OSRM(路线/矩阵/行程)和 Overpass(附近兴趣点搜索)。
请注意,这些都是开放服务,请适度、公平地使用。生产环境中,建议安装并使用自己的服务。通过环境变量设置自定义端点(见下文)。
要求
Node 20+
npm install
功能(v2.0.0,12 个工具)
geocode– 地址 → 坐标(首个结果,limit、countrycodes)search_places– 查询 → 最多 20 条结构化结果reverse_geocode– 纬度/经度 → 地址(zoom0-18)place_details– 根据osm_type+osm_id查询 OSMdistanceWithHaversine– 直线距离(km/mi/m)routeDistance– OSRM 距离(driving/walking/cycling)route_details– 距离 + 时长 + 分步转向指引distance_matrix– 适用于 2-10 个地点的 OSRM 矩阵optimize_trip– 适用于 2-10 个途经点的 OSRM 行程(TSP)find_nearby_places– Overpass 兴趣点:半径范围内的餐厅、咖啡馆、酒店、加油站、ATM 等get_map_link– 坐标对应的 openstreetmap.org 链接about– 服务信息
提示词示例:“给出纽约的坐标”“(12.97, 77.59) 周围 1 公里内有哪些咖啡馆?”“优化途经 A、B、C 的行程”“柏林 → 波茨坦的驾车路线及转向指引?”
环境变量
NOMINATIM_BASE_URL=https://nominatim.openstreetmap.org
OSRM_BASE_URL=https://router.project-osrm.org
OVERPASS_BASE_URL=https://overpass-api.de/api/interpreter
[email protected] # optional, for large usage
安装
安装依赖项
npm install
或者,你也可以安装依赖项
npm install @modelcontextprotocol/sdk
要在工作区中启用 MCP 服务,我们需要创建一个目录,并在该目录中创建配置文件。
mkdir .vscode
cd .vscode
touch mcp.json
在你的工作目录中创建一个名为 .vscode 的目录,再创建一个名为 mcp.json 的文件,并添加以下配置。将路径更新为你的 Node 和 API 密钥路径
{
"servers": {
"my-mcp-server-bfba9100": {
"type": "stdio",
"command": "/path/to/node",
"args": [
"/path/to/index.js"
],
"env": {
},
}
}
}
全局 VScode
在 ~/.vscode 中添加配置文件,使其可在所有目录中使用
Cursor
全局和本地工作区配置也适用于 Cursor。目录名为 .cursor。你可以将配置文件放在那里。
Claude 集成
可以将此 MCP 服务添加到 Claude 桌面应用。找到文件 claude_desktop_config.json。在 MAC 上,该文件位于
` ~/Library/Application\ Support/Claude/claude_desktop_config.json
使用自定义 Nominatim 和 OSRM 服务
此 MCP 服务可搭配自定义 Nominatim 和 OSRM 服务使用,例如你选择自行托管的服务。这通常是生产环境中的推荐做法。修改以下行
const NOMINATIM_BASE_URL = "<CUSTOM NOMINATIM SERVER>";
const OSRM_BASE_URL = "<CUSTOM OSRM SERVER>";
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。