mcpField
Q
QGISMCP - QGIS Model Context Protocol Integration

QGISMCP - QGIS Model Context Protocol Integration

ローカル
github.com/jjsantos01地図・旅行1.1k56 週間前に更新

QGISMCP - QGIS Model Context Protocol Integration について

QGISMCP は、QGIS デスクトップアプリを Model Context Protocol 経由で Claude に接続するプロジェクトです。QGIS プラグイン内のソケットサーバーが Python 製の MCP サーバーからコマンドを受け取り、LLM がプロジェクトの作成、レイヤーの読み込み、処理アルゴリズムの実行、PyQGIS コードの実行を行えます。GIS ユーザーを対象とし、BlenderMCP を基にしています。

主な機能

  1. 01QGIS プロジェクトの作成、読み込み、保存
  2. 02ベクターレイヤーとラスターレイヤーの追加と削除
  3. 03Processing ツールボックスのアルゴリズムの実行
  4. 04マップビューの画像ファイルへのレンダリング
  5. 05任意の PyQGIS コードの実行(慎重な利用が必要)
  6. 06ソケットによるプラグインと MCP サーバー間の通信

活用シーン

  1. 01プロンプトによる重心計算などの空間解析の実行
  2. 02フィールドの値に基づく階級区分図の作成
  3. 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 つの主要コンポーネントで構成されています。

  1. QGIS プラグイン:QGIS 内にソケットサーバーを作成し、コマンドを受信して実行する QGIS プラグインです。
  2. 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"
            ]
        }

    }
}

使い方

接続の開始
  1. QGIS で plugins > QGIS MCP > QGIS MCP に移動します。 プラグインメニュー
  2. 「Start Server」をクリックします。 サーバーを起動
Claude での使用

Claude の設定ファイルを設定し、QGIS でサーバーを起動すると、QGIS MCP のツールが表示されたハンマーアイコンが表示されます。

Claude のツール

ツール
  • 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.

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。