使用 QGIS MCP和Deep Seek实现 GIS 任务自动化
QGIS软件配置的QGIS MCP插件,通过socket服务器在本地端口(默认9876)提供远程控制QGIS的能力。其缺乏完整的心跳和重连机制,当连接意外断开时可能无法及时感知。Cherry Studio就会出现AI说操作已经成功了,但是QGIS界面没有变化的情况。这时候需要在QGIS插件中先停止,再重新启动。另一方面,使用Deep seek操作QGIS也不稳定,比如使用"execute_code
背景
随着 Chat-GPT、Deep Seek、Gemini 等人工智能模型的持续火热,如何将 AI 技术与 GIS 领域深度融合成为新的探索方向。看到有开发者通过 Claude AI 结合 QGIS 实现了 GIS 自动化处理与分析[1],在复现的时候下载Claude Desktop显示地域使用限制(App unavailable)😢 ,本文总结了基于 Cherry Studio 的替代方案。本教程核心流程参考相关文献 [1],主要差异在于采用 Cherry Studio 作为 MCP 客户端。
安装
需要的软件
- QGIS (本文使用版本3.34.9)
- Cherry Studio (本文使用版本1.6.6)
- 文中所有使用脚本的下载地址:
https://github.com/jjsantos01/qgis_mcp

step1 安装QGIS插件:QGIS MCP
- 下载 qgis_mcp_plugin 文件夹,复制至 QGIS 插件目录(Windows 系统默认路径:
C:\Users\USER\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins) - 启用插件:在 QGIS 菜单栏依次点击「Plugins」→「Manage and Install Plugins」,勾选「QGIS MCP」
重启 QGIS 后,通过「Plugins」→「QGIS MCP」打开插件界面,点击「Start Server」启动服务(启动成功后可在插件界面看到服务运行状态)


step2 配置Cherry Studio
- 进入设置界面配置模型,本文使用的是自定义模型。
- MCP 服务配置,在设置中选择「MCP」,点击「添加」按钮
配置参数:
- 名称:自定义(如 Qgis_mcp)
- 类型:选择 stdio
- 命令:填写 uv
- 参数配置(第三行为 qgis_mcp_server.py
的绝对路径):
run
--directory
C:\Users\xxx\Downloads\qgis_mcp-main\qgis_mcp-main\src\qgis_mcp
qgis_mcp_server.py
- 验证配置:成功添加后,在 MCP 服务器列表中选择新增的 Qgis_mcp,可查看可用工具列表(包含 ping、加载图层、执行算法等)。
注:工具集由 gis_mcp_server.py 定义,如需扩展功能可修改该文件,即使不熟悉 MCP 开发也可通过 AI 辅助实现




步骤 3:执行自动化任务
- 在 Cherry Studio 中打开对话窗口,点击锤子图标选择已配置的 Qgis_mcp 服务
- 发送任务指令(示例如下),QGIS 将自动执行操作
请使用Qgis_mcp工具执行以下步骤:
1. 执行Ping检查连接有效性,确认连接后继续
2. 创建新项目并保存至:"C:/Users/xxx/Desktop/cdmx.qgz"
3. 加载矢量图层"C:/Users/xxx/Desktop/fixed_geoms.shp",命名为"Colonias"
4. 在Colonias图层上执行centroid算法(跳过几何检查),结果保存为"colonas_centroids.geojson"
5. 基于Colonias图层的"data"字段创建分级设色地图,采用5类分位数分类法与光谱颜色渐变
6. 将地图渲染至"C:/Users/xxx/Desktop/cdmx.png"
7. 保存项目



总结与扩展
踩坑
QGIS软件配置的QGIS MCP插件,通过socket服务器在本地端口(默认9876)提供远程控制QGIS的能力。其缺乏完整的心跳和重连机制,当连接意外断开时可能无法及时感知。Cherry Studio就会出现AI说操作已经成功了,但是QGIS界面没有变化的情况。这时候需要在QGIS插件中先停止,再重新启动。另一方面,使用Deep seek操作QGIS也不稳定,比如使用"execute_code"工具的时候。因为该工具需要Deep seek 编写函数输入,但是Deep seek可能产生语法错误。
扩展
本文的教程基于开源的QGIS MCP插件,在AI和GIS工作流之间建立了桥梁,提供了更自动化和智能的地图服务和空间分析。对于会开发的同学,为了提供更灵活的空间服务,我们可以参考QGIS MCP插件源码,开发符合自己业务需求的QGIS插件。甚至可以让AI优化代码,添加心跳和重连机制,提供更稳定的服务。本文在Cherry studio中通过配置stdio的方式配置了MCP服务,但仅限于本地开发。如果要提供一个MCP服务供外部访问呢,这需要通过SSE (Server-Sent Events)的方式部署MCP服务[3]。
参考文献
-
[1] https://github.com/jjsantos01/qgis_mcp?trk=public_post_comment-text
-
[2] https://github.com/punkpeye/awesome-mcp-clients
-
[3] https://blog.csdn.net/zxd1435513775/article/details/149385757
更多推荐


所有评论(0)