MCP Server for OSM について
旅行アプリや MCP クライアント向けに、Nominatim、OSRM、Overpass の地図・ルート機能を提供する MCP サーバーです。ジオコーディング、経路検索、距離計算、周辺施設検索に対応します。
主な機能
- 01住所のジオコーディングと逆引き
- 02OSM の地点情報検索
- 03距離とルートの計算
- 04ルート手順と距離行列
- 05旅行の最適化と周辺施設検索
- 06OpenStreetMap の地図リンク生成
活用シーン
- 01住所の座標を調べる
- 02ルートと所要時間を比較する
- 03近くの飲食店や給油所を探す
- 04複数地点を巡るルートを計画する
MCP 対応
Nominatim、OSRM、Overpass の地図機能をツールとして MCP クライアントに公開します。サービスの接続先はカスタマイズできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OSM 用 MCP サーバー
概要
これは、Nominatim(ジオコーディング/逆ジオコーディング/検索)、OSRM(ルート検索/マトリックス/旅行)、Overpass(近くの POI 検索)の機能にアクセスするための MCP サーバーです。
これらは公開サーバーのため、節度を守り、公平にご利用ください。本番環境で使用する場合は、ご自身のサーバーをインストールして使用することをご検討ください。環境変数でカスタムエンドポイントを設定できます(下記を参照)。
要件
Node 20+
npm install
機能(v2.0.0、12 個のツール)
geocode– 住所 → 座標(最上位の結果、limit、countrycodes)search_places– クエリ → 最大 20 件の構造化された結果reverse_geocode– 緯度/経度 → 住所(zoom0-18)place_details–osm_typeとosm_idによる OSM 検索distanceWithHaversine– 直線距離(km/mi/m)routeDistance– OSRM による距離(driving/walking/cycling)route_details– 距離 + 所要時間 + ターンバイターン方式の手順distance_matrix– 2~10 地点の OSRM テーブルoptimize_trip– 2~10 の経由地を含む OSRM 旅行(TSP)find_nearby_places– 半径内の Overpass POI:レストラン、カフェ、ホテル、燃料、ATM などget_map_link– 座標の openstreetmap.org リンクabout– サーバー情報
プロンプトの例:「ニューヨークの座標を教えて」「(12.97, 77.59)から 1km 以内のコーヒーショップは?」「A、B、C を訪れる旅行を最適化して」「ベルリンからポツダムまでの運転ルートを、手順付きで教えて」
環境変数
NOMINATIM_BASE_URL=https://nominatim.openstreetmap.org
OSRM_BASE_URL=https://router.project-osrm.org
OVERPASS_BASE_URL=https://overpass-api.de/api/interpreter
[email protected] # optional, for large usage
インストール
依存関係をインストールするには、次を実行します。
npm install
または、依存関係をインストールできます。
npm install @modelcontextprotocol/sdk
ワークスペースで MCP サーバーを有効にするには、ディレクトリを作成し、そのディレクトリ内に設定ファイルを用意します。
mkdir .vscode
cd .vscode
touch mcp.json
作業ディレクトリに .vscode という名前のディレクトリを作成し、mcp.json というファイルを作成して、以下の設定を追加します。node と API キーへのパスを更新してください。
{
"servers": {
"my-mcp-server-bfba9100": {
"type": "stdio",
"command": "/path/to/node",
"args": [
"/path/to/index.js"
],
"env": {
},
}
}
}
VScode のグローバル設定
すべてのディレクトリで利用できるように、設定ファイルを ~/.vscode に追加します。
Cursor
グローバル設定とローカルのワークスペース設定は、Cursor でも使用できます。ディレクトリ名は .cursor になります。設定ファイルを配置できます。
Claude との連携
MCP サーバーを Claude Desktop アプリに追加できます。claude_desktop_config.json ファイルを探してください。MAC では、次の場所にあります。
` ~/Library/Application\ Support/Claude/claude_desktop_config.json
カスタム Nominatim サーバーおよび OSRM サーバーの使用
この MCP サーバーは、カスタム Nominatim サーバーおよび OSRM サーバーと一緒に使用できます。たとえば、ご自身でホストすることにした場合は、自分のサーバーを利用できます。本番環境では通常、この方法が推奨されます。次の行を変更してください。
const NOMINATIM_BASE_URL = "<CUSTOM NOMINATIM SERVER>";
const OSRM_BASE_URL = "<CUSTOM OSRM SERVER>";
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。