mcpField
M
MCP-Geo

MCP-Geo

ローカル
github.com/webcoderz地図・旅行3592 週間前に更新

MCP-Geo について

MCP-Geo は GeoPy を利用した MCP サーバーで、住所と座標の相互変換や距離計算のツールを LLM に提供します。複数のジオコーディングサービスに対応し、レート制限とエラー処理を備えています。

主な機能

  1. 01住所と緯度経度の相互変換
  2. 02複数住所の一括ジオコーディング
  3. 03マイルまたはキロメートルでの距離計算
  4. 04Nominatim、ArcGIS、Bing などのプロバイダー切り替え
  5. 05レート制限とエラー時の None 返却

活用シーン

  1. 01LLM による地点の座標と正規化された住所の取得
  2. 022 つの住所または座標間の距離計算
  3. 03住所リストの一括ジオコーディング

MCP 対応

本プロジェクトは MCP サーバーであり、geocode_location、reverse_geocode、distance_between_addresses などのツールを MCP クライアントに公開します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

MCP-Geo

GeoPY を使用したジオコーディング MCP サーバー!

README の画像

📋 システム要件

  • Python 3.6+

📦 依存関係

必要な依存関係をすべてインストールします。

# Using uv
uv sync
必須パッケージ
  • fastmcp:Model Context Protocol サーバーを構築するためのフレームワーク
  • geoPy:場所へのアクセス、ジオコーディング、逆ジオコーディングを行うための Python ライブラリ。

すべての依存関係は、簡単にインストールできるよう requirements.txt に記載されています。

📑 目次

🛠️ MCP ツール

この MCP サーバーは、LLM に次のジオコーディングツールを提供します。

geocode_location
  • ユーザーが指定した住所または地名を受け取り、最も一致する場所の緯度、経度、整形済み住所を返します。

  • エラーを適切に処理し、場所が見つからない場合やエラーが発生した場合は None を返します。

reverse_geocode
  • 緯度と経度を受け取り、最寄りの住所を返します。
  • 地図上の地点に関する詳しい情報を見つけるのに便利です。
geocode_with_details
  • geocode_location と同様ですが、ジオコーダーが対応している場合、バウンディングボックスやより詳しい住所情報など、追加データを返します。
geocode_multiple_locations
  • 住所文字列のリストを受け取り、各住所のジオコーディング結果(緯度/経度/住所)のリストを返します。
  • ジオコーディングサービスの利用枠を超えないよう、レート制限が適用されます。
reverse_geocode_multiple_locations
  • [緯度, 経度] のペアのリストを受け取り、それぞれに対して逆ジオコーディングを実行します。
  • 緯度、経度、住所を含む辞書のリストを返します。検索に失敗した場合は None を返します。また、レート制限が適用されます。
distance_between_addresses
  • 2 つの住所または地名の間の距離を計算します。
  • 2 つの住所と測定単位(マイル/キロメートル)を受け取ります。
  • 指定された単位で距離を返します。いずれかの住所をジオコーディングできない場合は None を返します。
distance_between_coords
  • 2 組の緯度/経度の間の距離を計算します。
  • 緯度と経度の 2 組のペア、および測定単位(キロメートル/マイル)を受け取ります。
  • 指定された単位で距離を返します。

🚀 はじめに

リポジトリをクローンします。

git clone https://github.com/webcoderz/MCP-Geo.git
cd MCP-Geo

📦 インストール方法

この MCP サーバーは、Claude Desktop またはその他の環境にインストールできます。ニーズに合った方法を選択してください。

オプション 1:Claude Desktop にインストール

FastMCP を使用してインストールします。

fastmcp install geo.py --name "MCP Geo"
オプション 2:別の場所にインストールする

このサーバーをほかの場所で使用するには、以下の手順に従ってください。

  1. 以下の設定を設定ファイルに追加します。
{
    "mcp-geo": {
        "command": "uv",
        "args": [
          "--directory",
          "MCP-Geo",
          "run",
          "geo.py"
        ],
        "env": {
        "NOMINATIM_URL": "${NOMINATIM_URL}",
        "SCHEME": "http",
        "GEOCODER_PROVIDER": "nominatim"
        }
    }
}

🔒 安全機能 • レート制限:過剰なリクエストによる利用制限違反を避けるため、ジオコーディングの呼び出しはそれぞれレート制限されます(例:1 秒の遅延)。 • エラー処理:geopy の例外(タイムアウト、サービスエラー)を捕捉し、クラッシュする代わりに安全な None の結果を返します。

📚 開発ドキュメント

このサーバーを拡張または変更する場合: • 各ツールの実装方法と geopy の統合方法については、geo.py を確認してください。 • 環境変数を調整して、プロバイダー(Nominatim、ArcGIS、Bing など)を切り替えます。 • バウンディングボックス、言語設定、高度なデータ抽出などの応用的な使い方については、geopy の公式ドキュメントを参照してください。

⚙️ 環境変数

環境変数を使用してサーバーを設定します。

変数説明デフォルト
GEOCODER_PROVIDER (任意)"nominatim"、"arcgis"、または "bing"nominatim
NOMINATIM_URL (任意)Nominatim のドメインnominatim.openstreetmap.org
SCHEME (任意)http/httpshttp
ARC_USERNAME (ArcGIS では任意)ArcGIS のユーザー名None
ARC_PASSWORD (ArcGIS では任意)ArcGIS のパスワードNone
BING_API_KEY (Bing では必須)Bing Maps のキーです。None

これらは、シェルまたは使用環境の MCP 設定ファイルで設定できます。さらに必要な変数がある場合は、geo.py を編集し、使用するジオコーダーに追加してください。

コメント

MCP は初めてですか?

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

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