使用说明

项目简介

该项目 claude-qgis-mcp 旨在通过 Anthropic 的 Model Context Protocol (MCP) 将 Claude AI 与开源地理信息系统软件 QGIS 集成。它允许用户使用自然语言指示 Claude 控制 QGIS,实现地理空间数据的处理、分析和可视化。

主要功能点

  • 执行 QGIS Python 命令: 允许 Claude 直接在 QGIS 环境中执行 Python 代码,实现各种 GIS 功能。
  • 自动化 GIS 工作流: 通过自然语言指令,Claude 可以自动化复杂的 GIS 操作流程。
  • 地理空间数据分析: 利用 Claude 的推理能力分析空间数据,例如计算面积、缓冲区分析等。
  • 地图生成与可视化: 通过对话方式指示 Claude 生成地图和地理空间数据可视化结果。
  • QGIS 状态检查: 提供工具检查 QGIS 监听器是否正常运行。

安装步骤

  1. 安装 QGIS: 确保已安装 QGIS 3.x 或更高版本。
  2. 安装 Python: 确保安装了 Python 3.8 或更高版本(QGIS 自带 Python 环境)。
  3. 安装 Claude Desktop 应用: 确保已安装 Anthropic Claude Desktop 应用程序。
  4. 启动 QGIS 监听器:
    • 打开 QGIS。
    • 打开 QGIS 的 Python 控制台(插件 -> Python 控制台)。
    • 点击 "显示编辑器" 按钮。
    • 复制 qgis_listener.py 文件的内容粘贴到编辑器中。
    • 点击 "运行脚本" 按钮 (绿色三角形)。
    • 观察控制台输出,确认看到 "✅ QGIS listener running on localhost:12345" 等信息,表示监听器已成功启动。请保持 QGIS Python 控制台开启,监听器才能持续运行。
  5. 安装 MCP SDK: 在命令行中使用 pip 安装 MCP SDK (根据仓库 'qgis_mcp_server.py' 使用的库,实际应为 'mcp-sdk',请用户根据实际情况和 Anthropic 官方文档调整):
    pip install mcp-sdk
  6. 下载 MCP 服务器脚本: 下载 qgis_mcp_server.py 文件,并保存到本地计算机的合适位置,例如 '/path/to/qgis_mcp_server.py'。

服务器配置

要让 Claude Desktop 连接到此 MCP 服务器,需要编辑 Claude Desktop 的配置文件 'claude_desktop_config.json'。 该文件通常位于:

  • Windows: '%APPDATA%\Claude Desktop'
  • macOS: '~/Library/Application Support/Claude Desktop/'
  • Linux: '~/.config/Claude Desktop/'

如果文件不存在则手动创建,并添加以下 JSON 配置信息。如果文件已存在,将以下 "qgis" 服务器配置添加到 'mcpServers' 字段中。

{
    "mcpServers": {
        "qgis": {  // 服务器名称,可以自定义,Claude 客户端通过此名称引用
            "command": "python", // 启动服务器的命令,这里使用 python 解释器
            "args": ["/full/path/to/qgis_mcp_server.py"] // 启动服务器脚本的参数,这里是服务器脚本的完整路径。请将 "/full/path/to/qgis_mcp_server.py" 替换为实际保存 qgis_mcp_server.py 文件的路径
        }
    }
}

请务必将 '/full/path/to/qgis_mcp_server.py' 替换为你实际保存 'qgis_mcp_server.py' 文件的完整路径。

基本使用方法

  1. 启动 QGIS 监听器: 按照安装步骤第 4 步,在 QGIS Python 控制台中运行 'qgis_listener.py' 脚本,确保监听器正在运行。

  2. 启动 MCP 服务器: 在命令行中,使用 Python 解释器运行 'qgis_mcp_server.py' 脚本:

    python /full/path/to/qgis_mcp_server.py

    同样,请将 '/full/path/to/qgis_mcp_server.py' 替换为实际路径。

  3. 启动 Claude Desktop: 打开 Claude Desktop 应用程序。

  4. 与 Claude 对话: 在 Claude 中发起对话,可以使用自然语言指示 Claude 执行 QGIS 命令。例如:

    • "列出当前 QGIS 项目中的所有图层"
    • "计算 'parcels' 图层中所有多边形的总面积"
    • "添加 USGS 地形图的 WMS 图层"
    • "检查 QGIS 状态"

    Claude 可能会建议使用 'execute_qgis_command' 或 'qgis_status' 工具,你需要确认允许 Claude 使用这些工具。

请参考 example_commands.py 文件获取更多可用的 QGIS 命令示例。

注意安全: 'qgis_listener.py' 使用 'exec()' 执行接收到的 Python 代码,存在安全风险。请仅在信任的环境中使用此集成,并在批准执行 Claude 提出的命令前仔细审查。

信息

分类

桌面与硬件