使用说明
项目简介
该项目 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 监听器是否正常运行。
安装步骤
- 安装 QGIS: 确保已安装 QGIS 3.x 或更高版本。
- 安装 Python: 确保安装了 Python 3.8 或更高版本(QGIS 自带 Python 环境)。
- 安装 Claude Desktop 应用: 确保已安装 Anthropic Claude Desktop 应用程序。
- 启动 QGIS 监听器:
- 打开 QGIS。
- 打开 QGIS 的 Python 控制台(插件 -> Python 控制台)。
- 点击 "显示编辑器" 按钮。
- 复制 qgis_listener.py 文件的内容粘贴到编辑器中。
- 点击 "运行脚本" 按钮 (绿色三角形)。
- 观察控制台输出,确认看到 "✅ QGIS listener running on localhost:12345" 等信息,表示监听器已成功启动。请保持 QGIS Python 控制台开启,监听器才能持续运行。
- 安装 MCP SDK: 在命令行中使用 pip 安装 MCP SDK (根据仓库 'qgis_mcp_server.py' 使用的库,实际应为 'mcp-sdk',请用户根据实际情况和 Anthropic 官方文档调整):
pip install mcp-sdk - 下载 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' 文件的完整路径。
基本使用方法
-
启动 QGIS 监听器: 按照安装步骤第 4 步,在 QGIS Python 控制台中运行 'qgis_listener.py' 脚本,确保监听器正在运行。
-
启动 MCP 服务器: 在命令行中,使用 Python 解释器运行 'qgis_mcp_server.py' 脚本:
python /full/path/to/qgis_mcp_server.py同样,请将 '/full/path/to/qgis_mcp_server.py' 替换为实际路径。
-
启动 Claude Desktop: 打开 Claude Desktop 应用程序。
-
与 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 提出的命令前仔细审查。
信息
分类
桌面与硬件