mcpField
G
Gdal Mcp

Gdal Mcp

ローカル
github.com/Wayfinder-Foundry地図・旅行8323 週間前に更新

Gdal Mcp について

gdal-mcp は、GDAL と Rasterio のラスターおよびベクターの処理を AI エージェントに公開する MCP サーバーです。リプロジェクションや再サンプリングなど方法論が結果を左右する操作の前に、構造化された根拠の提出を求める反映ミドルウェアを備えています。

主な機能

  1. 01ラスターとベクターの情報取得・変換・再投影
  2. 02ベクターデータのクリップ、バッファ、簡略化
  3. 03ワークスペースディレクトリによるパス制限
  4. 04重要な操作前の構造化された根拠の提出
  5. 05ドメア単位で根拠をキャッシュし再利用

活用シーン

  1. 01AI エージェントによるリモートセンシングや GIS データの処理
  2. 02地理空間データの一括変換や再投影
  3. 03地理空間処理における手法選択の根拠の記録

MCP 対応

本プロジェクトは MCP サーバーとして、raster_* および vector_* のツール、カタログやメタデータのリソース、根拠の記述を支援するプロンプトを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"gdal": {
"command": "uvx",
"args": [
"gdal-mcp"
],
"env": {
"GDAL_MCP_WORKSPACES": "<GDAL_MCP_WORKSPACES>"
}
}
}
}
起動コマンドuvx gdal-mcp
設定が必要な環境変数
GDAL_MCP_WORKSPACES

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypigdal-mcp

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

gdal-mcp

AI エージェントに GDAL/Rasterio の操作を提供する MCP サーバーです。CRS の選択、リサンプリング方法、クエリ範囲など、手法が重要な操作の実行前に、構造化された根拠を求めるリフレクションミドルウェアを備えています。

CI License: MIT Python 3.11+ FastMCP 2.0 PyPI Downloads

インストール

uvx を使用する場合(推奨)
uvx --from gdal-mcp gdal --transport stdio
Docker を使用する場合
docker build -t gdal-mcp .
docker run -i gdal-mcp gdal --transport stdio
ローカル開発
git clone https://github.com/Wayfinder-Foundry/gdal-mcp.git
cd gdal-mcp
uv sync
uv run gdal --transport stdio

MCP クライアントを設定する

Claude Desktop

claude_desktop_config.json に追加します(macOS:~/Library/Application Support/Claude/、 Windows:%APPDATA%\Claude\、Linux:~/.config/Claude/):

{
  "mcpServers": {
    "gdal-mcp": {
      "command": "uvx",
      "args": ["--from", "gdal-mcp", "gdal", "--transport", "stdio"],
      "env": {
        "GDAL_MCP_WORKSPACES": "/path/to/your/geospatial/data"
      }
    }
  }
}

Claude Desktop を再起動します。MCP サーバーのインジケーターが表示され、raster_* と vector_* のツールを利用できるようになります。

ワークスペースの制限

GDAL_MCP_WORKSPACES は、サーバーが操作を許可されているディレクトリをコロン区切りで指定するリストです。設定されていない場合は、すべてのパスが許可され、警告が記録されます。

任意のツール表示フラグ:RASTER=true、VECTOR=true。すべての設定項目については docs/ENVIRONMENT_VARIABLES.md を参照してください。

ツール

  • ラスター: raster_info、raster_convert、raster_reproject、raster_stats、raster_query
  • ベクター: vector_info、vector_convert、vector_reproject、vector_clip、vector_buffer、vector_simplify、vector_query
  • リソース: カタログ(workspace://...)、メタデータ(metadata://...)、リファレンス(reference://...)、クエリ結果(query://result/{id})
  • プロンプト: justify_crs_selection、justify_resampling_method、justify_query_extent(ほかにも src/prompts/ にあります)

パラメーター、戻り値の形式、実例については TOOLS.md を参照してください。

リフレクションミドルウェア

手法が重要なツールは、呼び出し元のエージェントが構造化された根拠を提示するまで実行を拒否します。処理の流れは次のとおりです。

  1. エージェントが、たとえば raster_reproject(dst_crs="EPSG:3857", resampling="cubic", ...) を呼び出します。
  2. ミドルウェアが .preflight/justifications/{domain}/ に一致するハッシュがあるかを確認します。
  3. 見つからない場合、関連するプロンプト(例:justify_crs_selection)を示すヒントとともに、呼び出しから ToolError が発生します。
  4. エージェントがプロンプトを呼び出し、Justification スキーマ(意図、検討した代替案、選択、トレードオフ、確信度)に記入してから、__reflection ペイロードを指定してツールを再度呼び出します。
  5. 根拠はドメインごとにキャッシュされるため、EPSG:3857 に関する CRS の根拠は、以降の呼び出しで raster_reproject と vector_reproject の両方に適用されます。

スキーマとキャッシュの構成については docs/REFLECTION.md を、これが存在する理由については docs/PHILOSOPHY.md を参照してください。

ドキュメント

トラブルシューティング

Access denied: path outside allowed workspaces — 「ワークスペースの制限」を参照し、対象のディレクトリを含めるよう GDAL_MCP_WORKSPACES を設定してください。

MCP クライアントにサーバーが表示されない — uvx --from gdal-mcp gdal --help を単独で実行できることを確認し、設定ファイルを編集した後にクライアントを再起動してください。

License

MIT — see LICENSE.

Built on FastMCP, Rasterio, pyogrio, and Shapely.

コメント

MCP は初めてですか?

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

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