mcpField
M
Mapbox MCP Server

Mapbox MCP Server

リモート
github.com/mapbox地図・旅行363今日更新
リポジトリ

Mapbox MCP Server について

Mapbox MCP Server は、Node.js で実装された MCP サーバーで、ジオコーディング、地点検索、ルート検索、等時圏、地図表示などの Mapbox の機能を AI アプリケーションから利用できるようにします。旅行アシスタント、物流ツール、位置情報ベースのレコメンドなどの開発者を想定しています。利用には Mapbox のアクセストークンが必要で、ホスト型の MCP エンドポイントも提供されています。

主な機能

  1. 01ジオコーディングと関心地点の検索
  2. 02車、徒歩、自転車のルート検索
  3. 03移動時間マトリクスとルート最適化
  4. 04GPS トレースの道路ネットワークへのマッチング
  5. 05オフラインの幾何計算とインタラクティブな地図表示

活用シーン

  1. 01旅行アシスタントでの地点検索とナビゲーションの作成
  2. 02複数の訪問先間の移動時間マトリクスの算出
  3. 03チャット内でのルートや独自 GeoJSON の地図表示

MCP 対応

本プロジェクトは、Mapbox の地理・ルート関連ツールを MCP クライアントに公開し、静的な参照データをリソースとして提供する MCP サーバーです。リソースに対応していないクライアントは、代替ツールで同じデータを読み取れます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.mapbox.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@mapbox/mcp-server99.0.0-dev

ツール

詳細

Mapbox MCP Server

npm version

Mapbox API 向けの Model Context Protocol(MCP)を実装した Node.js サーバーです。

AI アプリケーションで地理空間インテリジェンスを活用

Mapbox MCP Server は、Mapbox の包括的な位置情報インテリジェンスプラットフォームにシームレスにアクセスできるようにすることで、あらゆる AI エージェントやアプリケーションを、地理空間を認識するシステムへと変えます。このサーバーを使うと、AI が場所を理解して推論し、現実世界を移動し、次のような豊富な地理空間データにアクセスできるようになります。

  • グローバルジオコーディング:住所や地名を座標に変換し、座標から住所や地名への変換も行います
  • 地点(POI)検索:世界中の数百万の事業者、ランドマーク、場所を検索します
  • マルチモーダルルーティング:リアルタイムの交通情報を利用した自動車、徒歩、自転車向けのルート検索です
  • 移動時間マトリックス:アクセシビリティを分析し、物流を最適化します
  • ルート最適化:複数の立ち寄り先を訪問する最適な順序を見つけます(巡回セールスマン問題)
  • マップマッチング:GPS の軌跡を道路ネットワークにスナップし、見やすいルートを表示します
  • 等時間圏の生成:指定した時間や距離の制約内で到達可能なエリアを可視化します
  • ライブインタラクティブマップのレンダリング(render_map_tool):ルート、検索結果、独自の GeoJSON を、チャット内で直接、実際の Mapbox GL JS マップに表示します
  • 静的マップ画像:場所、ルート、地理データを視覚的に表現します
  • オフライン地理空間計算:API 呼び出しを必要とせず、距離、面積、方位、バッファー、空間分析を行います

AI 旅行アシスタント、物流最適化ツール、位置情報ベースのレコメンダーなど、「場所」を理解する必要があるアプリケーションを構築する場合、Mapbox MCP Server が実現に必要な空間インテリジェンスを提供します。Claude Desktop や VS Code などの人気クライアントでも有効にできます。詳しくは以下をご覧ください。

Mapbox MCP Server のデモ

使用方法

この MCP サーバーを使用するには、Mapbox アクセストークンが必要です。

ホスト型 MCP エンドポイント

すぐに利用するには、ホスト型 MCP エンドポイントを使用できます。

エンドポイント:https://mcp.mapbox.com/mcp

各種クライアントの詳細なセットアップ手順や API の使用方法については、ホスト型 MCP サーバーガイドをご覧ください。

Mapbox アクセストークンを取得するには、次の手順に従います。

  1. mapbox.com/signup で無料の Mapbox アカウントを作成します
  2. アカウントページに移動します
  3. 新しいトークンを作成するか、デフォルトのパブリックトークンを使用します

Mapbox アクセストークンの詳細については、Mapbox のアクセストークンに関するドキュメントをご覧ください。

インテグレーションガイド

各インテグレーションの詳細なセットアップ手順については、以下のガイドをご覧ください。

  • Claude Desktop のセットアップ - この MCP サーバーを使用するために Claude Desktop を設定する手順です
  • Goose のセットアップ - Goose AI エージェントフレームワークのセットアップです
  • VS Code のセットアップ - Visual Studio Code で開発環境をセットアップします
  • Cursor AI IDE のセットアップ - Cursor AI IDE で開発環境をセットアップします
  • Smolagents のインテグレーション - Smolagents AI エージェントを Mapbox のツールに接続する方法を示す例です
  • ツールの直接インポート - MCP サーバーを実行せずに、独自のアプリケーションで Mapbox ツールを使用します
  • render_map_tool ガイド - マップ可視化のプリミティブです。ペイロードの完全なスキーマと、他の Mapbox ツールを使わずに独自のデータを単独でレンダリングする方法を説明します
  • エリシテーション - search_and_geocode_tool と directions_tool が結果の曖昧さを解消したりルートを選択したりするようユーザーに尋ねる方法、およびクライアントがその機能に対応していない場合に適切にフォールバックする方法を説明します

プロンプトの例

セットアップ後、Claude Desktop またはその他の MCP クライアントで次のプロンプトを試してみてください。

位置情報の把握

座標を起点とするクエリ(「近くに何がある?」「ここは何という地区?」「N 分以内に行ける場所は?」など)には、ground_location_tool を使用します。このツールは、逆ジオコーディング、カテゴリ検索、等時間圏を1回の呼び出しで組み合わせ、クエリに応じて適切な方法を柔軟に選択し、型付きレコード(名称、住所、座標、距離、到達可能範囲のポリゴン)と引用を返します。

以下の4つのプロンプトでは、それぞれ異なる方法を1回のツール呼び出しで試せます。

  • 地区 — 「47.6097, -122.3408 は何という地区で、近くには何がありますか?」
  • POI — 「40.7580, -73.9855 から徒歩10分以内にあるコーヒーショップ」
  • 地域 — 「37.7749, -122.4194 から徒歩15分以内に行ける場所は?」
  • ルーティング — 「34.0522, -118.2437 で人を降ろすのに最も近い、ルート設定可能な地点」
位置情報の検索
  • 「エンパイア・ステート・ビルから徒歩圏内にあるコーヒーショップを探してください」
  • 「シアトルからポートランドへ行きたいのですが、途中にスターバックスはありますか?」
  • 「ボストンからニューヨークまでのルート沿いにあるガソリンスタンドを表示してください」
  • 「タイムズスクエアの近くにあるレストランは?」
ナビゲーションと移動
  • 「現在の交通状況を考慮して、LAX からハリウッドまでの車での道順を教えてください」
  • 「セントラルパークからタイムズスクエアまで歩くと、どのくらいかかりますか?」
  • 「ラッシュアワーにホテル(フォーシーズンズ)から JFK 空港までタクシーで移動する所要時間を計算してください」
可視化と地図
  • 「Mapbox の地図描画ツールを使って、サンフランシスコのゴールデンゲートブリッジからユニオンスクエアまでの道順を表示してください」 — 実際の Mapbox の地図上に、ライブで操作可能なルートを描画します
  • 「ゴールデンゲートブリッジからフィッシャーマンズワーフまでのルートを示し、両方の場所にマーカーを付けた地図画像を作成してください」
  • 「マンハッタンの衛星写真に、主要なランドマークを表示してください」
  • 「シアトル中心街から1マイル以内にあるすべてのスターバックスの場所を強調した地図を生成してください」
  • 「これらの座標上に塗りつぶしポリゴンを表示し、[...] に『倉庫』というラベルのマーカーを付けてください」 — render_map_tool を使って、他の Mapbox ツールなしで独自の GeoJSON を直接描画します
分析と計画
  • 「ポートランド中心街から車で30分以内に到達できる地域を表示してください」
  • 「デンバーの以下3か所のホテル(マリオット、シェラトン、ヒルトン)とコンベンションセンター間の移動時間行列を計算してください」
  • 「サンフランシスコにある以下3か所の観光名所(ゴールデンゲート、ミュージカル・ステアーズ、フィッシャーマンズワーフ)を巡る最適なルートを探してください」
  • 「以下8か所の住所を巡る配送ルートを最適化してください:[住所のリスト]」
GPS とルートのマッチング
  • 「この GPS の軌跡を補正し、道路上の実際のルートを表示してください:[タイムスタンプ付きの座標リスト]」
  • 「この自転車の走行記録を自転車用ネットワークにスナップしてください:[GPS 座標]」
  • 「この車のルートを道路ネットワークにマッチさせ、交通渋滞のレベルを表示してください」
オフラインの地理空間計算
  • 「これら2つの座標間の距離は何マイルですか?」
  • 「このポリゴンの面積を平方キロメートルで計算してください」
  • 「北緯37.7749度、西経122.4194度の地点は、このサービス提供地域のポリゴン内にありますか?」
  • 「サンフランシスコからニューヨークまでの方位角は?」
  • 「ロンドンとパリの中間地点を見つけてください」
  • 「この場所の周囲に半径5マイルのバッファー領域を作成してください」
  • 「この地区の境界の重心を計算してください」
  • 「これらのルート座標のバウンディングボックスは?」
  • 「この複雑なポリゴンを簡略化して、点の数を減らしてください」
より良い結果を得るためのヒント
  • 場所を具体的に指定してください(正式な住所やランドマーク名を使用します)
  • 希望する移動手段(車、徒歩、自転車)を指定してください
  • 必要に応じて時間の条件を含めてください(「ラッシュアワーに」「午後3時に」など)
  • 必要な場合は、希望する出力形式を指定してください(「地図画像で」「JSON 形式で」など)

詳しい例: 用途別の包括的な search-along-route プロンプト例と MCP Inspector のテスト手順については、examples/search-along-route.md を参照してください。

リソース

MCP サーバーは、静的な参照データをMCP リソースとして公開します。リソースを利用すると、クライアントはツールを呼び出さずに、直接参照できるデータに読み取り専用でアクセスできます。

利用可能なリソース
Mapbox カテゴリリソース

URI パターン:mapbox://categories または mapbox://categories/{language}

カテゴリ検索ツールで使用できるカテゴリ ID の一覧にアクセスします。カテゴリを使うと、種類(例:「レストラン」、「ホテル」、「ガソリンスタンド」)で検索結果を絞り込めます。

例:

  • mapbox://categories - デフォルト(英語)のカテゴリ一覧
  • mapbox://categories/ja - 日本語のカテゴリ名
  • mapbox://categories/es - スペイン語のカテゴリ名

リソースへのアクセス:

  • MCP リソースにネイティブ対応しているクライアント:MCP プロトコルメソッド resources/read を使用します
  • リソースに対応していないクライアント:リソース URI を指定して resource_reader_tool を使用します

リッチな地図プレビュー(render_map_tool)

このサーバーの各地理空間ツール(ルート案内、等時間圏、検索など)は、render_map_tool を使って結果をライブで操作可能な Mapbox GL JS の地図として表示できます。これはサーバー唯一の可視化機能です。MCP Apps プロトコル(@modelcontextprotocol/ext-apps)を通じて、チャット内に全画面表示の切り替え機能を備えた自己完結型の HTML パネルとして描画されます。以下の対応クライアントで利用できます。

  • Claude Desktop ✅
  • GitHub Copilot を搭載した VS Code ✅
  • Claude Code ✅
  • Goose ✅

これを使うのに、このサーバーのほかのツールは必要ありません。 render_map_tool は、独自のポリゴン、マーカー、ルートなど、手動で作成した GeoJSON も直接受け付けます。directions_tool、isochrone_tool、その他の Mapbox API 呼び出しへの依存はありません。ペイロードのスキーマと、単独で動作する完全な例については、render_map_tool の完全ガイド をご覧ください。

MCP Apps に対応していないクライアントで、確実に静的画像を表示する必要がある場合は、代わりに static_map_image_tool を使用してください。すべてのクライアントで表示できる、base64 エンコードされた PNG/JPEG を返します。

CLIENT_NEEDS_RESOURCE_FALLBACK

リソースフォールバックツール(非準拠クライアント向けのオプトイン機能)

リソースは MCP の中核機能であり、ほとんどのクライアント(Claude Desktop、VS Code、MCP Inspector など)がサポートしています。ただし、smolagents のように、リソースをまったくサポートしていないクライアントもあります。こうしたクライアント向けに、サーバーではリソースと同じ内容をツール呼び出しで提供する「リソースフォールバックツール」を利用できます。

フォールバックツール:

  • resource_reader_tool - URI を指定して任意のリソースを読み取る汎用フォールバック
  • category_list_tool - カテゴリ一覧にアクセスするツール(mapbox://categories)

デフォルトでは、これらのツールは含まれません(クライアントがリソースをサポートしていることを前提とします)。クライアントがリソースをサポートしていない場合は、フォールバックツールを有効にしてください。

export CLIENT_NEEDS_RESOURCE_FALLBACK=true

この設定を行う場合:

  • ✅ smolagents など、リソースに対応していないクライアントを使用する場合は true に設定します
  • ❌ Claude Desktop、VS Code、MCP Inspector、その他のリソース対応クライアントを使用する場合は、設定しません(デフォルト)
  • ❌ 判断できない場合は、設定しません(ほとんどのクライアントはリソースに対応しています)

ツール

ユーティリティツール
リソースリーダーツール

ネイティブの MCP リソース API に対応していないクライアントから、MCP リソースにアクセスできます。カテゴリ一覧などのリソースを読み取る際に使用します。

パラメーター:

  • uri:読み取るリソースの URI(例:mapbox://categories、mapbox://categories/ja)

使用例:

  • デフォルトのカテゴリを読み取る:{"uri": "mapbox://categories"}
  • 日本語のカテゴリを読み取る:{"uri": "mapbox://categories/ja"}

注意:MCP クライアントがネイティブのリソースに対応している場合は、パフォーマンス向上のため、リソース API を直接使用することをおすすめします。

オフライン地理空間ツール

これらのツールは、Mapbox API を呼び出さずに、完全にオフラインで地理空間の計算を行います。正確な地理計算には Turf.js を使用し、インターネット接続がない環境でも、どこでも動作します。

距離ツール

Haversine の公式を使用して、2つの地理座標間の距離を計算します。

機能:

  • 複数の単位に対応:キロメートル、マイル、メートル、フィート、海里
  • 大圏距離を高精度で計算
  • API 呼び出しは不要

使用例:「サンフランシスコ(北緯37.7749°、西経122.4194°)とニューヨーク(北緯40.7128°、西経74.0060°)の間の距離はどれくらいですか?」

ポリゴン内ポイントツール

1つ以上のポイントがポリゴンまたはマルチポリゴンの内側にあるか判定し、内側にあるものだけを返します。1回の呼び出しで、単一のポイントにも一括処理にも対応します。

機能:

  • 穴を含む複雑なポリゴンに対応
  • マルチポリゴンに対応
  • 1回の呼び出しで任意の数のポイントを一括判定
  • ジオフェンシング、配送エリアの検証、顧客のセグメント分けに便利

使用例:「これらの配送先住所のうち、サービス提供エリア内にあるものはどれですか?」

到達点ツール

開始点、方位、距離を指定し、測地線(大圏)のオフセットを使って到達点を計算します。

機能:

  • 道路経路ではなく、直線距離でオフセット
  • 「X から北へ5kmの地点を探す」といった用途や、検索範囲のオフセット作成に便利
  • API 呼び出しは不要

使用例:「スペースニードルから北東へ10kmの地点はどこですか?」

方位ツール

ある座標から別の座標へ向かうコンパス方位を計算します。

機能:

  • 方位を度数(0~360°)で返す
  • 16方位(N、NE、E、SE、S、SW、W、NW)を返す
  • ナビゲーションや方向に関する問い合わせに便利

使用例:「ここから空港へ行くには、どの方向へ進めばよいですか?」

中間点ツール

大圏経路に沿って、2つの座標間の地理的な中間点を求めます。

機能:

  • 地球の曲面上で正確な中間点を計算
  • 待ち合わせ場所の提案に便利
  • 長距離の計算にも正しく対応

使用例:「サンフランシスコとニューヨークの中間地点はどこですか?」

重心ツール

ポリゴンまたはマルチポリゴンの幾何学的中心(重心)を計算します。

機能:

  • 複雑な形状に対応
  • すべての点の算術平均を返す
  • ラベルやマーカーの配置に便利

使用例:「この近隣地区の境界を示すマーカーは、どこに配置すればよいですか?」

面積ツール

ポリゴンの面積を計算します。

機能:

  • 複数の単位に対応:平方メートル、平方キロメートル、エーカー、ヘクタール、平方マイル、平方フィート
  • 地表上の面積を高精度で計算
  • あらゆるサイズのポリゴンに対応

使用例:「この公園の面積は何エーカーですか?」

バウンディングボックスツール

ジオメトリを含む最小のバウンディングボックス(bbox)を計算します。

機能:

  • ポイント、ライン、ポリゴン、マルチポリゴンに対応
  • [最小経度、最小緯度、最大経度、最大緯度] を返す
  • ビューポートの計算や空間インデックス作成に便利

使用例:「このルートのバウンディングボックスはどの範囲ですか?」

バッファーツール

ポイント、ライン、ポリゴンの周囲にバッファーゾーン(ポリゴン)を作成します。

機能:

  • 複数の距離単位に対応
  • ポイントの周囲に円形バッファーを作成
  • 近接性分析や影響範囲の作成に便利

使用例:「この場所の周囲に5kmのバッファーゾーンを表示してください」

単純化ツール

Douglas-Peucker アルゴリズムを使用して、ラインまたはポリゴンの頂点数を減らします。

機能:

  • 詳細レベルを許容誤差で設定可能
  • 全体の形状を保ちながら複雑さを軽減
  • ファイルサイズの削減や描画パフォーマンスの向上に便利
  • トポロジーを維持するオプション(自己交差を防止)

使用例:「この複雑な境界を単純化して、ポイント数を減らしてください」

長さツール

一連の座標で定義されたラインの全長を測定します。

機能:

  • キロメートル、マイル、メートル、フィートに対応
  • 経路検索 API を呼び出さずに、描画したルート、経路、境界の長さを測るのに便利

使用例:「このハイキングコースの長さはどれくらいですか?」

Convex ツール

一連の点をすべて含む最小の凸多角形である、点群の凸包を計算します。

機能:

  • 境界領域の分析やカバレッジ面積の推定に役立ちます
  • API 呼び出しなしでオフラインで動作します

使用例:「これらの店舗の位置をすべて含む最小の多角形はどれですか?」

Nearest Point ツール

指定したターゲット点に最も近い点を、点の集合から検索します。

機能:

  • 候補ごとに distance_tool を呼び出して並べ替えるよりも効率的です
  • 場所に最も近い店舗、停留所、またはランドマークの検索に役立ちます

使用例:「現在地から最も近いのは、これらの店舗のうちどれですか?」

Nearest Point on Line ツール

点を線またはルート上の最も近い位置にスナップし、その点と距離を返します。

機能:

  • 「このルート上で現在地に最も近い点はどこですか?」という問いや、API 呼び出しなしのマップマッチングに役立ちます

使用例:「このハイキングコースのどこが、今いる場所に最も近いですか?」

Union、Intersect、Difference ツール

2 つ以上の多角形を結合または比較します。union_tool はそれらを 1 つのジオメトリに結合し、intersect_tool は共有する領域を見つけ、difference_tool は一方からもう一方を差し引きます。

機能:

  • サービスエリアの結合、カバレッジの重複箇所の検索、除外区域の計算(例:「ゾーン A には含まれ、ゾーン B には含まれない範囲はどこですか?」)に役立ちます
  • 完全にオフラインで動作し、API 呼び出しは不要です
  • それぞれ render_map_tool の参照を返すため、結果を直接視覚化できます

使用例:「これら 2 つの配送ゾーンを結合して、1 つのカバレッジエリアにしてください」/「これら 2 つの等時間圏が重なるのはどこですか?」/「このサービスエリアのうち、15 分の等時間圏に含まれない部分はどこですか?」

Mapbox API ツール
Category List ツール(非推奨)

⚠️ 非推奨:代わりに、URI が mapbox://categories の resource_reader_tool を使用するか、クライアントが MCP リソースをサポートしている場合は mapbox://categories リソースに直接アクセスしてください。

このツールは、MCP リソースまたは resource_reader_tool をサポートしていないクライアントとの後方互換性のために維持されています。

Matrix ツール

Mapbox Matrix API を使用して、複数地点間の所要時間と距離を計算します。機能は次のとおりです。

  • 1 対多、多対 1、多対多の効率的なルート計算
  • 複数の移動プロファイル(driving-traffic、driving、walking、cycling)をサポート
  • 交通状況を考慮した計算のための出発時刻の指定
  • 距離と所要時間の指標によるルートの要約
  • 進入方法(curb/unrestricted)と、許容される出発方位の範囲を制御
Static image ツール

Mapbox static image API を使用して、静的な地図画像を生成します。機能は次のとおりです。

  • カスタム地図スタイル(streets、outdoors、satellite など)
  • 画像の寸法とズームレベルの調整
  • 色やラベルをカスタマイズした複数のマーカーをサポート
  • ポリラインや多角形などのオーバーレイオプション
  • 指定した座標に合わせた自動フィッティング
Category search ツール

Mapbox Search Box category search API を使用して、カテゴリ検索を実行します。機能は次のとおりです。

  • カテゴリ別に施設を検索(レストラン、ホテル、ガソリンスタンドなど)
  • 地理的な近接性によるフィルタリング
  • 検索結果の件数をカスタマイズ
  • 各検索結果の詳細なメタデータ
  • 複数の言語をサポート
Reverse geocoding ツール

Mapbox geocoding V6 API を使用して、逆ジオコーディングを実行します。機能は次のとおりです。

  • 地理座標を人が読める住所に変換
  • 詳細レベルをカスタマイズ(道路、近隣地域、市区町村など)
  • 種類(住所、poi、近隣地域など)による検索結果のフィルタリング
  • 複数の言語をサポート
  • 詳細な場所のコンテキスト情報
地点位置ツール

「この座標の近くには何がありますか?」という質問に、1回の呼び出しで回答します。場所の名前、近くの関心地点、所要時間内に到達できる範囲を、引用付きでMapboxの最新データに基づいて提示します。reverse_geocode_toolとウェブ検索を連鎖させる代わりに、このツールを使用してください。

機能:

  • クエリを分類し(ルート検索、周辺地域の情報、POI検索、または地域/到達範囲)、関連するデータのみを取得します
  • リクエストに応じて、カテゴリ別に近くのPOIを検索します
  • 所要時間内に到達できる範囲の概要を提示します(等時間線に基づく)
  • 位置情報と近くのPOIをプロットしたrender_map_toolの参照を返します

使用例:「この座標はどの地域にありますか?近くにコーヒーショップはありますか?」

場所の詳細ツール

Mapbox IDを使用して特定の場所の詳細情報(写真、営業時間、評価、電話番号、ウェブサイトのURL)を取得します。特定の検索結果について詳しく知りたい場合は、search_and_geocode_tool、category_search_tool、またはreverse_geocode_toolの後に使用してください。

使用例:「最初に表示されたコーヒーショップについて詳しく教えてください。営業時間、電話番号、ウェブサイトを知りたいです」

ルート案内ツール

Mapbox Directions APIを使用してルート案内を取得します。主な機能は次のとおりです。

  • さまざまなルートプロファイルに対応:自動車(リアルタイム交通情報または通常時)、徒歩、自転車
  • 複数の経由地を経由するルート(座標ペア2~25組)
  • 代替ルートのオプション
  • ルートの注釈(距離、所要時間、速度、渋滞)
  • スケジュールのオプション:
    • 自動車および自動車(交通情報あり)プロファイルでの未来の出発時刻(depart_at)
    • 自動車プロファイルのみでの希望到着時刻(arrive_by)
  • プロファイル固有の最適化:
    • 自動車:車両寸法の制約(高さ、幅、重量)
  • ルート検索時の除外オプション:
    • 共通の除外項目:フェリー航路、現金払い専用の有料道路
    • 自動車固有の除外項目:有料道路、高速道路、未舗装道路、トンネル、国境、州境
    • カスタム地点の除外(避ける地理的地点を最大50か所指定可能)
  • GeoJSON形式でのジオメトリ出力
等時間線ツール

Mapbox Isochrone APIを使用して、ある地点から指定した時間内に到達できる範囲を算出します。主な機能は次のとおりです。

  • さまざまな移動プロファイルに対応(自動車、徒歩、自転車)
  • 移動時間または距離をカスタマイズ可能
  • 複数の等値線を生成(例:15分、30分、45分の範囲)
  • 出発時刻または到着時刻を任意で指定可能
  • 視覚化用の色をカスタマイズ可能
検索・ジオコーディングツール

Mapbox Search Box Text Search APIエンドポイントを使用して、POI、住所、場所、および同APIがサポートするその他の種別を検索・ジオコーディングします。 このツールは、以前このMCPサーバーの旧バージョンでForwardGeocodeToolとPoiSearchToolが提供していた機能を、単一のツールに統合したものです。

マップマッチングツール

Mapbox Map Matching APIを使用して、GPSトレースを道路網にスナップします。主な機能は次のとおりです。

  • ノイズの多いGPSトレースを、道路網上の正確なルートに変換します
  • さまざまな移動プロファイルに対応(自動車、自動車(交通情報あり)、徒歩、自転車)
  • リクエストごとに最大100組の座標ペアを処理します
  • 速度に基づく精度向上のため、タイムスタンプを任意で指定可能
  • GPSの品質に応じたスナップ半径を設定可能
  • ルートの注釈(制限速度、距離、所要時間、交通渋滞)
  • 複数のジオメトリ出力形式(GeoJSON、ポリライン)

使用例:「このGPSトレースを整えて、道路にスナップしてください:[タイムスタンプ付きの座標]」

最適化ツール

Mapbox Optimization API を使用して、複数の場所を巡る最適なルートを検索します。次の機能があります。

  • 2~12か所を対象とした巡回セールスマン問題(TSP)の解決
  • さまざまな移動プロファイル(driving、driving-traffic、walking、cycling)への対応
  • 出発地点と到着地点の柔軟な設定
  • 往復または片道のルート最適化
  • ターンバイターンのナビゲーション案内(任意)
  • ルートの注釈(距離、所要時間、速度)
  • 複数のジオメトリ出力形式(GeoJSON、polyline)

使用例:「次の5つの立ち寄り先を訪れる最適なルートを見つけてください:[住所または座標のリスト]」

注記:高度な機能(時間枠、容量制約、複数車両)を備えた V2 API も利用できますが、ベータ版へのアクセスが必要です。V2 の実装はコードベースに含まれていますが、デフォルトでは登録されていません。

フィードバックツール

Mapbox Feedback API(パブリックプレビュー)を通じて、Mapbox の地図、場所、ルーティングデータの問題を Mapbox に報告します。Mapbox が各報告を確認し、データを修正する場合があります。次のような問題に利用できます。

  • 閉業している、詳細が間違っている、または場所が誤った位置にある施設
  • 見つからない施設や住所
  • 通行止めの道路、誤った速度制限、または誤って表示された交通状況
  • 違法な曲がり角や入口がある、またはルートがまったくない経路

報告のテキスト、カテゴリ、場所を送信し、報告の ID とステータスを返します。ユーザーの承認なしに送信されることはありません。エリシテーションに対応するクライアントでは、最初に確認プロンプトが表示され、それ以外の場合はツールの説明でチャット上の確認をモデルに求めます。

各報告には料金が発生する場合があります(Feedback API がパブリックプレビューを終了すると、1件あたり $0.02)。そのため、送信前にツールは過去30日間にアカウントが送信した報告を確認します。同じカテゴリで50 m以内にあり、まだ審査中の報告がある場合、新しい報告を送信せず、その報告を返します。Feedback API にはアカウント自身の報告しか表示されないため、他のアカウントからの報告は検出できません。ユーザーが自分の報告とは別の問題だと伝えた場合は、send_anyway: true で確認をスキップできます。

要件:送信にはアクセストークンに user-feedback:write スコープが必要で、重複確認には user-feedback:read スコープが必要です。write スコープがない場合、ツールはその旨を示すエラーを返します。read スコープがない場合、確認せずに送信し、結果でその旨を通知します。このツールを含めない場合は、サーバーを --disable-tools feedback_tool で起動します。

使用例:「Mint St の Blue Bottle は昨年閉業しました。Mapbox に報告してもらえますか?」

開発

サーバーの検査

Node.js を使用する場合
# Run the built image
npm run inspect:build
Docker を使用する場合
# Build the Docker image
docker build -t mapbox-mcp-server .

# Run and inspect the server
npx @modelcontextprotocol/inspector docker run -i --rm --env MAPBOX_ACCESS_TOKEN="YOUR_TOKEN" mapbox-mcp-server

新しいツールの作成

npx plop create-tool
# provide tool name without suffix (e.g. Search)

新しいバージョンのリリース

# 1. Bump version in package.json
npm version <new-version> --no-git-tag-version

# 2. Sync version to manifest.json and server.json
npm run sync-manifest

# 3. Prepare CHANGELOG (replaces "Unreleased" with version and date)
npm run changelog:prepare-release <new-version>

# 4. Update package-lock.json
npm install

# 5. Review changes, then commit and tag
git add package.json package-lock.json manifest.json server.json CHANGELOG.md
git commit -m "Release v<new-version>"
git tag v<new-version>
git push && git push --tags

重要:パブリッシャーワークフローでは、package.json と server.json のバージョンがリリースバージョンと一致するか検証します。バージョンの更新またはマニフェストの同期を省略すると、公開に失敗します。

OpenTelemetry トレーシング

この MCP サーバーには、本番環境での可観測性を実現するため、包括的な OpenTelemetry トレーシングが含まれています。

クイックデモ
# 1. Copy the example configuration
cp .env.example .env

# 2. Edit .env to add your MAPBOX_ACCESS_TOKEN and configure tracing

# 3. Start Jaeger for local development
npm run tracing:jaeger:start

# 4. Run the server (it will automatically use .env configuration)
npm run inspect:build

# 5. View traces at http://localhost:16686

# 6. Stop Jaeger when done
npm run tracing:jaeger:stop

**注記:**サーバーは起動時に .env ファイルから設定を自動的に読み込みます。.env.example ファイルには、複数の可観測性プラットフォーム向けの設定例が含まれています。

対応する可観測性プラットフォーム

.env.example に含まれる設定例:

クラウドプロバイダー:

  • ☁️ AWS X-Ray
  • ☁️ Azure Monitor(Application Insights)
  • ☁️ Google Cloud Trace

SaaS プラットフォーム:

  • 📊 Datadog
  • 📊 New Relic
  • 📊 Honeycomb
  • 📊 OTLP 互換の任意のバックエンド
本番環境の設定

設定手順の詳細については、docs/tracing.md をご覧ください。以下の内容が含まれます。

  • 🔧 プラットフォーム別の設定ガイド
  • 📊 認証とエンドポイントの設定
  • 🎯 カスタムトレース属性とコンテキスト
  • 🚀 パフォーマンスの最適化(オーバーヘッドを最小限に抑制)
  • 🔍 トラブルシューティングとデバッグ

トレース機能:

  • ✅ 設定読み込みのトレース(.env ファイルの読み込み)
  • ✅ ツール実行の自動トレース
  • ✅ CloudFront 相関 ID を使用した HTTP リクエストの計測
  • ✅ エクスポーターの設定(console、OTLP)
  • ✅ セキュリティに配慮(データ保護、JWT 検証)
  • ✅ 本番環境対応(CPU オーバーヘッド 1% 未満)

コントリビューション

Mapbox MCP サーバーへのコントリビューションを歓迎します!プルリクエストを提出する前に、CONTRIBUTING.md をお読みください。

標準とガイドラインの全文:

コントリビューター向けクイックスタート
  1. リポジトリをフォークし、フォークしたリポジトリをクローンします
  2. 依存関係をインストールします:npm install
  3. コーディング標準に従って変更を加えます
  4. テストとリンターを実行します:npm test && npm run lint
  5. 新しい機能を追加した場合は、テストも追加します
  6. 明確な説明を添えてプルリクエストを提出します

すべてのコントリビューションは、CI チェックとコードレビューのプロセスに合格する必要があります。詳細な要件については、docs/engineering_standards.md をご覧ください。

データの使用とプライバシー

Mapbox API に送信されるデータ

MCP サーバーのツールを使用すると、以下のデータがご利用の環境から Mapbox API に直接送信されます。

  • ジオコーディングツール:住所や場所を示すテキスト、座標、国/地域のフィルター
  • 検索ツール:検索クエリ、近接検索用の位置座標、カテゴリーフィルター
  • ルート検索ツール:出発地/目的地の座標、経由地、ルート検索の設定、車両の制約
  • マトリックスツール:複数の座標ペア、移動プロファイル、出発時刻
  • 静的地図ツール:座標、ズームレベル、スタイル設定、マーカー情報
  • 等時間圏ツール:起点の座標、時間/距離のパラメーター、移動プロファイル
プライバシーについて
  • ローカルでの実行:すべての API 呼び出しは、ご利用の環境から Mapbox API に直接行われます
  • トークンのセキュリティ:Mapbox API トークンはローカルマシン上に保持され、この MCP サーバーに送信または保存されることはありません
  • データの保存なし:この MCP サーバーが、ご利用のデータや API リクエストを保存、記録、収集することはありません
  • 直接通信:ご利用の環境と Mapbox API の間に中継サーバーはありません
サードパーティによるデータの使用
  • Mapbox のプライバシーポリシーが、API に送信されるデータに適用されます:https://www.mapbox.com/legal/privacy/
  • API の使用:これらのツールを通じて行われるすべてのリクエストには、Mapbox API の標準利用規約が適用されます
  • データの保持:データ保持ポリシーについては、Mapbox のドキュメントをご覧ください

サポートとお問い合わせ

MCP サーバーに関する問題
Mapbox API に関するお問い合わせ
メンテナンスへの取り組み

この MCP サーバーは、Mapbox, Inc. が公式にメンテナンスしています。以下を提供します。

  • Mapbox API の新機能に対応する定期的なアップデート
  • バグ修正とセキュリティアップデート
  • 最新の MCP プロトコルバージョンとの互換性
  • GitHub のイシューを通じたコミュニティサポート

MIT ライセンス

コメント

MCP は初めてですか?

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

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