返回市场
开放式地图-MCP

开放式地图-MCP

作者:wiseman36 星标更新:2025-03-14

项目介绍

MCP-OSM:MCP集成OpenStreetMap

此包提供了MCP的OpenStreetMap集成,允许用户通过MCP界面查询和可视化地图数据。

MCP-OSM 截图

功能

  • 使用Leaflet和OpenStreetMap的基于Web的地图查看器
  • 通过服务端发送事件(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服务器启动时,它还会在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查询