QGISMCP 通过模型上下文协议(MCP)将 QGIS 连接到 Claude AI,使 Claude 能够直接与 QGIS 交互并控制它。此集成支持提示辅助项目创建、图层加载、代码执行等。
该项目基于 (https://github.com/jjsantos01/qgis_mcp)。我只是修复了一些我找到的错误。
该项目强烈依赖于 BlenderMCP 项目由 Siddharth Ahuja
系统主要由两个组件组成:
如果你使用的是 Mac,请安装 uv 如下:
brew install uv
在 Windows PowerShell 上:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
否则,请参阅其网站上的安装说明:安装 uv
⚠️ 请在安装 UV 后再继续
将此仓库下载到你的计算机。你可以通过以下方式克隆:
https://github.com/syauqi-uqi/qgis_mcp_modify1.git
你需要复制文件夹 qgis_mcp_plugin 及其内容到你的 QGIS 用户配置文件插件文件夹中。
你可以在 QGIS 的菜单中找到你的配置文件夹:设置 -> 用户配置文件 -> 打开活动配置文件夹 然后,进入 Python/plugins 并粘贴文件夹 qgis_mcp_plugin。
在 Windows 机器上,插件文件夹通常位于:
C:\Users\USER\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins在 MacOS 上:~/Library/Application\ Support/QGIS/QGIS3/profiles/default/python/plugins
然后关闭 QGIS 并重新打开。转到菜单选项 插件 -> 安装和管理插件,选择 全部 标签并搜索 "QGIS MCP",然后勾选 QGIS MCP 复选框。
转到 Claude > 设置 > 开发者 > 编辑配置 > claude_desktop_config.json 来包含以下内容:
如果找不到“开发者”标签或
claude_desktop_config.json文件,请查看此 文档。
{
"mcpServers": {
"qgis": {
"command": "uv",
"args": [
"--directory",
"#更改此行为你的目录#",
"run",
"qgis_mcp_server.py"
]
}
}
}
插件 -> QGIS MCP -> QGIS MCP


一旦在 Claude 中设置了配置文件,并且 QGIS 中的服务器正在运行,你会看到一个带有 QGIS MCP 工具的锤子图标。

ping - 简单的 ping 命令,用于检查服务器连接性get_qgis_info - 获取当前安装的 QGIS 信息load_project - 从指定路径加载 QGIS 项目create_new_project - 创建新项目并保存get_project_info - 获取当前项目信息add_vector_layer - 向项目中添加矢量图层add_raster_layer - 向项目中添加栅格图层get_layers - 获取当前项目中的所有图层remove_layer - 通过其 ID 移除项目中的图层zoom_to_layer - 放大到指定图层的范围get_layer_features - 从矢量图层中获取特征,可选限制数量execute_processing - 执行具有给定参数的处理算法save_project - 将当前项目保存到给定路径render_map - 将当前地图视图渲染为图像文件execute_code - 执行作为字符串提供的任意 PyQGIS 代码这是我在 演示 中使用的示例: 或者,对于这个更新版本,请参见 (https://www.linkedin.com/posts/syauqi-arka-yudisti-73b236288_qgis-ai-vibemapping-activity-7316248625045483524-hQdB?utm_source=share&utm_medium=member_android&rcm=ACoAAEXNN58BLMyjf4iZIy1KZZJBUFyiNlLtNSg)
你有权访问与 QGIS 交互的工具。你将执行以下操作:
1. 发送 ping 命令检查连接。如果成功,则继续进行以下步骤。
2. 创建一个新的项目并保存到:"C:/Users/USER/GitHub/qgis_mcp/data/cdmx.qgz"
3. 加载矢量图层:"C:/Users/USER/GitHub/qgis_mcp/data/cdmx/mgpc_2019.shp" 并命名为 "Colonias"。
4. 加载栅格图层:"C:/Users/USER/GitHub/qgis_mcp/data/09014.tif" 并命名为 "BJ"
5. 放大到 "BJ" 图层。
6. 对 "Colonias" 图层执行质心算法。跳过几何检查。将输出保存为 "colonias_centroids.geojson"。
7. 执行代码以使用 "Colonias" 图层中的 "POB2010" 字段创建分级色彩填充图。使用五类分位数分类方法和光谱色阶。
8. 将地图渲染为 "C:/Users/USER/GitHub/qgis_mcp/data/cdmx.png"
9. 保存项目。
你有权访问与 QGIS 交互的工具。你将执行以下操作:
1. **发送 ping 命令检查连接**。如果成功,则继续进行以下步骤。
2. **创建一个新的 QGIS 项目**并保存到:
**"D:/PROJECT/MCP/claudemap.qgz"** (使用斜杠 `/` 以确保兼容性)。
3. **加载矢量图层**:
a. 加载 **"D:/PROJECT/MCP/map (2).osm"** (OSM 图层将分为 `points`、`lines`、`multilinestrings`、`multipolygons`)。
b. 加载 **"D:/PROJECT/MCP/Bahan_Mundupesisir/aoi.shp"** 并命名为 **"aoi"**。
4. **放大到 "aoi" 图层**以设置初始范围。
5. **移除/隐藏不必要的图层**:
a. 移除图层 **"map (2) — points"** (右键点击 > 移除图层)。
b. 隐藏图层 **"aoi"** (为了保留范围但不在地图上显示它)。
6. **样式图层**:
a. **"map (2) — lines"**:
- 线颜色:**#ff6201**(橙色)
- 笔画宽度:**0.5 mm**
b. **"map (2) — multilinestrings"**:
- 线颜色:**#8bff07**(霓虹绿)
- 笔画宽度:**0.8 mm**
c. **"map (2) — multipolygons"**:
- 填充颜色:**#fff65f**(淡黄色)
- 笔画颜色:**#fff65f**(与填充相同)
- 笔画宽度:**0.3 mm**
- 透明度:**80%**
7. **创建打印布局(A4 纵向)**:
a. 添加一个 **Map Item**,尺寸为 A4(210x297 mm)。
b. 设置比例尺为 **1:10,000** 并启用 **"锁定图层以供地图项使用"**。
c. 添加 **标题**:
- 文本:**"PETA MUNDUPESISIR BY CLAUDE.AI"**
- 字体:**粗体,24pt**
- 位置:顶部居中。
d. 添加 **比例尺** 和 **图例**(可选)。
8. **导出为 PNG**:
- 路径:**"D:/PROJECT/MCP/claudemap.png"**
- 分辨率:**600 DPI**(确保文件大小不会太大)。
9. **保存 QGIS 项目**。