这是一个通过GIS库连接大型语言模型(LLMs)与GIS操作的模型上下文协议(MCP)服务器实现,使AI助手能够执行空间操作和转换。
🌐 网站: gis-mcp.com
当前版本是0.11.0(测试版):
我们欢迎贡献者和开发者加入我们共同建设这个项目。
GIS MCP Server 赋予AI助手高级的空间智能。主要功能包括:
🌟 提示: 使用GIS MCP Server,您的AI现在可以“思考空间”,解锁新的环境分析、制图和位置智能能力。
选择最适合您需求的安装方法:
GIS MCP Server 可以使用Docker运行,提供一个预装所有依赖项的隔离环境。
重要: Dockerfile 和 Dockerfile.local 默认启用 HTTP 传输模式。服务器运行在端口 9010 并可通过 http://localhost:9010/mcp 访问。
主 Dockerfile 从 PyPI 安装包:
docker build -t gis-mcp .
docker run -p 9010:9010 gis-mcp
Dockerfile.local 从本地源文件安装包(适用于开发或自定义构建):
docker build -f Dockerfile.local -t g_ismcp:local .
docker run -p 9010:9010 gis-mcp:local
服务器将在 HTTP 传输模式下通过 http://localhost:9010/mcp 访问。
有关 Docker 配置和环境变量的更多详细信息,请参阅 Docker 安装指南。
推荐大多数用户使用 pip 安装:
pip install uv
uv venv --python=3.10
在 Windows (PowerShell) 中:
.\.venv\Scripts\Activate.ps1
在 Linux 中:
source .venv/bin/activate
uv pip install gis-mcp
要安装带有可视化功能(Folium 和 PyDeck 用于交互式地图):
uv pip install gis-mcp[visualize]
这将安装额外的依赖项:
folium>=0.15.0 - 用于创建交互式网页地图pydeck>=0.9.0 - 用于高级 3D 可视化gis-mcp
默认情况下,服务器运行在 STDIO 传输模式,适合本地开发和与 Claude Desktop 或 Cursor IDE 的集成。
您也可以在 HTTP 传输模式 下运行服务器以进行网络部署:
export GIS_MCP_TRANSPORT=http
export GIS_MCP_PORT=8080
gis-mcp
有关传输模式(STDIO 对比 HTTP)的更多详细信息,请参阅 HTTP 传输配置 文档。
要使用 pip 安装与 Claude 或 Cursor 集成,请添加以下配置:
Claude Desktop:
Windows:
{
"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": []
}
}
}
Cursor IDE(创建 .cursor/mcp.json):
Windows:
{
"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": []
}
}
}
配置后:
YourUsername/path/to/gis-mcp对于贡献者和开发者:
pip install uv
uv venv --python=3.10
uv pip install -e .
python -m gis_mcp
要使用开发安装与 Claude 或 Cursor 集成,请添加以下配置:
Claude Desktop:
Windows:
{
"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"]
}
}
}
Cursor IDE(创建 .cursor/mcp.json):
Windows:
{
"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"]
}
}
}
配置后:
YourUsername/path/to/gis-mcp准备好创建自己的能够执行空间操作的AI代理了吗?我们的综合教程将引导您从零开始!
该教程面向初学者,不需要任何先前的 AI 或 GIS 经验。您将构建一个能够执行以下操作的工作代理:
适合人群:开发人员、数据科学家、GIS 专业人士以及对构建 AI 驱动的空间应用程序感兴趣的任何人。
本节提供了按库组织的所有可用函数的综合列表。
基本几何操作:
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 - 创建 Voronoi 图unary_union_geometries - 合并多个几何图形测量:
get_length - 计算几何图形长度get_area - 计算几何图形面积验证及实用工具:
is_valid - 检查几何图形的有效性make_valid - 修复无效几何图形simplify - 简化几何图形snap_geometry - 拼接到参考几何图形nearest_point_on_geometry - 查找最近点normalize_geometry - 规范化方向geometry_to_geojson - 转换为 GeoJSONgeojson_to_geometry - 从 GeoJSON 转换坐标变换:
transform_coordinates - 转换点坐标project_geometry - 在 CRS 之间投影几何图形CRS 信息:
get_crs_info - 获取详细的 CRS 信息get_available_crs - 列出可用的 CRS 系统get_utm_zone - 获取坐标对应的 UTM 区域get_utm_crs - 获取坐标对应的 UTM CRSget_geocentric_crs - 获取地心 CRS大地测量计算:
get_geod_info - 获取椭球体信息calculate_geodetic_distance - 在椭球体上计算距离calculate_geodetic_point - 在距离/方位角处计算点calculate_geodetic_area - 在椭球体上计算面积I/O 操作:
read_file_gpd - 使用预览读取地理空间文件write_file_gpd - 导出 GeoDataFrame 到文件连接与合并操作:
append_gpd - 垂直连接 GeoDataFramesmerge_gpd - 数据库风格的属性连接overlay_gpd - 空间覆盖操作dissolve_gpd - 根据属性溶解explode_gpd - 分割多部分几何图形空间操作:
clip_vector - 剪切几何图形sjoin_gpd - 空间连接sjoin_nearest_gpd - 最近邻空间连接point_in_polygon - 点在多边形内测试基本栅格操作:
metadata_raster - 获取栅格元数据get_raster_crs - 获取栅格 CRSextract_band - 提取单个波段raster_band_statistics - 计算波段统计数据raster_histogram - 计算像素直方图栅格处理:
clip_raster_with_shapefile - 使用多边形剪切栅格resample_raster - 按比例因子重采样reproject_raster - 重新投影到新 CRStile_raster - 分割为瓦片栅格分析:
compute_ndvi - 计算植被指数raster_algebra - 波段上的数学运算concat_bands - 组合单波