关于 osm-ui-puca
osm-ui-puca 是 Púca MCP 服务的 Streamlit 网页界面,将聊天交互与 OpenStreetMap 相关工具结合。适用于通过界面提交查询,或将服务接入 MCP 客户端和 Pydantic AI 的用户。
主要功能
- 01Streamlit 聊天界面
- 02OpenStreetMap 相关工具
- 03Docker Compose 部署配置
- 04Pydantic AI 示例
适用场景
- 01通过网页界面查询 OpenStreetMap 相关信息
- 02在 Pydantic AI 中使用 Púca 工具
MCP 相关
Púca MCP 服务提供地理编码、距离计算、本地设施、爱尔兰街道名称、空置建筑和 Overpass 结果等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
osm-ui-puca
此仓库包含 Púca Web 界面的 Python Streamlit UI 代码。该 Web 界面使用 OpenAI 和 Púca MCP 服务提供与 OpenStreetMap 相关的工具。
用法
此 MCP 服务可以集成到支持 MCP 的客户端中。

Docker
此仓库附带的 docker-compose.yaml 文件会同时运行 Púca UI 和 MCP 服务,以便你在 UI 中输入查询。
为此,你需要在 .env 文件中添加自己的 OpenAI API Key,然后通过以下命令启动容器:
docker compose up -d
检查日志中是否有问题,并访问 http://your.ip.address:3301 查看 Web 界面。
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 中的数据由我这样的志愿者贡献,因此请别忘了添加署名。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。