Token导航 LogoToken导航TokenDH.com
GIS MCP Server logo
搜索检索stdio官方级别未说明来源级核验

GIS MCP Server

MCP Server

A Model Context Protocol (MCP) server implementation that connects Large Language Models (LLMs) to GIS operations using GIS libraries (Currently Shapely and PyProj supported), enabling AI assistants to perform geospatial operations and transformations.

工具数

0

提示词数

0

GitHub Stars

146

资源数

0
PythonClaude数据可视化Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mahdin75

提供方

mahdin75

最后核验

2026/5/18 02:16

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 9010:9010 gis-mcp

详细介绍

GIS MCP服务器

类别徽章
包裹](https://pypi.org/project/gis-mcp/) ](https://pepy.tech/project/gis-mcp) ![Tests](https://github.com/mahdin75/gis-mcp/actions/workflows/test.yml)

✨ Want to perform accurate geospatial analysis in your chatbot? ✨

Install GIS-MCP and transform your AI's spatial capabilities!

一种模型上下文协议(MCP)服务器实现,使用GIS库将大型语言模型(LLM)连接到GIS操作,使AI助手能够执行地理空间操作和转换。

🌐 网站: gis-mcp.com

当前版本为0.14.0(测试版): 我们欢迎贡献者和开发者加入我们,共同构建这个项目。

🎥 演示

📋 目录

- - pip安装 - 开发安装

- 形状功能 - PyProj函数 - GeoPandas功能 - 光栅函数 - PySAL函数 - 可视化功能 - 静态地图功能 - 交互式网络地图功能 - 行政边界职能 - 气候数据功能 - 生态数据功能 - 运动数据功能 - 土地覆盖数据功能 - 卫星图像功能

🚀 特性

GIS MCP Server为AI助手提供先进的地理空间智能。主要特征包括:

  • 🔹 综合几何运算 –轻松执行交集、并集、缓冲区、差分和其他几何变换。
  • 🔹 高级坐标变换 –轻松地在坐标参考系之间重新投影和转换几何图形。
  • 🔹 精确的测量 精确计算距离、面积、长度和质心。
  • 🔹 空间分析与验证 –验证几何图形,运行邻近检查,并执行空间覆盖或连接。
  • 🔹 光栅和矢量支持 –处理光栅图层,计算NDVI等指数,剪切,重新采样,并与矢量数据合并。
  • 🔹 空间统计与建模 –利用PySAL进行空间自相关、聚类和邻域分析。
  • 🔹 易于集成 –与兼容MCP的客户端无缝连接,如Claude Desktop或Cursor IDE。
  • 🔹 HTTP/SSE传输 –使用RESTful存储端点作为HTTP服务运行,用于文件上传/下载操作。
  • 🔹 灵活且可扩展 支持基于Python的GIS库,并已准备好使用自定义工具或工作流扩展。
🌟 提示: 借助GIS MCP Server,您的人工智能现在可以“空间思考”,为环境分析、地图绘制和位置智能解锁新功能。

______________________________________________________________________

📋 先决条件

  • Python 3.10或更高版本
  • MCP兼容客户端(如Claude Desktop或Cursor)
  • 用于安装软件包的互联网连接

氛围编程

如果您正在通过vibe编码构建代理,请在编辑器中使用这些上下文文件,以便LLM了解GIS MCP服务器:

  • llms.txt:总结了较小窗口的上下文。
  • llms-full.txt:当你的模型有一个更大的窗口时,提供完整的上下文。

🛠 安装

选择最适合您需求的安装方法:

🐳 Docker安装

GIS MCP服务器可以使用Docker运行,Docker提供了一个预先安装了所有依赖项的隔离环境。

重要提示: 两者 DockerfileDockerfile.local默认情况下启用HTTP传输模式。服务器在端口上运行 9010 可在以下网址访问 http://localhost:9010/mcp.

使用Dockerfile

主要的 Dockerfile 从PyPI安装软件包:

  1. 构建Docker镜像:
docker build -t gis-mcp .
  1. 运行容器(默认情况下启用HTTP模式):
docker run -p 9010:9010 gis-mcp

使用Dockerfile.local

Dockerfile.local 从本地源文件安装包(对开发或自定义构建有用):

  1. 构建Docker镜像:
docker build -f Dockerfile.local -t gis-mcp:local .
  1. 运行容器(默认情况下启用HTTP模式):
docker run -p 9010:9010 gis-mcp:local

服务器将在以下时间可用 http://localhost:9010/mcp 在HTTP传输模式下。

有关Docker配置和环境变量的更多详细信息,请参阅 .

📦 pip安装

建议大多数用户安装pip:

  1. 安装uv包管理器:
pip install uv
  1. 创建虚拟环境(Python 3.10+):
uv venv --python=3.10
  1. 激活虚拟环境:

在Windows(PowerShell)上:

.\.venv\Scripts\Activate.ps1

在Linux上:

source .venv/bin/activate
  1. 安装软件包:
uv pip install gis-mcp

安装可视化功能

要安装可视化功能(Folium和PyDeck用于交互式地图):

uv pip install gis-mcp[visualize]

这将安装其他依赖项:

  • folium>=0.15.0 -用于创建交互式网络地图
  • pydeck>=0.9.0 -用于高级3D可视化
  1. 启动服务器:
gis-mcp

默认情况下,服务器在 STDIO传输模式,非常适合本地开发和与Claude Desktop或Cursor IDE集成。

您还可以在中运行服务器 HTTP传输模式 对于网络部署:

export GIS_MCP_TRANSPORT=http
export GIS_MCP_PORT=8080
gis-mcp

在HTTP或SSE传输模式下运行时,以下端点可用:

  • MCP端点: http://host:port/mcp (HTTP)或 http://host:port/sse 上海证券交易所
  • 存储端点:

- POST /storage/upload -将文件上传到服务器存储 - GET /storage/download?path= -从服务器存储下载文件 - GET /storage/list?path= -列出服务器存储中的文件

有关传输模式和完整端点文档的更多详细信息,请参阅:

pip配置

要将pip安装与Claude或Cursor一起使用,请添加以下配置:

克劳德桌面:

窗户:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp",
      "args": []
    }
  }
}

