SuperAPI AI 工具集

qgis_mcp

QGISMCP 是一个基于 Model Context Protocol(MCP)的集成项目,用于连接 QGIS Desktop 与 Claude AI,让 Claude 能通过自然语言提示直接控制和操作 QGIS。项目基于 BlenderMCP 构建,采用套接字实现双向通信。主要能力包括:创建、加载和保存 QGIS 项目;添加或移除矢量/栅格图层;执行 Processing Toolbox 中的处理算法;以及从 Claude 运行任意 Python 代码。系统由两部分组成:在 QGIS 内建立套接字服务器的 QGIS 插件,以及实现 MCP 并连接插件的 Python 服务器。使用前需安装 QGIS 3.X(仅在 3.22 测试)、Python 3.10+ 和 uv 包管理器,并按说明将插件复制到 QGIS 插件目录、启用插件、配置 Claude Desktop 的 claude_desktop_config.json。安装启动后可在 Claude 中看到锤子图标及工具列表(如 ping、load_project、add_vector_layer、execute_processing、execute_code 等)。注意:执行任意 Python 代码能力很强,需谨慎使用。

访问官网

工具介绍

QGISMCP(QGIS Model Context Protocol Integration)是一个将 QGIS Desktop 与 Claude AI 通过 Model Context Protocol(MCP)连接起来的集成方案,使 Claude 能够直接与 QGIS 交互并进行控制。该项目基于 Siddharth Ahuja 的 BlenderMCP 项目构建。

用途: 通过提示辅助完成项目创建、图层加载、代码执行等 GIS 操作,让大语言模型能够操作 QGIS 桌面端。

主要能力:

  • 双向通信:通过基于套接字的服务器连接 Claude AI 与 QGIS。
  • 项目操作:在 QGIS 中创建、加载和保存项目。
  • 图层操作:向项目添加或移除矢量或栅格图层。
  • 执行处理:运行 Processing Toolbox 中的处理算法。
  • 代码执行:从 Claude 在 QGIS 中运行任意 Python 代码。功能非常强大,但使用该工具时也需非常谨慎。

系统组成: 系统由两个主要组件构成:

  1. QGIS 插件:在 QGIS 内创建套接字服务器,用于接收并执行命令。
  2. MCP Server:实现 Model Context Protocol 的 Python 服务器,并连接到 QGIS 插件。

环境要求:

  • QGIS 3.X(仅在 3.22 上测试过)
  • Python 3.10 或更新版本
  • uv 包管理器:在 Mac 上请按要求安装 uv,在 Windows PowerShell 上也有对应方式,其他安装说明见其官网。注意:在安装 UV 之前请勿继续后续步骤。

安装方式:

  1. 将本仓库下载到计算机,可通过克隆方式获取。
  2. 将 qgis_mcp_plugin 文件夹及其内容复制到 QGIS 配置的插件文件夹中。 可通过 QGIS 菜单 Settings -> User profiles -> Open active profile folder 获取配置文件夹,然后进入 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
  3. 关闭 QGIS 并重新打开。前往菜单 Plugins > Installing and Managing Plugins,选择 All 标签页并搜索 "QGIS MCP",然后勾选 QGIS MCP 复选框。

Claude for Desktop 集成: 进入 Claude > Settings > Developer > Edit Config > claude_desktop_config.json,按说明写入相应配置。如果找不到 "Developers tab" 或 claude_desktop_config.json,可查阅相关文档。

启动连接: 在 QGIS 中,依次进入 plugins > QGIS MCP > QGIS MCP,点击 "Start Server"。

在 Claude 中使用: 在 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 代码

示例命令中提供了用于演示的示例。

限制:

  • QGIS 版本仅在 3.22 上测试过。
  • 执行任意 Python 代码的能力非常强大,但需非常谨慎使用。
  • 其他未在资料中提及的收费、价格、平台或效果信息暂未提供。