OpenStreetMap MCP服务器
一个强大的 模型上下文协议(MCP) OpenStreetMap服务器,提供 30工具 用于地理编码、路由、质量保证和数据分析。针对Cursor和Claude等AI助手进行了优化。
Grab的社区项目 --提供开源地图工具,帮助开发人员和研究人员更有效地使用OpenStreetMap数据。
______________________________________________________________________
🎯 快速开始
1.️⃣ 安装
git clone https://github.com/GRABOSM/osm-mcp.git
cd osm-mcp
npm install
npm run build2.️⃣ 配置AI集成
光标AI
- 打开的游标 设置 → 特性 → 模型上下文协议.
- 使用以下命令添加新服务器:
- 类型: command - 命令: node /absolute/path/to/osm-mcp/dist/index.js
光标桌面
将此添加到您的 mcp.json:
{
"mcpServers": {
"osm-mcp": {
"command": "node",
"args": ["/absolute/path/to/osm-mcp/dist/index.js"]
}
}
}克劳德桌面
将此添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"osm": {
"command": "node",
"args": ["/absolute/path/to/osm-mcp/dist/index.js"]
}
}
}3.️⃣ 开始使用
试着问你的AI:
- “在马尼拉马卡蒂找到咖啡店”
- “从Grab新加坡总部计算15分钟的行车等时线”
- “获取从樟宜机场到滨海湾金沙的路线”
______________________________________________________________________
🚀 主要特点
- 地理编码:在全球范围内搜索地址和地标。
- 路由(OSRM):转弯方向、距离矩阵和路线优化。
- 智能POI:使用智能标签检测查找餐馆、商店和景点。
- 质量保证(OSMOSE):检测映射错误并监控数据质量。
- 变更集分析:分析最近的编辑和用户贡献。
- 标签智能(Taginfo):真实世界的标签使用统计和验证。
- 双接口:通过MCP(AI工具)或HTTP REST API使用。
______________________________________________________________________
🛠️ 工具参考(30个工具)
🗺️ 地理编码(4)
search_location:搜索地点和地址。reverse_geocode:从坐标中获取地址。search_structured:按街道、城市、国家等搜索。get_place_details:获取OSM元素的完整细节。
📍 兴趣点(3)
search_pois:一般POI搜索(设施、商店等)。search_pois_smart:具有类别检测功能的智能POI搜索。find_amenities_nearby:在特定半径内定位设施。
🛣️ 路线与导航(5)
get_osrm_route:详细的转弯指示。get_distance_matrix:多个点之间的行程时间和距离。optimize_route:通过多站(TSP)找到最佳路线。map_match_gps:将GPS轨迹捕捉到道路网络。calculate_isochrone:在规定时间内可到达的区域。
📊 OSM数据分析(6)
search_highways_smart:智能搜索道路和高速公路。get_elements_in_bounds:获取边界框内的所有数据。search_by_tags:通过特定的OSM标签查找元素。get_route_data:提取道路几何图形以供自定义使用。execute_overpass_query:运行高级Overpass QL查询。snap_to_roads:找到任何一点最近的路。
🔄 变更集分析(3)
get_changeset:特定映射编辑的详细信息。search_changesets:按用户、时间或位置查找编辑。get_changeset_diff:查看编辑中所做的确切更改。
🔍 质量保证(6)
osmose_search_issues:使用筛选器查找数据错误。osmose_get_issue_details:特定质量问题的详细信息。osmose_get_issues_by_country:按国家划分的质量问题。osmose_get_issues_by_user:与特定用户有关的问题。osmose_get_stats:数据质量指标和图表。osmose_get_items:可检测问题类别清单。
🏷️ 标签智能(3)
get_tag_suggestions:OSM标签的自动补全功能。get_tag_stats:任何标签的使用统计。validate_osm_tag:检查标签组合是否正确。
______________________________________________________________________
💡 示例用法
导航
“获取从吉隆坡中央车站到双子塔的路线”
城市规划
“从Grab新加坡总部计算30分钟行车等时线”
质量监控
“分析班加罗尔最近的测绘活动”
______________________________________________________________________
🌐 HTTP API模式
作为独立服务器运行:
npm run dev:http访问文档: http://localhost:8888/api/info
______________________________________________________________________
🛠️ 故障排除
- 绝对路径:在AI工具配置中始终使用完整路径。
- 先建造:确保你跑步
npm run build在任何改变之后。 - 节点版本:使用Node.js v18或更高版本。
______________________________________________________________________
📄 许可证
该项目根据 MIT许可证.
______________________________________________________________________
🙏 学分
- OpenStreetMap贡献者
- OSRM, 提名, 天桥, 渗透酶, 标签信息 社区。