Linux/Mac:

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

光标IDE (创建 .cursor/mcp.json):

窗户:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp",
      "args": []
    }
  }
}

Linux/Mac:

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

配置后:

  1. 确保更换 YourUsername 使用您的实际用户名
  2. 对于开发安装,请更换 /path/to/gis-mcp 与项目的实际路径
  3. 重新启动IDE以应用更改
  4. 现在,您可以通过Claude或Cursor使用所有GIS操作!

🛠 开发安装

对于贡献者和开发者:

  1. 安装uv包管理器:
pip install uv
  1. 创建虚拟环境:
uv venv --python=3.10
  1. 在开发模式下安装软件包:
uv pip install -e .
  1. 启动服务器:
python -m gis_mcp

开发配置

要将开发安装与Claude或Cursor一起使用,请添加以下配置:

克劳德桌面:

窗户:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python",
      "args": ["-m", "gis_mcp"]
    }
  }
}

Linux/Mac:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "/path/to/gis-mcp/.venv/bin/python",
      "args": ["-m", "gis_mcp"]
    }
  }
}

光标IDE (创建 .cursor/mcp.json):

窗户:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python",
      "args": ["-m", "gis_mcp"]
    }
  }
}

Linux/Mac:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "/path/to/gis-mcp/.venv/bin/python",
      "args": ["-m", "gis_mcp"]
    }
  }
}

配置后:

  1. 确保更换 YourUsername 使用您的实际用户名
  2. 对于开发安装,请更换 /path/to/gis-mcp 与项目的实际路径
  3. 重新启动IDE以应用更改
  4. 现在,您可以通过Claude或Cursor使用所有GIS操作!

🤖 构建您的第一个GIS AI代理

