地图集成服务

MCP-OSM是一个为MCP提供OpenStreetMap集成的服务,允许用户通过MCP界面查询和可视化地图数据。

  • by wiseman
  • Python
  • 本地部署
  • 89 星标
  • 更新于
在 GitHub 查看 wiseman/osm-mcp

使用说明

MCP-OSM:MCP的OpenStreetMap集成

此软件包为MCP提供OpenStreetMap集成,允许用户查询 并通过MCP接口可视化地图数据。

特性

  • 使用Leaflet和OpenStreetMap的基于网络的地图查看器
  • 通过服务器发送事件(SSE)进行服务器到客户端通信
  • 用于地图控制的MCP工具(添加标记、多边形、设置视图、获取视图)
  • OpenStreetMap数据的PostgreSQL/PostGIS查询接口

安装

这是我的 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服务器启动时,它也会在以下位置启动web服务器http://localhost:8889/ 它有地图界面。

环境变量

以下环境变量可用于配置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查询