mcpField
O
OpenStreetMap (OSM) MCP Server

OpenStreetMap (OSM) MCP Server

ローカル
github.com/jagan-shanmugam地図・旅行23069 週間前に更新

OpenStreetMap (OSM) MCP Server について

OpenStreetMap のデータを利用する MCP サーバーで、ジオコーディング、経路案内、周辺検索などの位置情報ツールを LLM に提供します。地理空間データを必要とする LLM アプリケーション向けで、uvx を使って MCP ホストにインストールできます。

主な機能

  1. 01住所と座標の相互変換
  2. 02周辺のPOIとカテゴリ検索
  3. 03場所間の経路案内
  4. 04複数人向けの待ち合わせ地点の提案
  5. 05EV充電ステーションと駐車場の検索
  6. 06近隣の住みやすさ分析

活用シーン

  1. 01Claude Desktop や Cursor への地図検索機能の追加
  2. 02通勤手段の比較や待ち合わせ場所の選定
  3. 03近くのEV充電ステーションや駐車場の検索

MCP 対応

本プロジェクトは MCP サーバーであり、地理空間ツールと location://place、location://map のリソースを MCP クライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

OpenStreetMap(OSM)MCP サーバー

位置情報サービスと地理空間データを使用して LLM の機能を強化する、OpenStreetMap MCP サーバーの実装です。

デモ

待ち合わせ場所の最適化

待ち合わせ場所のユースケース

近隣地域の分析

近隣地域分析のユースケース

駐車場の検索

駐車場検索のユースケース

インストール

Claude Desktop、Cursor、Windsurf などの MCP ホストの場合
  • osm-mcp-server:一般公開されているメインサーバーです。

    "mcpServers": {
      "osm-mcp-server": {
        "command": "uvx",
        "args": [
          "osm-mcp-server"
        ]
      }
    }
    

機能

このサーバーは、OpenStreetMap データを操作するツールを LLM に提供し、位置情報を利用したアプリケーションで次のことを可能にします。

  • 住所や地名を座標にジオコーディングする
  • 座標を住所に逆ジオコーディングする
  • 近くのスポットを検索する
  • 場所間のルート案内を取得する
  • バウンディングボックス内でカテゴリ別に場所を検索する
  • 複数人に最適な待ち合わせ場所を提案する
  • エリアを探索し、包括的な位置情報を取得する
  • 場所の近くにある学校や教育機関を検索する
  • 自宅と職場の間の通勤手段を分析する
  • コネクターと出力で絞り込んで EV 充電ステーションを検索する
  • 不動産向けに近隣地域の住みやすさを分析する
  • 空き状況や料金情報を含む駐車施設を検索する

コンポーネント

リソース

このサーバーは位置情報ベースのリソースを実装しています。

  • location://place/{query}:名前または住所から場所の情報を取得します
  • location://map/{style}/{z}/{x}/{y}:指定した座標のスタイル付き地図タイルを取得します
ツール

このサーバーは複数の地理空間ツールを実装しています。

  • geocode_address:テキストを地理座標に変換します
  • reverse_geocode:座標を人が読める住所に変換します
  • find_nearby_places:場所の近くにあるスポットを探します
  • get_route_directions:場所間のターンごとのルート案内を取得します
  • search_category:エリア内の特定カテゴリの場所を検索します
  • suggest_meeting_point:複数人に最適な待ち合わせ場所を探します
  • explore_area:近隣地域に関する包括的なデータを取得します
  • find_schools_nearby:指定した場所の近くにある教育機関を検索します
  • analyze_commute:自宅と職場の間の交通手段を比較します
  • find_ev_charging_stations:条件を指定して EV 充電インフラを検索します
  • analyze_neighborhood:不動産向けに近隣地域の住みやすさを評価します
  • find_parking_facilities:目的地の近くにある駐車場を検索します

ローカルテスト

サーバーの実行

サーバーをローカルで実行するには、次の手順に従います。

  1. 開発モードでパッケージをインストールします。
pip install -e .
  1. サーバーを起動します。
osm-mcp-server
  1. サーバーが起動し、標準入出力で MCP リクエストを待ち受けます。
サンプルクライアントでのテスト

このリポジトリには、examples/ ディレクトリに 2 つのサンプルクライアントが含まれています。

基本的なクライアントの例

client.py は OSM MCP サーバーの基本的な使用方法を示します。

python examples/client.py

この例では、次の処理を行います。

  • ローカルで実行中のサーバーに接続する
  • サンフランシスコの情報を取得する
  • エリア内のレストランを検索する
  • 進捗を追跡しながら包括的な地図データを取得する
LLM 統合の例

llm_client.py は、LLM との統合を目的としたヘルパークラスを提供します。

python examples/llm_client.py

この例では、LLM が Location Assistant を使用して次のことを行う方法を示します。

  • テキストクエリから位置情報を取得する
  • 近くのスポットを検索する
  • 場所間のルート案内を取得する
  • 最適な待ち合わせ場所を探す
  • 近隣地域を探索する
独自のクライアントを作成する

独自のクライアントを作成するには、次の手順に従います。

  1. MCP クライアントをインポートします。
from mcp.client import Client
  1. サーバー URL を指定してクライアントを初期化します。
client = Client("http://localhost:8000")
  1. ツールを呼び出すか、リソースにアクセスします。
# Example: Geocode an address
results = await client.invoke_tool("geocode_address", {"address": "New York City"})
ローカルサーバー用 Claude Desktop の設定

MacOS の場合:~/Library/Application\ Support/Claude/claude_desktop_config.json Windows の場合:%APPDATA%/Claude/claude_desktop_config.json

開発中/未公開サーバーの設定
"mcpServers": {
  "osm-mcp-server": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/osm-mcp-server",
      "run",
      "osm-mcp-server"
    ]
  }
}

開発

ビルドと公開

パッケージを配布できる状態にするには、次の手順に従います。

  1. 依存関係を同期し、ロックファイルを更新します。
uv sync
  1. パッケージのディストリビューションをビルドします。
uv build

これにより、ソースディストリビューションとホイールディストリビューションが dist/ ディレクトリに作成されます。

  1. PyPI に公開します。
uv publish

注:環境変数またはコマンドフラグを使って、PyPI の認証情報を設定する必要があります。

デバッグ

MCP サーバーは stdio 経由で動作するため、デバッグが難しい場合があります。最適なデバッグ環境を利用するには、MCP Inspector の使用を強くおすすめします。

次のコマンドを使って、npm 経由で MCP Inspector を起動できます。

npx @modelcontextprotocol/inspector uv --directory /path/to/osm-mcp-server run osm-mcp-server

起動すると、Inspector に URL が表示されます。この URL にブラウザーからアクセスすると、デバッグを開始できます。

コメント

MCP は初めてですか?

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

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