关于 Gdal Mcp
gdal-mcp 是一个 MCP 服务,将 GDAL 与 Rasterio 的栅格和矢量操作开放给 AI Agent。其中的反思中间件要求在执行关键操作(如 CRS 选择、重采样方法、查询范围)前提交结构化理由。
主要功能
- 01栅格与矢量数据的信息查看与转换
- 02坐标参考系统(CRS)重投影
- 03矢量裁剪、缓冲与简化
- 04按工作区目录限制可访问路径
- 05关键操作前需提交结构化理由
适用场景
- 01由 AI Agent 辅助处理遥感与 GIS 数据
- 02批量转换或重投影地理空间数据文件
- 03记录地理空间处理中方法选择的依据
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 raster_* 与 vector_* 系列工具、资源以及用于理由说明的提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
gdal-mcp
向 AI Agent 提供 GDAL/Rasterio 操作的 MCP 服务,并带有反思中间件:对于方法选择很重要的操作(CRS 选择、重采样方法、查询范围),执行前必须提供结构化说明。
安装
通过 uvx(推荐)
uvx --from gdal-mcp gdal --transport stdio
通过 Docker
docker build -t gdal-mcp .
docker run -i gdal-mcp gdal --transport stdio
本地开发
git clone https://github.com/Wayfinder-Foundry/gdal-mcp.git
cd gdal-mcp
uv sync
uv run gdal --transport stdio
配置 MCP 客户端
Claude Desktop
将以下内容添加到 claude_desktop_config.json(macOS:~/Library/Application Support/Claude/,
Windows:%APPDATA%\Claude\,Linux:~/.config/Claude/):
{
"mcpServers": {
"gdal-mcp": {
"command": "uvx",
"args": ["--from", "gdal-mcp", "gdal", "--transport", "stdio"],
"env": {
"GDAL_MCP_WORKSPACES": "/path/to/your/geospatial/data"
}
}
}
}
重启 Claude Desktop。此时应显示 MCP 服务指示器,并且可以使用
raster_* 和 vector_* 工具。
工作区范围限制
GDAL_MCP_WORKSPACES 是一个以冒号分隔的目录列表,指定服务允许访问的目录。
如果未设置,则允许访问所有路径,并记录一条警告。
可选的工具范围标志:RASTER=true、VECTOR=true。完整列表请参阅
docs/ENVIRONMENT_VARIABLES.md。
工具
- 栅格:
raster_info、raster_convert、raster_reproject、raster_stats、raster_query - 矢量:
vector_info、vector_convert、vector_reproject、vector_clip、vector_buffer、vector_simplify、vector_query - **资源:**目录(
workspace://...)、元数据(metadata://...)、参考资料(reference://...)、查询结果(query://result/{id}) - 提示词:
justify_crs_selection、justify_resampling_method、justify_query_extent(以及src/prompts/中的更多提示词)
参数、返回结构和示例请参阅 TOOLS.md。
反思中间件
对于方法选择很重要的工具,调用 Agent 必须先提供结构化说明,否则工具不会执行。流程如下:
- Agent 调用例如
raster_reproject(dst_crs="EPSG:3857", resampling="cubic", ...)。 - 中间件会在
.preflight/justifications/{domain}/中检查是否存在匹配的哈希值。 - 如果未找到,调用会抛出
ToolError,并提示使用相关提示词(例如justify_crs_selection)。 - Agent 调用该提示词,填写
Justification模式(意图、考虑过的替代方案、选择、权衡、置信度),然后通过__reflection负载重新调用工具。 - 说明会按领域缓存,因此后续调用
raster_reproject和vector_reproject时,针对 EPSG:3857 的 CRS 说明都能满足要求。
模式和缓存布局请参阅 docs/REFLECTION.md,了解此功能的缘由请参阅 docs/PHILOSOPHY.md。
文档
- TOOLS.md — 工具参考
- docs/ENVIRONMENT_VARIABLES.md — 运行时配置
- docs/REFLECTION.md — 反思中间件内部机制
- docs/PHILOSOPHY.md — 设计理念与方向
- docs/ROADMAP.md — 发布历史与方向
- CHANGELOG.md — 版本变更记录
- CONTRIBUTING.md — 贡献指南
故障排除
Access denied: path outside allowed workspaces — 将相关目录添加到 GDAL_MCP_WORKSPACES
中(参阅“工作区范围限制”)。
MCP 客户端看不到服务 — 先确认 uvx --from gdal-mcp gdal --help
可以独立运行,然后在编辑配置文件后重启客户端。
License
MIT — see LICENSE.
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。