article
README
🚀 QGISMCP - QGIS 模型上下文协议集成
QGISMCP 借助模型上下文协议 (MCP),将 QGIS 与 Claude AI 相连接,让 Claude 能够直接与 QGIS 进行交互并对其加以控制。这一集成可实现提示辅助项目创建、图层加载、代码执行等功能。
该项目高度借鉴了由 Siddharth Ahuja 开发的 BlenderMCP 项目。
🚀 快速开始
QGISMCP 为 QGIS 与 Claude AI 的交互搭建了桥梁,能实现多种强大功能。以下将详细介绍其功能、组件、安装及使用方法。
✨ 主要特性
- 双向通信:通过基于套接字的服务器,实现 Claude AI 与 QGIS 的连接。
- 项目操作:支持创建、加载和保存 QGIS 项目。
- 图层操作:可向项目中添加或移除矢量或栅格图层。
- 执行处理工具:能够执行处理算法(处理工具箱)。
- 代码执行:可在 QGIS 中运行任意 Python 代码。不过,此工具功能强大,请谨慎使用。
🔧 技术细节
该系统由两个主要组件构成:
- QGIS 插件:这是一个 QGIS 插件,它会创建一个套接字服务器,用于在 QGIS 中接收并执行命令。
- MCP 服务器:这是一个 Python 服务器,它实现了模型上下文协议,并与 QGIS 插件相连接。
📦 安装指南
先决条件
- QGIS 3.X(仅在 3.22 上进行过测试)
- 云桌面
- Python 3.10 或更高版本
- uv 包管理器:
- 如果使用 Mac,可按如下方式安装 uv:
brew install uv
- 在 Windows Powershell 中:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- 否则,请参考其官网安装说明:[安装 uv](https://docs.astral.sh/uv/getting-started/installation)
QGIS 插件安装
要安装 QGIS 插件,您有以下两种方式:
- 使用 QGIS 官方插件库 搜索并安装 "qgis-mcp"。
- 或者从源代码编译并安装。
💻 使用示例
命令列表
以下是可用的命令列表及其简要描述:
- ping:检查连接状态。
- create_new_project:创建新项目并在指定路径保存。
- load_vector_layer:加载矢量图层并指定名称。
- load_raster_layer:加载栅格图层并指定名称。
- get_layers:获取当前项目中的所有图层。
- remove_layer:根据 ID 移除图层。
- zoom_to_layer:放大到指定图层的范围。
- execute_processing:执行处理算法并指定参数。
- save_project:保存当前项目到指定路径。
- render_map:渲染当前地图视图并保存为图像文件。
- execute_code:执行任意 PyQGIS 代码。
基础用法
以下是一个示例,用于演示如何使用这些命令:
1. 使用 ping 检查连接状态。如果成功,则继续下一步。
2. 创建新项目并在 "C:/Users/USER/GitHub/qgis_mcp/data/cdmx.qgz" 路径保存。
3. 加载矢量图层:"C:/Users/
扫码联系在线客服