Integrations
Supports debugging via the MCP Inspector which can be launched using npm to monitor and troubleshoot the MCP server communications.
Provides geospatial tools for interacting with OpenStreetMap data, including geocoding, reverse geocoding, finding nearby points of interest, route directions, location search by category, meeting point optimization, area exploration, and neighborhood analysis.
Enables publishing and distribution of the MCP server package through PyPI, allowing users to easily install the server.
OpenStreetMap (OSM) MCP サーバー
位置情報サービスと地理空間データを使用して LLM 機能を強化する OpenStreetMap MCP サーバー実装。
デモ
ミーティングポイントの最適化
近隣分析
駐車場検索
特徴
このサーバーは、LLM に OpenStreetMap データと対話するためのツールを提供し、位置情報ベースのアプリケーションで次のことが可能になります。
- 住所と地名を座標にジオコードする
- 逆ジオコード座標を住所に変換する
- 近くの観光スポットを探す
- 場所間のルート案内を取得する
- 境界ボックス内のカテゴリで場所を検索する
- 複数の人に最適な待ち合わせ場所を提案
- エリアを探索し、包括的な位置情報を取得する
- 近くの学校や教育機関を探す
- 自宅と職場間の通勤オプションを分析する
- コネクタと電源フィルタリングを備えた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
: 目的地近くの駐車場を検索
ユースケース
不動産に関する意思決定
LLM は、ユーザーが住宅購入の可能性のある地域を評価するのに役立ちます。
ローカルテスト
サーバーの実行
サーバーをローカルで実行するには:
- 開発モードでパッケージをインストールします。
- サーバーを起動します。
- サーバーが起動し、標準入出力で MCP 要求をリッスンします。
サンプルクライアントによるテスト
リポジトリには、 examples/
ディレクトリに 2 つのサンプル クライアントが含まれています。
基本的なクライアントの例
client.py
OSM MCP サーバーの基本的な使用方法を示しています。
これにより、次のようになります。
- ローカルで実行されているサーバーに接続する
- サンフランシスコの情報を入手する
- エリア内のレストランを検索
- 進捗状況を追跡しながら包括的な地図データを取得する
LLM統合の例
llm_client.py
、LLM 統合用に設計されたヘルパー クラスを提供します。
この例では、LLM がロケーション アシスタントを使用して次のことを行う方法を示します。
- テキストクエリから位置情報を取得する
- 近くの観光スポットを探す
- 場所間の道順を取得する
- 最適な待ち合わせ場所を見つける
- 近所を探索する
独自のクライアントを作成する
独自のクライアントを作成するには:
- MCP クライアントをインポートします。
- サーバーの URL を使用してクライアントを初期化します。
- ツールを呼び出すか、リソースにアクセスします。
構成
インストール
クロードデスクトップ
MacOS の場合: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows の場合: %APPDATA%/Claude/claude_desktop_config.json
発達
建築と出版
配布用のパッケージを準備するには:
- 依存関係を同期し、ロックファイルを更新します。
- パッケージディストリビューションをビルドします。
これにより、 dist/
ディレクトリにソースとホイールのディストリビューションが作成されます。
- PyPI に公開:
注: 環境変数またはコマンド フラグを使用して PyPI 資格情報を設定する必要があります。
デバッグ
MCPサーバーはstdio経由で実行されるため、デバッグが困難になる場合があります。最適なデバッグ環境を実現するには、 MCP Inspectorの使用を強くお勧めします。
次のコマンドを使用して、 npm
経由で MCP Inspector を起動できます。
起動すると、ブラウザでアクセスしてデバッグを開始できる URL がインスペクタに表示されます。
APIの使用例
Python コードから主要な API エンドポイントを使用する方法の簡単な例を次に示します。
This server cannot be installed
位置情報サービスと地理空間データによって LLM 機能が強化され、ユーザーは住所をジオコーディングしたり、近くの興味のある場所を検索したり、道順を取得したり、待ち合わせ場所を最適化したり、近隣地域を分析できるようになります。