mcpField
M
MCP Server for OSM

MCP Server for OSM

本地服务
github.com/tpp6me地图与出行67 周前更新

关于 MCP Server for OSM

为旅行应用和 MCP 客户端提供地图与路线功能的 MCP 服务,使用 Nominatim、OSRM 和 Overpass,涵盖地理编码、路线、距离计算及附近地点搜索。

主要功能

  1. 01地址地理编码与反向查询
  2. 02OSM 地点详情查询
  3. 03距离与路线计算
  4. 04路线步骤与距离矩阵
  5. 05行程优化与附近兴趣点
  6. 06生成 OpenStreetMap 地图链接

适用场景

  1. 01查询地址的坐标
  2. 02比较路线与行程时间
  3. 03查找附近餐厅或加油站
  4. 04规划多个地点之间的路线

MCP 相关

向 MCP 客户端提供 Nominatim、OSRM 和 Overpass 地图工具。支持配置自定义服务端点。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

OSM MCP 服务

概述

这是一个用于访问 OSM 功能的 MCP 服务:Nominatim(地理编码/反向地理编码/查询)、OSRM(路线/矩阵/行程)和 Overpass(附近兴趣点搜索)。

请注意,这些都是开放服务,请适度、公平地使用。生产环境中,建议安装并使用自己的服务。通过环境变量设置自定义端点(见下文)。

要求

Node 20+

npm install

功能(v2.0.0,12 个工具)

  1. geocode – 地址 → 坐标(首个结果,limit、countrycodes)
  2. search_places – 查询 → 最多 20 条结构化结果
  3. reverse_geocode – 纬度/经度 → 地址(zoom 0-18)
  4. place_details – 根据 osm_type + osm_id 查询 OSM
  5. distanceWithHaversine – 直线距离(km/mi/m)
  6. routeDistance – OSRM 距离(driving/walking/cycling)
  7. route_details – 距离 + 时长 + 分步转向指引
  8. distance_matrix – 适用于 2-10 个地点的 OSRM 矩阵
  9. optimize_trip – 适用于 2-10 个途经点的 OSRM 行程(TSP)
  10. find_nearby_places – Overpass 兴趣点:半径范围内的餐厅、咖啡馆、酒店、加油站、ATM 等
  11. get_map_link – 坐标对应的 openstreetmap.org 链接
  12. 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>";

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。