地图出行#数据分析

GIS MCP:让智能体做真正的空间分析

把 Shapely、GeoPandas、PyProj、Rasterio 等库封装成 90 多个工具:缓冲区、叠加、坐标转换、栅格和空间统计,交给库算。

项目与安装文档

查看项目

https://github.com/mahdin75/gis-mcp

问大模型“这个公园 500 米范围内有几所学校”,它很可能凭感觉报个数,因为它不会真的去做缓冲区和相交运算。GIS MCP 把 Python 里成熟的地理空间库接给智能体:模型负责拆解问题,几何、投影和栅格运算交给 Shapely、PyProj、Rasterio 去算。截至 2026-10-06 约 200 star,当前版本 0.15.0,仍标为 Beta。

能做什么

  • 矢量几何:buffer、intersection、union、voronoi、make_valid 等 29 个 Shapely 工具,量长度、面积、质心都有。
  • 坐标与大地测量:transform_coordinates、project_geometry、get_utm_zone,以及按椭球计算距离和面积的 calculate_geodetic_distance、calculate_geodetic_area。
  • 矢量数据表:GeoPandas 读写文件,做空间连接 sjoin_gpd、叠加 overlay_gpd、按属性融合 dissolve_gpd。
  • 栅格处理:裁剪、重采样、重投影,计算 compute_ndvi,做 zonal_statistics 分区统计。
  • 空间统计和取数:PySAL 做空间自相关和聚类;另有行政区划、气候、生态、土地覆盖、卫星影像等数据获取工具,可以输出静态图或交互式网页地图。

适合谁

  • 做城市规划、环境评估,想用自然语言跑选址或邻近分析的 GIS 从业者。
  • 用 LangChain 或 OpenAI Agents 搭地理空间智能体的开发者,项目文档里有现成示例。
  • 研究生和科研人员,需要快速算 NDVI、做分区统计又不想每次写脚本。

接入方式

需要 Python 3.10 以上。按 README 用 uv 建虚拟环境后安装:

uv pip install gis-mcp
gis-mcp

默认是 stdio 模式。客户端配置指向虚拟环境里的可执行文件:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "/home/YourUsername/.venv/bin/gis-mcp",
      "args": []
    }
  }
}

要交互地图功能就装 gis-mcp[visualize];也提供 Docker 镜像,HTTP 模式监听 9010 端口。

编辑点评

地图类 MCP 大多是查询某个地图服务的 API,GIS MCP 是少数做“计算”的:它不提供 POI 数据,而是让智能体在你自己的文件和图层上做分析,和 Google Maps 一类服务器正好互补。工具数量多是优点也是负担,全部注册会占不少上下文,用前最好想清楚要哪几类。HTTP 模式自带文件上传下载接口,暴露到公网前要加鉴权。许可证为 MIT。