GIS MCP 服务器
模型上下文协议 (MCP) 服务器实现,使用 GIS 库(当前支持 Shapely 和 PyProj)将大型语言模型 (LLM) 连接到 GIS 操作,使 AI 助手能够执行地理空间操作和转换。
阿尔法
0.2.0(Alpha)版本正在积极开发中。我们欢迎各位贡献代码并加入我们,共同构建这个项目。
🎥 演示
Related MCP server: Math-MCP
📋 目录
🚀 功能
🔍 全面的几何运算(交集、并集、缓冲等)
🌐 高级坐标变换和投影
📏 精确的距离和面积计算
🗺️ 空间分析和验证
🛠️ 轻松与 MCP 兼容客户端集成
📋 先决条件
Python 3.10 或更高版本
MCP 兼容客户端(如 Claude Desktop 或 Cursor)
用于软件包安装的互联网连接
🛠️ 安装
选择最适合您需要的安装方法:
📦pip安装
建议大多数用户使用 pip 安装:
安装 uv 包管理器:
创建虚拟环境(Python 3.10+):
安装软件包:
启动服务器:
pip 配置
要使用 Claude 或 Cursor 的 pip 安装,请添加以下配置:
克劳德桌面:
视窗:
Linux/Mac:
Cursor IDE (创建.cursor/mcp.json ):
视窗:
Linux/Mac:
配置后:
确保将
YourUsername替换为您的实际用户名对于开发安装,请将
/path/to/gis-mcp替换为项目的实际路径重新启动 IDE 以应用更改
您现在可以通过 Claude 或 Cursor 使用所有 GIS 操作!
🛠️ 开发安装
对于贡献者和开发者:
安装 uv 包管理器:
创建虚拟环境:
以开发模式安装包:
启动服务器:
开发配置
要使用 Claude 或 Cursor 的开发安装,请添加以下配置:
克劳德桌面:
视窗:
Linux/Mac:
Cursor IDE (创建.cursor/mcp.json ):
视窗:
Linux/Mac:
配置后:
确保将
YourUsername替换为您的实际用户名对于开发安装,请将
/path/to/gis-mcp替换为项目的实际路径重新启动 IDE 以应用更改
您现在可以通过 Claude 或 Cursor 使用所有 GIS 操作!
🛠️ 可用工具
Shapely 操作
基本操作
工具 | 描述 |
| 使用可自定义的参数在几何体周围创建缓冲区 |
| 查找两个几何体的交集 |
| 组合两个几何体 |
| 寻找几何图形之间的差异 |
| 查找几何之间的对称差异 |
几何特性
工具 | 描述 |
| 计算几何体的凸包 |
| 获取几何体的边界框 |
| 获取几何体的最小旋转矩形 |
| 获取几何体的质心 |
| 获取几何体的边界 |
| 获取几何体的坐标 |
| 获取几何体的类型 |
变换
工具 | 描述 |
| 以指定的角度和原点旋转几何体 |
| 使用 x 和 y 因子缩放几何体 |
| 使用 x、y 和 z 偏移平移几何体 |
高级操作
工具 | 描述 |
| 创建几何体的三角剖分 |
| 根据点创建 Voronoi 图 |
| 创建多个几何体的联合 |
测量
工具 | 描述 |
| 获取几何的长度 |
| 获取几何体的面积 |
验证和简化
工具 | 描述 |
| 检查几何是否有效 |
| 使几何有效 |
| 简化具有指定公差的几何体 |
PyProj 操作
坐标变换
工具 | 描述 |
| 在 CRS 之间转换坐标 |
| 在 CRS 之间投影几何体 |
CRS信息
工具 | 描述 |
| 获取有关 CRS 的详细信息 |
| 获取所有可用 CRS 的列表 |
| 获取给定坐标的 UTM 区域 |
| 获取给定坐标的 UTM CRS |
| 获取给定坐标的地心 CRS |
大地测量计算
工具 | 描述 |
| 获取有关大地测量计算的信息 |
| 计算点之间的大地距离 |
| 计算给定距离和方位角的点 |
| 使用大地测量计算多边形的面积 |
🛠️ 客户端开发
工具使用示例:
缓冲区操作
坐标变换
大地距离
🔮 计划功能
添加对更多 GIS 库的支持 - GDAL/OGR
实施高级空间索引
添加对光栅操作的支持
实现网络分析功能
添加对 3D 几何体的支持
实施性能优化
🤝 贡献
欢迎您贡献力量!您可以通过以下方式提供帮助:
分叉存储库
创建功能分支(
git checkout -b feature/AmazingFeature)提交您的更改(
git commit -m 'Add some AmazingFeature')推送到分支(
git push origin feature/AmazingFeature)打开拉取请求
请确保您的 PR 描述清晰地描述了问题和解决方案。如适用,请包含相关的问题编号。
📄 许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
🔗 相关项目
📞 支持
如需支持,请在 GitHub 存储库中打开一个问题。