mcpField
O
osm-mcp-puca

osm-mcp-puca

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

关于 osm-mcp-puca

osm-mcp-puca 是面向 LLM 聊天机器人的 MCP 服务,提供 OpenStreetMap 相关工具。工具涵盖地址与坐标查询、距离计算和本地地点搜索,也可搭配 púca 网页界面使用。

主要功能

  1. 01查询地址与坐标
  2. 02计算距离
  3. 03搜索本地设施
  4. 04获取 Overpass 查询结果
  5. 05可选 púca 网页界面

适用场景

  1. 01查找附近停车场或厕所
  2. 02根据坐标查询地址
  3. 03核对地址间距离
  4. 04查询 OpenStreetMap 数据

MCP 相关

它向 MCP 客户端提供 OpenStreetMap 相关工具,包括地址查询、距离计算、设施搜索和 Overpass 结果。README 说明可接入支持 MCP 的客户端。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"osm-mcp-puca": {
"command": "npx",
"args": [
"-y",
"mcp-remote"
]
}
}
}
启动命令npx -y mcp-remote

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-remote

工具

还没有获取到工具列表

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

详细介绍

osm-mcp-puca

供 LLM 聊天机器人使用的 MCP 服务,提供与 OpenStreetMap 相关的工具

使用方法

此 MCP 服务可集成到支持 MCP 的客户端中。 Púca UI 截图

Docker

随附的 docker-compose.yaml 文件会同时运行 púca UI 和 MCP 服务,方便你在 UI 中输入查询。 你需要先在 .env 文件中添加自己的 OpenAI API Key,然后启动容器:

docker compose up -d

查看日志以排查问题,并访问 Web 界面:http://your.ip.address:3301

Pydantic AI

请参阅示例文件 client.py,了解如何通过 Python 的 pydantic_ai 使用此 MCP 服务。

Claude

编辑以下文件后,Anthropic 的 Claude 支持添加 MCP 服务:

vi ~/Library/Application\ Support/Claude/claude_desktop_config.json

添加以下内容,并修改 URL:

{
    "mcpServers": {
      "puca": {
          "command": "npx",
          "args": [
            "mcp-remote",
            "http://192.168.1.40:3300/sse"
          ]
        }
    }
}

工具

以下是 MCP 服务提供的工具列表:

  • get_coordinates_for_address
  • get_address_by_coordinates
  • get_defibrillators
  • get_distance_between_addresses
  • get_distance_between_coords
  • get_parking
  • get_toilets
  • get_post_offices
  • get_cafes
  • get_fast_food_places
  • get_irish_street_names
  • get_vacant_buildings
  • get_overpass_results

致谢

此 MCP 服务使用了 OSRM、Overpass 和 Nominatum 提供的免费 API。 OpenStreetMap 中的数据由热心的志愿者贡献。

评论

支持 Markdown

第一次接触 MCP?

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

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