准备好创建自己的可以执行地理空间操作的AI代理了吗?我们的综合教程将指导您从零到英雄!

你将学到什么

  • ✅ 如何在HTTP模式下设置GIS MCP服务器
  • ✅ 如何从头开始构建LangChain代理
  • ✅ 如何将您的代理连接到GIS工具
  • ✅ 如何使用OpenRouter访问多个AI模型(DeepSeek、Gemini、GPT-4、Claude等)
  • ✅ 如何定制和扩展您的代理

开始使用

👉 遵循完整的教程→

📝 阅读Medium文章→

🎥 在YouTube上观看教程→

本教程对初学者友好,不需要任何人工智能或GIS经验。您将构建一个工作代理,它可以:

  • 计算点之间的距离
  • 转换不同系统之间的坐标
  • 在位置周围创建缓冲区
  • 执行空间分析
  • 还有更多!

非常适合:开发人员、数据科学家、GIS专业人员以及任何对构建人工智能驱动的地理空间应用程序感兴趣的人。

📚 可用功能

本节提供了按库组织的所有可用功能的综合列表。

🔷 形状功能(共29个)

基本几何运算:

  • buffer -在几何体周围创建缓冲区
  • intersection -查找两个几何图形的交点
  • union -组合两个几何图形
  • difference -查找几何图形之间的差异
  • symmetric_difference -找到对称差异

几何特性:

  • convex_hull -计算凸包
  • envelope -获取边界框
  • minimum_rotated_rectangle -获取最小旋转矩形
  • get_centroid -获取质心点
  • get_bounds -获取几何体边界
  • get_coordinates -提取坐标阵列
  • get_geometry_type -获取几何图形类型名称

转换:

  • rotate_geometry -按角度旋转几何图形
  • scale_geometry -按因子缩放几何图形
  • translate_geometry -按偏移量移动几何图形

高级操作:

  • triangulate_geometry -创建三角测量
  • voronoi -创建沃罗诺伊图
  • unary_union_geometries -联合多种几何形状

测量:

  • get_length -计算几何体长度
  • get_area -计算几何面积

验证和实用程序:

  • is_valid -检查几何有效性
  • make_valid -修复无效几何图形
  • simplify -简化几何图形
  • snap_geometry -捕捉到参考几何图元
  • nearest_point_on_geometry -查找最近的点
  • normalize_geometry -规范方向
  • geometry_to_geojson -转换为GeoJSON
  • geojson_to_geometry -从GeoJSON转换

🔷 PyProj函数(共13个)

坐标变换:

  • transform_coordinates -转换点坐标
  • project_geometry -CRS之间的项目几何形状

CRS信息:

  • get_crs_info -获取详细的CRS信息
  • get_available_crs -列出可用的CRS系统
  • get_utm_zone -获取UTM区域的坐标
  • get_utm_crs -获取坐标的UTM CRS
  • get_geocentric_crs -获取地心CRS

大地测量计算:

  • get_geod_info -获取椭球体信息
  • calculate_geodetic_distance -计算椭球面上的距离
  • calculate_geodetic_point -计算距离/方位角处的点
  • calculate_geodetic_area -计算椭球面上的面积

🔷 GeoPandas功能(共13个)

I/O操作:

  • read_file_gpd -读取带有预览的地理空间文件
  • write_file_gpd -将GeoDataFrame导出到文件

加入和合并操作:

  • append_gpd -垂直连接GeoDataFrames
  • merge_gpd -数据库样式属性连接
  • overlay_gpd -空间叠加操作
  • dissolve_gpd -按属性溶解
  • explode_gpd -分割多部分几何图形

空间操作:

  • clip_vector -夹子几何形状
  • sjoin_gpd -空间连接
  • sjoin_nearest_gpd -最近邻空间连接
  • point_in_polygon -多边形中的点测试

🔷 光栅函数(共20个)

