Skip to main content
Glama

GIS MCP サーバー

GIS ライブラリ (現在は Shapely と PyProj がサポートされています) を使用して大規模言語モデル (LLM) を GIS 操作に接続し、AI アシスタントが地理空間操作と変換を実行できるようにするモデル コンテキスト プロトコル (MCP) サーバー実装。

アルファ

バージョン0.2.0(アルファ版)は現在開発中です。このプロジェクトの構築にご協力いただける方や開発者の方を歓迎いたします。

🎥 デモ

Related MCP server: Math-MCP

📋 目次

🚀 機能

  • 🔍 包括的な幾何学演算(交差、結合、バッファなど)

  • 🌐 高度な座標変換と投影

  • 📏 正確な距離と面積の計算

  • 🗺️ 空間分析と検証

  • 🛠️ MCP 対応クライアントとの簡単な統合

📋 前提条件

  • Python 3.10以上

  • MCP 互換クライアント (Claude Desktop や Cursor など)

  • パッケージインストールのためのインターネット接続

🛠️ インストール

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

📦 pip インストール

ほとんどのユーザーには pip インストールが推奨されます。

  1. uv パッケージ マネージャーをインストールします。

pip install uv
  1. 仮想環境を作成する (Python 3.10+):

uv venv --python=3.10
  1. パッケージをインストールします。

uv pip install gis-mcp
  1. サーバーを起動します。

gis-mcp

pip 設定

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

クロードデスクトップ:

ウィンドウズ:

{ "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": [] } } }

カーソル IDE ( .cursor/mcp.jsonを作成):

ウィンドウズ:

{ "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. すべての GIS 操作を Claude または Cursor を通じて使用できるようになりました。

🛠️ 開発インストール

貢献者と開発者向け:

  1. uv パッケージ マネージャーをインストールします。

pip install uv
  1. 仮想環境を作成します。

uv venv --python=3.10
  1. 開発モードでパッケージをインストールします。

uv pip install -e .
  1. サーバーを起動します。

python -m gis_mcp

開発構成

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

クロードデスクトップ:

ウィンドウズ:

{ "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"] } } }

カーソル IDE ( .cursor/mcp.jsonを作成):

ウィンドウズ:

{ "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. すべての GIS 操作を Claude または Cursor を通じて使用できるようになりました。

🛠️ 利用可能なツール

シェイプリーオペレーション

基本操作

道具

説明

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

x と y の係数でジオメトリをスケーリングする

translate_geometry

x、y、zオフセットでジオメトリを移動する

高度な操作

道具

説明

triangulate_geometry

ジオメトリの三角形を作成する

voronoi

点からボロノイ図を作成する

unary_union_geometries

複数のジオメトリの結合を作成する

測定

道具

説明

get_length

ジオメトリの長さを取得する

get_area

ジオメトリの面積を取得する

検証と簡素化

道具

説明

is_valid

ジオメトリが有効かどうかを確認する

make_valid

ジオメトリを有効にする

simplify

指定された許容値でジオメトリを簡略化する

PyProj 操作

座標変換

道具

説明

transform_coordinates

CRS間の座標変換

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

測地計算を使用して多角形の面積を計算する

🛠️ クライアント開発

ツールの使用例:

バッファ操作

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" }

🔮 計画されている機能

  • より多くの GIS ライブラリのサポートを追加 - GDAL/OGR

  • 高度な空間インデックスを実装する

  • ラスター操作のサポートを追加

  • ネットワーク分析機能を実装する

  • 3Dジオメトリのサポートを追加

  • パフォーマンスの最適化を実装する

🤝 貢献する

皆様のご寄付をお待ちしております!ご協力いただける方法は以下の通りです。

  1. リポジトリをフォークする

  2. 機能ブランチを作成する ( git checkout -b feature/AmazingFeature )

  3. 変更をコミットします( git commit -m 'Add some AmazingFeature'

  4. ブランチにプッシュする ( git push origin feature/AmazingFeature )

  5. プルリクエストを開く

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

📄 ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

🔗 関連プロジェクト

📞 サポート

サポートについては、GitHub リポジトリで問題を開いてください。

🏆 バッジ

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mahdin75/gis-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server