OSM-MCP地图集成工具
为MCP提供OpenStreetMap集成,允许用户使用添加标记、多边形和控制地图视图的工具查询和可视化地图数据。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"OSM PostgreSQL Server": {
"args": [
"run",
"--env-file",
".env",
"--with",
"mcp[cli]",
"--with",
"psycopg2",
"--with-editable",
"/Users/wiseman/src/mcp-osm",
"--directory",
"/Users/wiseman/src/mcp-osm",
"mcp",
"run",
"mcp.py"
],
"command": "/Users/wiseman/.local/bin/uv"
}
}
}
服务介绍
MCP-OSM: MCP 的 OpenStreetMap 集成
此包为 MCP 提供了 OpenStreetMap 集成,允许用户通过 MCP 接口查询和可视化地图数据。
功能
- 使用 Leaflet 和 OpenStreetMap 的基于 Web 的地图查看器
- 通过服务器发送事件 (SSE) 实现的服务器到客户端通信
- 用于地图控制的 MCP 工具(添加标记、多边形、设置视图、获取视图)
- PostgreSQL/PostGIS 查询接口以处理 OpenStreetMap 数据
安装
这是我的 claude_desktop_config.json:
{
"mcpServers": {
"OSM PostgreSQL Server": {
"command": "/Users/wiseman/.local/bin/uv",
"args": [
"run",
"--env-file",
".env",
"--with",
"mcp[cli]",
"--with",
"psycopg2",
"--with-editable",
"/Users/wiseman/src/mcp-osm",
"--directory",
"/Users/wiseman/src/mcp-osm",
"mcp",
"run",
"mcp.py"
]
}
}
}
当 MCP 服务器启动时,它还会在 http://localhost:8889/ 启动一个包含地图界面的 Web 服务器。
环境变量
可以使用以下环境变量来配置 MCP:
FLASK_HOST- Flask 服务器的主机地址(默认:127.0.0.1)FLASK_PORT- Flask 服务器的端口(默认:8889)PGHOST- PostgreSQL 主机地址(默认:localhost)PGPORT- PostgreSQL 端口(默认:5432)PGDB- PostgreSQL 数据库名称(默认:osm)PGUSER- PostgreSQL 用户名(默认:postgres)PGPASSWORD- PostgreSQL 密码(默认:postgres)
MCP 工具
提供以下 MCP 工具:
get_map_view- 获取当前地图视图set_map_view- 将地图视图设置为特定坐标或边界set_map_title- 设置显示在地图右下角的标题add_map_marker- 在特定坐标处添加标记add_map_line- 添加由一组坐标定义的线add_map_polygon- 添加由一组坐标定义的多边形query_osm_postgres- 对 OpenStreetMap 数据库执行 SQL 查询
