mcpField
G
GIS MCP Server

GIS MCP Server

ローカル
gis-mcp.com地図・旅行20110 週間前に更新

GIS MCP Server について

GIS MCP Server は、LLM とAIアシスタントを地理空間処理に接続するオープンソースの MCP サーバーです。Shapely、GeoPandas、PyProj、Rasterio などの Python GIS ライブラリをラップし、92 以上のツールを提供します。

主な機能

  1. 01複数の Python ライブラリにまたがる 92 以上の GIS ツール
  2. 02ジオメトリ演算、バッファ、空間オーバーレイ
  3. 03参照座標系間の座標再投影
  4. 04NDVI 計算を含むラスターおよびベクターデータ処理
  5. 05PySAL による空間統計とクラスタリング
  6. 06STDIO と HTTP のトランスポートモード

活用シーン

  1. 01チャットボットへの地理空間計算機能の追加
  2. 02ベクターまたはラスターデータの一括空間処理
  3. 03Claude Desktop や Cursor IDE からの GIS 分析実行

MCP 対応

本プロジェクトは GIS 操作を MCP クライアントへツールとして公開する MCP サーバーです。STDIO または HTTP で動作し、ファイルのアップロードとダウンロード用のストレージエンドポイントを備えます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"gis": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mahdin75/gis-mcp"
]
}
}
}
起動コマンドdocker run -i --rm mahdin75/gis-mcp

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

パッケージ
ocimahdin75/gis-mcp

ツール

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

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

詳細

GIS MCP サーバー

GIS-MCP は、AI アシスタントや大規模言語モデル(LLM)を GIS および地理空間処理に接続する、オープンソースの Model Context Protocol(MCP)サーバーです。

MCP 対応クライアントを通じて、AI エージェントが地理空間解析、空間データ処理、ベクターおよびラスターデータの操作、座標変換、空間統計、マッピングなど、さまざまな GIS ワークフローを実行できるようにします。

🌐 公式ドキュメント: https://gis-mcp.com

📦 PyPI: https://pypi.org/project/gis-mcp/

💻 ソースコード: https://github.com/mahdin75/gis-mcp

92 種類以上の GIS ツールがあり、Shapely、GeoPandas、PyProj、Rasterio、PySAL、可視化、衛星画像、気候、生態学、移動、土地被覆データに対応しています。


MCP Toplist

