QGISMCP - QGIS Model Context Protocol Integration について
QGISMCP は、QGIS デスクトップアプリを Model Context Protocol 経由で Claude に接続するプロジェクトです。QGIS プラグイン内のソケットサーバーが Python 製の MCP サーバーからコマンドを受け取り、LLM がプロジェクトの作成、レイヤーの読み込み、処理アルゴリズムの実行、PyQGIS コードの実行を行えます。GIS ユーザーを対象とし、BlenderMCP を基にしています。
主な機能
- 01QGIS プロジェクトの作成、読み込み、保存
- 02ベクターレイヤーとラスターレイヤーの追加と削除
- 03Processing ツールボックスのアルゴリズムの実行
- 04マップビューの画像ファイルへのレンダリング
- 05任意の PyQGIS コードの実行(慎重な利用が必要)
- 06ソケットによるプラグインと MCP サーバー間の通信
活用シーン
- 01プロンプトによる重心計算などの空間解析の実行
- 02フィールドの値に基づく階級区分図の作成
- 03レイヤーの読み込みとプロジェクト設定の自動化
MCP 対応
本プロジェクトは MCP サーバーを含み、ソケット経由で QGIS プラグインと通信して、プロジェクト、レイヤー、処理アルゴリズム、コード実行のツールを Claude Desktop などの MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
QGISMCP - QGIS Model Context Protocol 連携
QGISMCP は、QGIS を Model Context Protocol(MCP) を通じて Claude AI に接続し、Claude が QGIS と直接やり取りして操作できるようにします。この連携により、プロンプトによるプロジェクトの作成、レイヤーの読み込み、コードの実行などが可能になります。
このプロジェクトは、Siddharth Ahuja 氏のプロジェクト BlenderMCP を強く参考にしています。
機能
- 双方向通信:ソケットベースのサーバーを通じて Claude AI を QGIS に接続します。
- プロジェクト操作:QGIS でプロジェクトを作成、読み込み、保存します。
- レイヤー操作:プロジェクトにベクターレイヤーやラスターレイヤーを追加、削除します。
- プロセッシングの実行:プロセッシングアルゴリズム(Processing Toolbox)を実行します。
- コードの実行:Claude から QGIS で任意の Python コードを実行します。非常に強力ですが、このツールの使用には十分注意してください。
コンポーネント
このシステムは、次の 2 つの主要コンポーネントで構成されています。
- QGIS プラグイン:QGIS 内にソケットサーバーを作成し、コマンドを受信して実行する QGIS プラグインです。
- MCP サーバー:Model Context Protocol を実装し、QGIS プラグインに接続する Python サーバーです。
インストール
前提条件
- QGIS 3.X(3.22 のみでテスト済み)
- Claude デスクトップ
- Python 3.10 以降
- uv パッケージマネージャー:
Mac をお使いの場合は、次のように uv をインストールしてください。
brew install uv
Windows Powershell の場合
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
それ以外の場合は、ウェブサイトのインストール手順を参照してください:Install uv
⚠️ UV をインストールする前に先へ進まないでください
コードのダウンロード
このリポジトリをコンピューターにダウンロードしてください。次のようにクローンできます。
git clone [email protected]:jjsantos01/qgis_mcp.git
QGIS プラグイン
フォルダー 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
次に、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が見つからない場合は、こちらのドキュメントを参照してください。
{
"mcpServers": {
"qgis": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/REPO/FOLDER/qgis_mcp/src/qgis_mcp",
"run",
"qgis_mcp_server.py"
]
}
}
}
使い方
接続の開始
- 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コードを実行
コマンド例
以下はデモで使用した例です:
You have access to the tools to work with QGIS. You will do the following:
1. Ping to check the connection. If it works, continue with the following steps.
2. Create a new project and save it at: "C:/Users/USER/GitHub/qgis_mcp/data/cdmx.qgz"
3. Load the vector layer: ""C:/Users/USER/GitHub/qgis_mcp/data/cdmx/mgpc_2019.shp" and name it "Colonias".
4. Load the raster layer: "C:/Users/USER/GitHub/qgis_mcp/data/09014.tif" and name it "BJ"
5. Zoom to the "BJ" layer.
6. Execute the centroid algorithm on the "Colonias" layer. Skip the geometry check. Save the output to "colonias_centroids.geojson".
7. Execute code to create a choropleth map using the "POB2010" field in the "Colonias" layer. Use the quantile classification method with 5 classes and the Spectral color ramp.
8. Render the map to "C:/Users/USER/GitHub/qgis_mcp/data/cdmx.png"
9. Save the project.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。