光栅基本操作:

  • metadata_raster -获取光栅元数据
  • get_raster_crs -获取光栅CRS
  • extract_band -提取单波段
  • raster_band_statistics -计算频带统计
  • raster_histogram -计算像素直方图

光栅处理:

  • clip_raster_with_shapefile -用多边形剪裁光栅
  • resample_raster -按比例因子重新采样
  • reproject_raster -重新投影到新的CRS
  • tile_raster -分割成瓷砖

光栅分析:

  • compute_ndvi -计算植被指数
  • raster_algebra -频带上的数学运算
  • concat_bands -组合单波段光栅
  • weighted_band_sum -加权频带组合

高级分析:

  • zonal_statistics -多边形内的统计
  • reclassify_raster -重新分类像素值
  • focal_statistics -移动窗口统计
  • hillshade -从DEM生成山坡阴影
  • write_raster -将阵列写入光栅文件

🔷 PySAL函数(共18个)

空间自相关:

  • morans_i -全球莫兰I统计
  • gearys_c -Global Geary的C统计数据
  • gamma_statistic -伽马指数
  • getis_ord_g -全球Getis Ord G统计数据

当地统计数据:

  • moran_local -当地莫兰I
  • getis_ord_g_local -当地Getis Ord G\*
  • join_counts_local -本地加入人数

全球统计:

  • join_counts -二进制连接计数测试
  • adbscan -基于自适应密度的聚类

空间权重:

  • weights_from_shapefile -从shapefile创建权重
  • distance_band_weights -基于距离的权重
  • knn_weights -K—最近邻权重
  • build_transform_and_save_weights -构建、转换和保存权重
  • ols_with_spatial_diagnostics_safe -OLS回归与空间诊断
  • build_and_transform_weights -构建和转换权重

时空分析:

  • spatial_markov -面板数据的空间马尔可夫分析
  • dynamic_lisa -动态LISA(定向LISA)分析

空间回归:

  • gm_lag -GM_Lag空间2SLS/GMM-IV空间滞后模型

🔷 可视化功能(共2个)

静态地图可视化(Matplotlib/GeoPandas):

  • create_map –从多个地理空间数据源生成高质量的静态地图(PNG、PDF、JPG),包括形状文件、光栅、WKT几何图形和坐标阵列。支持具有单独样式选项、图例、标题和网格覆盖的多个图层。

交互式网络地图可视化(Folium):

  • create_web_map –使用带有图层控件、图例、比例尺、动态标题、工具提示和小地图的Folium生成交互式HTML地图。支持多种底图选项和web浏览器的响应式设计。

🔷 行政边界职能(共1个)

边界下载:

  • download_boundaries -下载GADM管理边界并另存为GeoJSON

🔷 气候数据功能(共1个)

气候数据下载:

  • download_climate_data -下载气候数据(ERA5或其他CDS数据集)

🔷 生态数据功能(共2个)

生态数据下载和信息:

  • get_species_info –检索给定物种名称的分类信息
  • download_species_occurrences –下载给定物种的发生记录并保存为JSON

🔷 运动数据功能(共2个)

运动数据下载和路由(通过 OSMnx):

  • download_street_network –下载给定地点的街道网络并另存为GraphML
  • calculate_shortest_path –使用保存的街道网络计算两点之间的最短路径

🔷 土地覆盖数据功能(共2个)

行星计算机的土地覆盖:

  • download_worldcover –下载ESA WorldCover AOI/年;可选作物和重新种植
  • compute_s2_ndvi –根据Sentinel-2 L2A计算NDVI;支持作物和复种

🔷 卫星图像功能(共1个)

基于STAC的卫星下载:

  • download_satellite_imagery –从STAC项目(如Sentinel-2、Landsat)下载和堆叠乐队,并可选择裁剪和重新投影

可用功能总数:92

🛠 客户端开发

工具使用示例:

缓冲区操作

Tool: buffer
Parameters: {
    "geometry": "POINT(0 0)",
    "distance": 10,
    "resolution": 16,
    "join_style": 1,
    "mitre_limit": 5.0,
    "single_sided": false
}