| Category | Badges | | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Package** | [![PyPI version](https://img.shields.io/pypi/v/gis-mcp.svg)](https://pypi.org/project/gis-mcp/) [![PyPI downloads](https://static.pepy.tech/personalized-badge/gis-mcp?period=total&units=international_system&left_color=grey&right_color=blue&left_text=PyPI%20downloads)](https://pepy.tech/project/gis-mcp) [![Tests](https://github.com/mahdin75/gis-mcp/actions/workflows/test.yml/badge.svg)](https://github.com/mahdin75/gis-mcp/actions/workflows/test.yml) | | **Installation & Transport** | [![Docker Installation](https://img.shields.io/badge/Docker-Installation-2496ED?logo=docker&logoColor=white)](https://gis-mcp.com/install/docker/) [![Transport](https://img.shields.io/badge/Transport-HTTP%20%7C%20stdio-blue)](https://github.com/mahdin75/gis-mcp) | | **Storage** | [![Local Filesystem](https://img.shields.io/badge/Local-Filesystem-4CAF50?logo=files&logoColor=white)](https://gis-mcp.com/storage-configuration/) [![GCP Cloud Storage](https://img.shields.io/badge/GCP-Cloud%20Storage-4285F4?logo=googlecloud&logoColor=white)](https://gis-mcp.com/storage-configuration/) | | **Data Sources** | [![Climate](https://img.shields.io/badge/Climate-Data-B91C1C?logo=weather&logoColor=white)](https://gis-mcp.com/data-gathering/climate/) [![Biodiversity](https://img.shields.io/badge/Biodiversity-Data-4CAF50?logo=leaf&logoColor=white)](https://gis-mcp.com/data-gathering/ecology/) [![LandCover](https://img.shields.io/badge/LandCover-Data-5D4037?logo=map&logoColor=white)](https://gis-mcp.com/data-gathering/land_cover/) [![Movement](https://img.shields.io/badge/Movement-Data-FF6B35?logo=person-walking&logoColor=white)](https://gis-mcp.com/data-gathering/movement/) [![Satellite](https://img.shields.io/badge/Satellite-Imagery-6C5CE7?logo=satellite&logoColor=white)](https://gis-mcp.com/data-gathering/satellite_imagery/) [![Administrative](https://img.shields.io/badge/Administrative-Boundaries-7289DA?logo=map&logoColor=white)](https://gis-mcp.com/data-gathering/administrative_boundaries/) | | **Agentic AI** | [![LangChain Agent Example]()](https://gis-mcp.com/gis-ai-agent/langchain/basic-geospatial-agent/) [![OpenAI Agent Example]()](https://gis-mcp.com/gis-ai-agent/openai-nodejs/basic-geospatial-agent/) | | **Community** | [![Discord](https://img.shields.io/badge/Discord-Community-7289DA?logo=discord&logoColor=white)](https://discord.gg/SeVmVhVbk) [![YouTube](https://img.shields.io/badge/YouTube-Tutorials-B91C1C?logo=youtube&logoColor=white)](https://www.youtube.com/@gis-mcp) [![DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/mahdin75/gis-mcp) |
✨ チャットボットで正確な地理空間分析を実行しませんか? ✨

GIS-MCP をインストールして、AI の空間分析能力を高めましょう!


GIS MCP サーバーのロゴ

現在のバージョンは 0.15.0(ベータ版)です:

このプロジェクトの開発に参加してくださる方や、貢献してくださる方を歓迎します。

🎥 デモ

GIS MCP サーバーのデモ

📋 目次

🚀 機能

GIS MCP Server は、AI アシスタントに高度な地理空間インテリジェンスを提供します。主な機能は次のとおりです。

  • 🔹 包括的なジオメトリ操作 – 交差、和、バッファー、差分など、さまざまな幾何変換を簡単に実行できます。
  • 🔹 高度な座標変換 – 座標参照系間でジオメトリを簡単に再投影・変換できます。
  • 🔹 正確な計測 – 距離、面積、長さ、重心を正確に計算できます。
  • 🔹 空間分析と検証 – ジオメトリを検証し、近接性を確認し、空間オーバーレイや結合を実行できます。
  • 🔹 ラスターデータとベクターデータのサポート – ラスターレイヤーの処理、NDVI などの指標の計算、クリップ、リサンプリング、ベクターデータとのマージができます。
  • 🔹 空間統計とモデリング – PySAL を活用し、空間的自己相関、クラスタリング、近傍分析を実行できます。
  • 🔹 簡単な統合 – Claude Desktop や Cursor IDE などの MCP 対応クライアントにシームレスに接続できます。
  • 🔹 HTTP/SSE トランスポート – ファイルのアップロード/ダウンロード操作に対応する RESTful ストレージエンドポイントを備えた HTTP サービスとして実行できます。
  • 🔹 柔軟なストレージ – デフォルトではローカルファイルシステムを使用し、ファイルを GCS バケットに保存する場合は Google Cloud Storage を利用できます。
  • 🔹 柔軟性と拡張性 – Python ベースの GIS ライブラリをサポートし、カスタムツールやワークフロー拡張にも対応しています。

🌟 ヒント: GIS MCP Server を使うと、AI が「空間的に考える」ことができるようになり、環境分析、地図作成、位置情報インテリジェンスの新たな機能が利用可能になります。


💾 ストレージ

GIS MCP Server は、ファイルのアップロード、ダウンロード、ツールの出力に、次の 2 つのストレージバックエンドをサポートしています。

バックエンド使用するケース設定方法
ローカルファイルシステムデフォルト。ディスク上のファイル(Docker ボリュームを含む)--storage-path または GIS_MCP_STORAGE_PATH
Google Cloud Storage (GCP)GCS バケットにファイルを保存する場合--storage-config / GIS_MCP_STORAGE_CONFIG または GIS_MCP_STORAGE_PROVIDER=gcp

次のコマンドで GCP サポートをインストールします。

pip install gis-mcp[gcp]

セットアップの詳細(パス、IAM、Docker、認証情報)については、ストレージの設定をご覧ください。


📋 前提条件

  • Python 3.10 以降
  • MCP 対応クライアント(Claude Desktop や Cursor など)
  • パッケージのインストールに必要なインターネット接続

バイブコーディング

バイブコーディングでエージェントを構築する場合は、GIS MCP の以下のマップをモデルに渡してください。

  • llms.txt:コンテキストウィンドウが小さい場合向けの、厳選された概要です。
  • llms-full.txt:コンテキストウィンドウが大きい場合向けの、ドキュメント全体のマップです。

リポジトリのルートにもコピー(llms.txt、llms-full.txt)があります。MkDocs のビルド時にドキュメントから再生成されます。

🛠 インストール

ニーズに最適なインストール方法を選択してください。

🐳 Docker によるインストール

GIS MCP Server は Docker を使用して実行できます。依存関係がすべて事前にインストールされた、分離された環境を利用できます。

重要: Dockerfile と Dockerfile.local は、どちらもデフォルトで HTTP トランスポートモードが有効になっています。サーバーはポート 9010 で実行され、http://localhost:9010/mcp からアクセスできます。

Dockerfile を使用する場合

メインの Dockerfile は、PyPI からパッケージをインストールします。

  1. Docker イメージをビルドします。
docker build -t gis-mcp .
  1. コンテナを実行します(デフォルトで HTTP モードが有効です)。
docker run -p 9010:9010 gis-mcp
Dockerfile.local を使用する場合

Dockerfile.local は、ローカルのソースファイルからパッケージをインストールします(開発やカスタムビルドに便利です)。

  1. Docker イメージをビルドします。
docker build -f Dockerfile.local -t gis-mcp:local .
  1. コンテナを実行します(デフォルトで HTTP モードが有効です)。
docker run -p 9010:9010 gis-mcp:local

HTTP トランスポートモードでは、サーバーは http://localhost:9010/mcp で利用できます。

Docker の設定と環境変数の詳細については、Docker インストールガイドをご覧ください。

📦 pip によるインストール

ほとんどのユーザーには、pip によるインストールをおすすめします。

  1. uv パッケージマネージャーをインストールします。
pip install uv
  1. 仮想環境を作成します(Python 3.10 以降)。
uv venv --python=3.10
  1. 仮想環境を有効にします。

Windows(PowerShell)の場合:

.\.venv\Scripts\Activate.ps1

Linux の場合:

source .venv/bin/activate
  1. パッケージをインストールします。
uv pip install gis-mcp
可視化機能を含めてインストールする

可視化機能(インタラクティブマップ用の Folium と PyDeck)を使用する場合は、次のコマンドでインストールします。

uv pip install gis-mcp[visualize]

これにより、次の追加の依存関係がインストールされます。

  • folium>=0.15.0 - インタラクティブなウェブマップの作成用
  • pydeck>=0.9.0 - 高度な 3D 可視化用
  1. サーバーを起動します。
gis-mcp

デフォルトでは、サーバーは STDIO トランスポートモードで実行されます。このモードはローカル開発や、Claude Desktop または Cursor IDE との連携に最適です。

ネットワーク環境にデプロイする場合は、HTTP トランスポートモードでサーバーを実行することもできます。

export GIS_MCP_TRANSPORT=http
export GIS_MCP_PORT=8080
gis-mcp

HTTP または SSE トランスポートモードで実行する場合、次のエンドポイントを利用できます。

  • MCP エンドポイント:http://host:port/mcp(HTTP)または http://host:port/sse(SSE)
  • ストレージエンドポイント:
    • POST /storage/upload - ファイルをサーバーストレージにアップロードします
    • GET /storage/download?path=<file> - サーバーストレージからファイルをダウンロードします
    • GET /storage/list?path=<dir> - サーバーストレージ内のファイルを一覧表示します

トランスポートモードの詳細とエンドポイントの完全なドキュメントについては、以下をご覧ください。

pip の設定

Claude または Cursor で pip インストールを使用するには、次の設定を追加します。

Claude Desktop:

Windows:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp",
      "args": []
    }
  }
}

Linux/Mac:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "/home/YourUsername/.venv/bin/gis-mcp",
      "args": []
    }
  }
}

Cursor IDE(.cursor/mcp.json を作成):

Windows:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp",
      "args": []
    }
  }
}

Linux/Mac:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "/home/YourUsername/.venv/bin/gis-mcp",
      "args": []
    }
  }
}

設定後:

  1. YourUsername を実際のユーザー名に置き換えてください
  2. 開発用にインストールする場合は、/path/to/gis-mcp をプロジェクトの実際のパスに置き換えてください
  3. 変更を適用するため、IDE を再起動してください
  4. Claude または Cursor で、すべての GIS 操作を使用できるようになります!
🛠 開発用インストール

コントリビューターおよび開発者向け:

  1. uv パッケージマネージャーをインストールします:
pip install uv
  1. 仮想環境を作成します:
uv venv --python=3.10
  1. 開発モードでパッケージをインストールします:
uv pip install -e .
  1. サーバーを起動します:
python -m gis_mcp
開発用の設定

Claude または Cursor で開発用インストールを使用するには、次の設定を追加します。

Claude Desktop:

Windows:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python",
      "args": ["-m", "gis_mcp"]
    }
  }
}

Linux/Mac:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "/path/to/gis-mcp/.venv/bin/python",
      "args": ["-m", "gis_mcp"]
    }
  }
}

Cursor IDE(.cursor/mcp.json を作成):

Windows:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python",
      "args": ["-m", "gis_mcp"]
    }
  }
}

Linux/Mac:

{
  "mcpServers": {
    "gis-mcp": {
      "command": "/path/to/gis-mcp/.venv/bin/python",
      "args": ["-m", "gis_mcp"]
    }
  }
}

設定後:

  1. YourUsername を実際のユーザー名に置き換えてください
  2. 開発用にインストールする場合は、/path/to/gis-mcp をプロジェクトの実際のパスに置き換えてください
  3. 変更を適用するため、IDE を再起動してください
  4. Claude または Cursor で、すべての GIS 操作を使用できるようになります!

🤖 最初の GIS AI エージェントを作成する

実際の GIS MCP ツール(架空の空間計算ではありません)を呼び出すエージェントを作成します。

LangChain(Python)— 公園のバッファ近接分析

チュートリアル:公園のバッファ近接分析エージェント

サンプル:agents/Langchain/

LangGraph(Python)— 状態を保持する敷地カバレッジ分析

チュートリアル:状態を保持する敷地カバレッジのワークフロー

サンプル:agents/LangGraph/

  • 明示的なグラフ:解釈 → 計画 → GIS MCP ツールの実行 → 検証 → 応答
  • LLM を使わずに検証:python agents/LangGraph/verify_graph.py
LangGraph(Python)— マルチエージェントによるセットバック分析

チュートリアル:マルチエージェントによるセットバック分析ワークフロー

  • プランナー/分析/検証エージェント。GIS MCP を呼び出すのは分析エージェントのみです
  • 検証:python agents/LangGraph/verify_multi_agent.py
その他のエージェント関連ドキュメント

👉 エージェントチュートリアルの概要 →

最小構成のスターター:templates/(langchain-gis-agent、langgraph-gis-workflow、langgraph-multi-agent-gis)

こちらも利用できます:OpenAI Agents SDK(Node.js)

📝 Medium の記事(LangChain 入門)→

🎥 YouTube →

📚 利用可能な関数

このセクションでは、ライブラリごとに整理した、利用可能なすべての関数を網羅的に紹介します。

🔷 Shapely 関数(合計 29 個)

基本的な幾何演算:

  • buffer - ジオメトリの周囲にバッファーを作成
  • intersection - 2 つのジオメトリの交差部分を取得
  • union - 2 つのジオメトリを結合
  • difference - ジオメトリ間の差分を取得
  • symmetric_difference - 対称差を取得

幾何プロパティ:

  • convex_hull - 凸包を計算
  • envelope - バウンディングボックスを取得
  • minimum_rotated_rectangle - 最小回転矩形を取得
  • get_centroid - 重心点を取得
  • get_bounds - ジオメトリの境界を取得
  • get_coordinates - 座標配列を抽出
  • get_geometry_type - ジオメトリ型の名前を取得

変換:

  • rotate_geometry - 角度を指定してジオメトリを回転
  • scale_geometry - 係数を指定してジオメトリを拡大・縮小
  • translate_geometry - オフセットを指定してジオメトリを移動

高度な演算:

  • triangulate_geometry - 三角形分割を作成
  • voronoi - ボロノイ図を作成
  • unary_union_geometries - 複数のジオメトリを結合

測定:

  • get_length - ジオメトリの長さを計算
  • get_area - ジオメトリの面積を計算

検証とユーティリティ:

  • is_valid - ジオメトリの有効性を確認
  • make_valid - 無効なジオメトリを修正
  • simplify - ジオメトリを簡略化
  • snap_geometry - 参照ジオメトリにスナップ
  • nearest_point_on_geometry - 最も近い点を検索
  • normalize_geometry - 向きを正規化
  • geometry_to_geojson - GeoJSON に変換
  • geojson_to_geometry - GeoJSON から変換
🔷 PyProj 関数(合計 13 個)

座標変換:

  • transform_coordinates - 点の座標を変換
  • project_geometry - CRS 間でジオメトリを投影

CRS 情報:

  • get_crs_info - CRS の詳細情報を取得
  • get_available_crs - 利用可能な CRS システムを一覧表示
  • get_utm_zone - 座標に対応する UTM ゾーンを取得
  • get_utm_crs - 座標に対応する UTM CRS を取得
  • get_geocentric_crs - 地心 CRS を取得

測地計算:

  • get_geod_info - 楕円体情報を取得
  • calculate_geodetic_distance - 楕円体上の距離を計算
  • calculate_geodetic_point - 距離と方位角を指定して点を計算
  • calculate_geodetic_area - 楕円体上の面積を計算
🔷 GeoPandas 関数(合計 13 個)

入出力操作:

  • read_file_gpd - プレビュー付きで地理空間ファイルを読み込む
  • write_file_gpd - GeoDataFrame をファイルにエクスポート

結合・マージ操作:

  • append_gpd - GeoDataFrame を縦方向に連結
  • merge_gpd - データベース形式の属性結合
  • overlay_gpd - 空間オーバーレイ操作
  • dissolve_gpd - 属性でディゾルブ
  • explode_gpd - マルチパートジオメトリを分割

空間操作:

  • clip_vector - ジオメトリをクリップ
  • sjoin_gpd - 空間結合
  • sjoin_nearest_gpd - 最近傍の空間結合
  • point_in_polygon - 点がポリゴン内にあるかを判定
🔷 Rasterio 関数(合計 20 個)

基本的なラスター操作:

  • metadata_raster - ラスターメタデータを取得
  • get_raster_crs - ラスターの CRS を取得
  • extract_band - 単一バンドを抽出
  • raster_band_statistics - バンドの統計量を計算
  • raster_histogram - ピクセルのヒストグラムを計算

ラスター処理:

  • clip_raster_with_shapefile - ポリゴンでラスターをクリップ
  • resample_raster - スケール係数でリサンプリング
  • reproject_raster - 新しい CRS に再投影
  • tile_raster - タイルに分割

ラスター解析:

  • compute_ndvi - 植生指数を計算
  • raster_algebra - バンドに対する数値演算
  • concat_bands - 単一バンドのラスターを結合
  • weighted_band_sum - バンドを重み付けして結合

高度な解析:

  • zonal_statistics - ポリゴン内の統計量を計算
  • reclassify_raster - ピクセル値を再分類
  • focal_statistics - 移動ウィンドウ統計量を計算
  • hillshade - DEM から陰影起伏図を生成
  • write_raster - 配列をラスター ファイルに書き込む
🔷 PySAL 関数(全18種類)

空間的自己相関:

  • morans_i - グローバル Moran の I 統計量
  • gearys_c - グローバル Geary の C 統計量
  • gamma_statistic - ガンマ指数
  • getis_ord_g - グローバル Getis-Ord G 統計量

ローカル統計量:

  • moran_local - ローカル Moran の I
  • getis_ord_g_local - ローカル Getis-Ord G*
  • join_counts_local - ローカル結合カウント

グローバル統計量:

  • join_counts - 二値結合カウント検定
  • adbscan - 適応型密度ベースクラスタリング

空間ウェイト:

  • weights_from_shapefile - shapefile からウェイトを作成
  • distance_band_weights - 距離ベースのウェイト
  • knn_weights - K 近傍ウェイト
  • build_transform_and_save_weights - ウェイトを構築、変換、保存
  • ols_with_spatial_diagnostics_safe - 空間診断を伴う OLS 回帰
  • build_and_transform_weights - ウェイトを構築して変換

時空間分析:

  • spatial_markov - パネルデータの空間マルコフ分析
  • dynamic_lisa - 動的 LISA(方向性 LISA)分析

空間回帰:

  • gm_lag - 空間ラグモデル GM_Lag 空間 2SLS/GMM-IV
🔷 可視化関数(全2種類)

静的マップの可視化(Matplotlib/GeoPandas):

  • create_map – shapefile、ラスター、WKT ジオメトリ、座標配列など、複数の地理空間データソースから高品質な静的マップ(PNG、PDF、JPG)を生成します。個別のスタイル設定、凡例、タイトル、グリッドオーバーレイを指定して、複数のレイヤーをサポートします。

インタラクティブな Web マップの可視化(Folium):

  • create_web_map – Folium を使用して、レイヤーコントロール、凡例、縮尺バー、動的なタイトル、ツールチップ、ミニマップを備えたインタラクティブな HTML マップを生成します。複数のベースマップオプションに対応し、Web ブラウザー向けのレスポンシブデザインをサポートします。
🔷 行政界関数(全1種類)

境界データのダウンロード:

  • download_boundaries - GADM の行政界データをダウンロードし、GeoJSON として保存
🔷 気候データ関数(全1種類)

気候データのダウンロード:

  • download_climate_data - 気候データ(ERA5 またはその他の CDS データセット)をダウンロード
🔷 生態データ関数(全2種類)

生態データのダウンロードと情報取得:

  • get_species_info – 指定した種名の分類情報を取得
  • download_species_occurrences – 指定した種の出現記録をダウンロードし、JSON として保存
🔷 移動データ関数(全2種類)

移動データのダウンロードと経路検索(OSMnx 経由):

  • download_street_network – 指定した場所の道路ネットワークをダウンロードし、GraphML として保存
  • calculate_shortest_path – 保存された道路ネットワークを使用して、2地点間の最短経路を計算
🔷 土地被覆データ関数(全2種類)

Planetary Computer の土地被覆データ:

  • download_worldcover – AOI/年を指定して ESA WorldCover をダウンロードします。切り抜きと再投影はオプションです
  • compute_s2_ndvi – Sentinel-2 L2A から NDVI を計算します。切り抜きと再投影に対応しています
🔷 衛星画像関数(全1種類)

STAC ベースの衛星データダウンロード:

  • download_satellite_imagery – STAC アイテム(Sentinel-2、Landsat など)のバンドをダウンロードしてスタックします。切り抜きと再投影はオプションです

利用可能な関数の合計:92

🛠 クライアント開発

ツールの使用例:

バッファー操作
Tool: buffer
Parameters: {
    "geometry": "POINT(0 0)",
    "distance": 10,
    "resolution": 16,
    "join_style": 1,
    "mitre_limit": 5.0,
    "single_sided": false
}
座標変換
Tool: transform_coordinates
Parameters: {
    "coordinates": [0, 0],
    "source_crs": "EPSG:4326",
    "target_crs": "EPSG:3857"
}
測地距離
Tool: calculate_geodetic_distance
Parameters: {
    "point1": [0, 0],
    "point2": [10, 10],
    "ellps": "WGS84"
}
静的マップの作成
Tool: create_map
Parameters: {
    "layers": [
        {
            "data": "buildings.shp",
            "style": {"label": "Buildings", "color": "red", "alpha": 0.7}
        },
        {
            "data": "roads.shp",
            "style": {"label": "Roads", "color": "black", "linewidth": 1}
        }
    ],
    "filename": "city_analysis",
    "filetype": "png",
    "title": "City Infrastructure Analysis",
    "show_grid": true,
    "add_legend": true
}
インタラクティブな Web マップの作成
Tool: create_web_map
Parameters: {
    "layers": [
        {
            "data": "buildings.shp",
            "style": {"label": "Buildings", "color": "red"}
        },
        {
            "data": "parks.geojson",
            "style": {"label": "Parks", "color": "green"}
        }
    ],
    "filename": "city_interactive.html",
    "title": "City Infrastructure Map",
    "basemap": "CartoDB positron",
    "show_grid": true,
    "add_legend": true,
    "add_minimap": true
}

🔮 今後の予定

  • 高度な空間インデックスを実装
  • ネットワーク分析機能を実装
  • 3D ジオメトリに対応
  • パフォーマンスを最適化
  • より多くの GIS ライブラリに対応

🤝 コントリビューション

コントリビューションを歓迎します!次の方法でご協力いただけます。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/AmazingFeature)
  3. 変更をコミットします(git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュします(git push origin feature/AmazingFeature)
  5. プルリクエストを作成します

PR の説明には、問題と解決策を明確に記載してください。該当する場合は、関連する issue 番号も記載してください。

📄 ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については、LICENSE ファイルをご覧ください。

🔗 関連プロジェクト

プロジェクト名カテゴリ説明
Model Context ProtocolMCP 関連MCP のコア仕様
FastMCPMCP 関連MCP サーバーとクライアントを構築するための、高速で Pythonic な方法
Shapely地理空間解析幾何オブジェクトの操作と解析を行う Python パッケージ
PyProj地理空間解析PROJ ライブラリ用の Python インターフェース
GeoPandas地理空間解析地理空間データを扱うための Python パッケージ
Rasterio地理空間解析地理空間ラスターデータの読み書きを行う Python パッケージ
Fiona地理空間解析ベクター地理空間データ形式の読み書きを行う OGR ライブラリ用の Python インターフェース
PySAL地理空間解析地理空間データサイエンス向けの Python 空間解析ライブラリ
Folium可視化Leaflet.js を使用してインタラクティブなウェブマップを作成する Python ライブラリ
PyDeck可視化高度な 3D 可視化とインタラクティブマップを作成する Python ライブラリ
Matplotlib可視化静的なマップや可視化を作成するための Python プロットライブラリ
cdsapi地理空間データ収集Copernicus Climate Data Store(CDS)にアクセスするための Python API
pygadm地理空間データ収集Python スクリプトから GADM が定義する行政界に簡単にアクセスできます
pygbif地理空間データ収集GBIF API(生態学および生物多様性データ)用の Python クライアント
OSMnx地理空間データ収集OpenStreetMap から道路ネットワークや都市の特徴をダウンロード、モデル化、解析する Python パッケージ
pystac-client地理空間データ収集STAC カタログ用の Python クライアント。時空間アセットを検索してアクセスできます
Planetary Computer SDK for Python地理空間データ収集Microsoft Planetary Computer 用の Python SDK。STAC/COG 向けの認証機能とヘルパー

🔗 関連する MCP サーバー

サーバー名説明
GeoServer MCPLLM を GeoServer REST API に接続する Model Context Protocol(MCP)サーバーの実装です

📞 サポート

サポートが必要な場合は、GitHub リポジトリで issue を作成してください。

💬 コミュニティ

ディスカッション、最新情報、サポートについては、Discord コミュニティにご参加ください。

Discord に参加

👥 コントリビューター

README の画像

contrib.rocks で作成しました。


🏆 バッジ

コメント

MCP は初めてですか?

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

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