坐标变换

Tool: transform_coordinates
Parameters: {
    "coordinates": [0, 0],
    "source_crs": "EPSG:4326",
    "target_crs": "EPSG:3857"
}

大地测量距离

Tool: calculate_geodetic_distance
Parameters: {
    "point1": [0, 0],
    "point2": [10, 10],
    "ellps": "WGS84"
}

静态地图创建

Tool: create_map
Parameters: {
    "layers": [
        {
            "data": "buildings.shp",
            "style": {"label": "Buildings", "color": "red", "alpha": 0.7}
        },
        {
            "data": "roads.shp",
            "style": {"label": "Roads", "color": "black", "linewidth": 1}
        }
    ],
    "filename": "city_analysis",
    "filetype": "png",
    "title": "City Infrastructure Analysis",
    "show_grid": true,
    "add_legend": true
}

交互式网络地图创建

Tool: create_web_map
Parameters: {
    "layers": [
        {
            "data": "buildings.shp",
            "style": {"label": "Buildings", "color": "red"}
        },
        {
            "data": "parks.geojson",
            "style": {"label": "Parks", "color": "green"}
        }
    ],
    "filename": "city_interactive.html",
    "title": "City Infrastructure Map",
    "basemap": "CartoDB positron",
    "show_grid": true,
    "add_legend": true,
    "add_minimap": true
}

🔮 计划的功能

  • 实施高级空间索引
  • 实施网络分析功能
  • 添加对3D几何图形的支持
  • 实施性能优化
  • 添加对更多GIS库的支持

🤝 贡献

我们欢迎捐款!以下是您可以提供帮助的方式:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

请确保您的公关描述清楚地描述了问题和解决方案。如果适用,请包括相关问题编号。

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🔗 相关项目

项目名称类别描述
模型上下文协议MCP相关核心MCP规范
FastMCPMCP相关构建MCP服务器和客户端的快速Python方式
形状地理空间分析用于操作和分析几何对象的Python包
PyProj地理空间分析PROJ库的Python接口
GeoPandas 的地理空间分析用于处理地理空间数据的Python包
拉斯特里奥地理空间分析用于读取和写入地理空间栅格数据的Python包
Fiona地理空间分析OGR库的Python接口,用于读取和写入矢量地理空间数据格式
PySAL地理空间分析用于地理空间数据科学的Python空间分析库
可视化使用Leaflet.js创建交互式网络地图的Python库
PyDeck可视化用于创建高级3D可视化和交互式地图的Python库
Matplotlib可视化用于创建静态地图和可视化的Python绘图库
cdsapi地理空间数据收集Python API访问哥白尼气候数据存储(CDS)
皮加德姆地理空间数据收集从Python脚本轻松访问GADM定义的管理边界
皮格比夫地理空间数据收集GBIF API的Python客户端(生态和生物多样性数据)
OSMnx地理空间数据收集用于从OpenStreetMap下载、建模和分析街道网络和城市特征的Python包
pystac客户端地理空间数据收集STAC目录的Python客户端;搜索和访问时空资产
行星计算机Python SDK地理空间数据采集微软行星计算机Python SDK;STAC/COG的身份验证和帮助程序

🔗 相关MCP服务器

服务器名称描述
GeoServer MCP将LLM连接到GeoServer REST API的模型上下文协议(MCP)服务器实现

📞 支持

如需支持,请在GitHub存储库中打开问题。

💬 社区

加入我们的Discord社区,进行讨论、更新和支持:

![Join our Discord](https://discord.gg/SeVmVhVbk)

👥 贡献者

由...制作 控制锁.

🏆 徽章

](https://pypi.org/project/gis-mcp/) ](https://pypi.org/project/gis-mcp/)

![Trust Score](https://archestra.ai/mcp-catalog/mahdin75__gis-mcp)

目录标签

目录标签

PythonClaude数据可视化research-and-data地理信息系统本地部署AI辅助空间分析坐标转换

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP