Mapbox

公式

Mapbox API(ジオコーディング、POI検索、ルート案内、等時圏など)を通じて地理空間インテリジェンスを活用できます。

Mapbox MCPで何ができますか?

  • 場所の検索とジオコーディングsearch_and_geocode_tool を使用して、住所、POI、ランドマークを検索できます。オプションでカテゴリフィルタリングと言語サポートに対応しています。
  • ターンバイターン方式の経路案内を取得directions_tool を使用して、徒歩、運転、自転車のルートをライブ交通情報、経由地、除外条件付きでリクエストできます。
  • ライブマップで結果を可視化render_map_tool を使用して、ルート、検索結果、カスタムGeoJSONをチャット内のインタラクティブマップとして表示します。
  • オフラインでの地理空間計算を実行distance_toolbuffer_tool などのツールを使用して、距離、面積、方位、バッファ、重心をローカルで計算できます。API呼び出しは不要です。
  • GPSトレースを道路にスナップmap_matching_tool を使用して、ノイズの多い座標をクリーンアップし、オプションのタイムスタンプ付きで道路ネットワークにマッチングします。
  • 複数地点のルートを最適化optimization_tool を使用して、最大12地点の巡回セールスマン問題を解決し、往復または片道の旅行に対応します。

ドキュメント

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) - 実際の Mapbox GL JS マップ上に、ルート、検索結果、独自のカスタム GeoJSON をチャット内で直接表示します
  • 静的マップ画像 - 場所、ルート、地理データの視覚的表現を作成します
  • オフライン地理空間計算 - API 呼び出しを必要とせずに、距離、面積、方位、バッファ、空間分析を実行します

AI 旅行アシスタント、物流オプティマイザー、位置情報ベースのレコメンダー、または「どこ」を理解する必要があるあらゆるアプリケーションを構築している場合でも、Mapbox MCP Server はそれを可能にする空間インテリジェンスを提供します。Claude Desktop や VS Code などの一般的なクライアントでも有効にできます。詳細は以下を参照してください。

Mapbox MCP Server Demo

使用方法

この 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 ツールを使わずに独自のデータを単独でレンダリングする方法
  • Elicitations - search_and_geocode_tooldirections_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 マイル以内のすべてのスターバックス店舗を強調表示した地図を生成して」
  • 「これらの座標に塗りつぶしポリゴンを表示して: [...]、'Warehouse' というラベルのマーカーを [...] に配置して」 — 独自の GeoJSON を render_map_tool 経由で直接レンダリングします。他の Mapbox ツールは必要ありません

分析と計画

  • 「車でポートランド中心部から 30 分以内に到達できるエリアを表示して」
  • 「デンバーのこの 3 つのホテル (マリオット、シェラトン、ヒルトン) とコンベンションセンターの間の移動時間マトリックスを計算して」
  • 「サンフランシスコのこれら 3 つの観光名所 (ゴールデンゲート、ミュージカルステアーズ、フィッシャーマンズワーフ) を訪問する最適なルートを見つけて」
  • 「これらの 8 つの住所の配達ルートを最適化してください: [住所のリスト]」

GPS とルートマッチング

  • 「この GPS トレースをクリーンアップして、道路上の実際のルートを表示してください: [タイムスタンプ付きの座標のリスト]」
  • 「記録されたこの自転車ライドをサイクリングネットワークにスナップしてください: [GPS 座標]」
  • 「この運転ルートを道路ネットワークにマッチングして、交通混雑レベルを表示してください」

オフライン地理空間計算

  • 「これら 2 つの座標間の距離はマイルでどのくらいですか?」
  • 「このポリゴンの面積を平方キロメートルで計算してください」
  • 「37.7749°N, 122.4194°W のポイントはこのサービスエリアポリゴン内にありますか?」
  • 「サンフランシスコからニューヨークへの方位は?」
  • 「ロンドンとパリの中間点を見つけて」
  • 「この場所の周囲に 5 マイルのバッファゾーンを作成して」
  • 「この地区の境界の重心を計算して」
  • 「これらのルート座標の境界ボックスは?」
  • 「この複雑なポリゴンを単純化して、ポイント数を減らしてください」

より良い結果を得るためのヒント

  • 場所について具体的に指定します (完全な住所またはランドマーク名を使用)
  • 希望する移動手段を指定します (運転、徒歩、自転車)
  • 関連する場合は時間制約を含めます (「ラッシュアワー時」、「午後 3 時に」)
  • 必要に応じて特定の出力形式を要求します (「地図画像として」、「JSON 形式で」)

詳細な例: examples/search-along-route.md で、さまざまなユースケースと MCP Inspector テスト手順を含む、search-along-route プロンプトの包括的な例を参照してください。

リソース

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

利用可能なリソース

Mapbox カテゴリリソース

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

カテゴリ検索ツールで使用する、利用可能なカテゴリ ID の完全なリストにアクセスします。カテゴリを使用して、検索結果をタイプ別 (例: 「restaurant」、「hotel」、「gas_station」) にフィルタリングできます。

:

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

リソースへのアクセス:

  • ネイティブ MCP リソースサポートを持つクライアント: resources/read MCP プロトコルメソッドを使用します
  • リソースサポートのないクライアント: リソース 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_toolisochrone_tool、またはその他の Mapbox API 呼び出しへの依存関係はありません。ペイロードスキーマと完全なスタンドアロンの例については、完全な render_map_tool ガイド を参照してください。

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

CLIENT_NEEDS_RESOURCE_FALLBACK

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

リソースは、ほとんどのクライアント (Claude Desktop、VS Code、MCP Inspector など) でサポートされている MCP のコア機能です。ただし、一部のクライアント (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://categoriesmapbox://categories/ja)

使用例:

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

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

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

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

距離ツール

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

特徴:

  • 複数の単位をサポート: キロメートル、マイル、メートル、フィート、海里
  • 正確な大円距離計算
  • API 呼び出しは不要

使用例: 「サンフランシスコ (37.7749°N, 122.4194°W) とニューヨーク (40.7128°N, 74.0060°W) の間の距離は?」

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

1 つ以上のポイントをポリゴンまたはマルチポリゴンに対してテストし、内部にあるものだけを返します。1 回の呼び出しで単一のポイントまたはバッチを処理します。

特徴:

  • 穴を含む複雑なポリゴンに対応
  • マルチポリゴンをサポート
  • 1回の呼び出しで任意の数のポイントを一括テスト
  • ジオフェンシング、配達エリア検証、顧客セグメンテーションに有用

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

目的地ツール

開始点、方位角、距離を指定して、測地線(大円)オフセットを使用して目的地のポイントを計算します。

特徴:

  • 直線オフセットであり、ルート経路ではない
  • 「Xの北5kmの地点を見つける」や検索オフセットの構築に有用
  • API呼び出しは不要

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

方位角ツール

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

特徴:

  • 方位角を度(0〜360°)で返します
  • 基本方位(N、NE、E、SE、S、SW、W、NW)を提供
  • ナビゲーションや方向に関するクエリに有用

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

中間点ツール

大円経路に沿った2つの座標間の地理的な中間点を見つけます。

特徴:

  • 地球の曲面における真の中間点を計算
  • 待ち合わせ場所の提案に有用
  • 長距離計算を正確に処理

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

重心ツール

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

特徴:

  • 複雑な形状に対応
  • すべてのポイントの算術平均を返します
  • ラベルやマーカーの配置に有用

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

面積ツール

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

特徴:

  • 平方メートル、平方キロメートル、エーカー、ヘクタール、平方マイル、平方フィートなど複数の単位をサポート
  • 地球の表面での正確な面積計算
  • 任意のサイズのポリゴンに対応

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

境界ボックスツール

ジオメトリを含む最小境界ボックス(bbox)を計算します。

特徴:

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

使用例: 「このルートの境界ボックスは何ですか?」

バッファーツール

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

特徴:

  • 複数の距離単位をサポート
  • ポイントの周囲に円形バッファーを作成
  • 近接分析や影響範囲ゾーンの作成に有用

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

簡略化ツール

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

特徴:

  • 詳細レベルの許容値を設定可能
  • 複雑さを軽減しながら全体的な形状を維持
  • ファイルサイズの削減とレンダリングパフォーマンスの向上に有用
  • トポロジーを維持するオプション(自己交差を防ぐ)

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

長さツール

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

特徴:

  • キロメートル、マイル、メートル、フィートをサポート
  • ルーティングAPI呼び出しなしで、描画されたルート、パス、境界の測定に有用

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

凸包ツール

一連のポイントの凸包(すべてのポイントを含む最小の凸ポリゴン)を計算します。

特徴:

  • 境界面積分析やカバレッジエリアの推定に有用
  • API呼び出しなしでオフラインで動作

使用例: 「これらの店舗の場所をすべて含む最小のポリゴンは何ですか?」

最近傍ポイントツール

コレクション内で指定されたターゲットポイントに最も近いポイントを見つけます。

特徴:

  • 各候補に対して distance_tool を呼び出して並べ替えるよりも効率的
  • 場所に最も近い店舗、停留所、ランドマークを見つけるのに有用

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

ライン上の最近傍ポイントツール

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

特徴:

  • 「このルート上のどのポイントが現在地に最も近いか」や、API呼び出しなしのマップマッチングに有用

使用例: 「このハイキングトレイル上で、今私が最も近い場所はどこですか?」

結合、交差、差分ツール

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

特徴:

  • サービスエリアの結合、カバレッジの重複の発見、除外ゾーンの計算に有用(例:「ゾーンAには含まれるがゾーンBには含まれないものは何か?」)
  • 完全にオフラインで動作 — API呼び出しは不要
  • 各ツールは render_map_tool 参照を返すため、結果を直接視覚化できます

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

Mapbox APIツール

カテゴリリストツール(非推奨)

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

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

マトリックスツール

Mapbox Matrix API を使用して、複数のポイント間の移動時間と距離を計算します。特徴は次のとおりです:

  • 効率的な1対多、多対1、または多対多のルーティング計算
  • さまざまな移動プロファイル(driving-traffic、driving、walking、cycling)をサポート
  • 交通状況を考慮した計算のための出発時刻指定
  • 距離と所要時間のメトリクスによるルート要約
  • アプローチ制御(縁石/無制限)と許容出発方位の範囲

静的画像ツール

Mapbox static image API を使用して静的マップ画像を生成します。特徴は次のとおりです:

  • カスタムマップスタイル(streets、outdoors、satelliteなど)
  • 調整可能な画像寸法とズームレベル
  • カスタムカラーとラベルを持つ複数のマーカーをサポート
  • ポリラインやポリゴンを含むオーバーレイオプション
  • 指定された座標への自動フィット

カテゴリ検索ツール

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

  • カテゴリ別の興味のあるポイントを検索(レストラン、ホテル、ガソリンスタンドなど)
  • 地理的近接性によるフィルタリング
  • カスタマイズ可能な結果制限
  • 各結果のリッチなメタデータ
  • 複数の言語をサポート

逆ジオコーディングツール

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

  • 地理座標を人間が読める住所に変換
  • カスタマイズ可能な詳細レベル(通り、近隣、都市など)
  • タイプ別の結果フィルタリング(住所、POI、近隣など)
  • 複数の言語をサポート
  • リッチな場所コンテキスト情報

地上ロケーションツール

「この座標の近くには何があるか」という質問に1回の呼び出しで回答します — 場所名、近くの興味のあるポイント、移動時間の到達可能性 — ライブのMapboxデータから引用付きで取得します。reverse_geocode_tool をウェブ検索と連鎖させる代わりにこれを使用してください。

特徴:

  • クエリを分類(ルーティング、近隣コンテキスト、POI検索、または地域/到達可能性)し、関連データのみを取得
  • 要求された場合、カテゴリ別の近くのPOI検索
  • 移動時間の到達可能性の要約(等時線ベース)
  • 接地された場所と近くのPOIがプロットされた render_map_tool 参照を返します

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

場所詳細ツール

Mapbox IDを使用して特定の場所の詳細情報を取得します — 写真、営業時間、評価、電話番号、ウェブサイトURL。search_and_geocode_toolcategory_search_tool、または reverse_geocode_tool の後に使用して、特定の結果の詳細を取得します。

使用例: 「最初のコーヒーショップの結果について詳しく教えてください — 営業時間、電話番号、ウェブサイト」

道順ツール

Mapbox Directions API を使用してルーティングの道順を取得します。特徴は次のとおりです:

  • さまざまなルーティングプロファイルをサポート:driving(ライブ交通状況または標準)、walking、cycling
  • 複数のウェイポイントからのルート(2〜25座標ペア)
  • 代替ルートオプション
  • ルート注釈(距離、所要時間、速度、混雑)
  • スケジュールオプション:
    • 将来の出発時刻(depart_at)— drivingおよびdriving-trafficプロファイル用
    • 希望到着時刻(arrive_by)— drivingプロファイルのみ
  • プロファイル固有の最適化:
    • Driving:車両寸法の制約(高さ、幅、重量)
  • ルーティングの除外オプション:
    • 一般的な除外:フェリールート、現金のみの有料道路
    • Driving固有の除外:有料道路、高速道路、未舗装道路、トンネル、国境、州境
    • カスタムポイント除外(回避する最大50の地理ポイント)
  • GeoJSONジオメトリ出力形式

等時線ツール

Mapbox Isochrone API を使用して、場所から指定された時間内に到達可能なエリアを計算します。特徴は次のとおりです:

  • さまざまな移動プロファイル(driving、walking、cycling)をサポート
  • カスタマイズ可能な移動時間または距離
  • 複数のコンター生成(例:15、30、45分の範囲)
  • オプションの出発または到着時刻指定
  • 視覚化のための色のカスタマイズ

検索およびジオコーディングツール

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

マップマッチングツール

Mapbox Map Matching API を使用してGPSトレースを道路ネットワークにスナップします。特徴は次のとおりです:

  • ノイズの多いGPSトレースを道路ネットワーク上のクリーンなルートに変換
  • さまざまな移動プロファイル(driving、driving-traffic、walking、cycling)をサポート
  • リクエストごとに最大100座標ペアを処理
  • 速度に基づく精度向上のためのオプションのタイムスタンプ
  • さまざまなGPS品質レベルに対応する設定可能なスナップ半径
  • ルート注釈(速度制限、距離、所要時間、交通混雑)
  • 複数のジオメトリ出力形式(GeoJSON、ポリライン)

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

最適化ツール

Mapbox Optimization API を使用して、複数の場所を通る最適なルートを見つけます。特徴は次のとおりです:

  • 巡回セールスマン問題(TSP)を2〜12の場所で解決
  • さまざまな移動プロファイル(driving、driving-traffic、walking、cycling)をサポート
  • 柔軟な開始点と終了点の設定
  • 往復または片道のトリップ最適化
  • ターンバイターンのナビゲーション手順(オプション)
  • ルート注釈(距離、所要時間、速度)
  • 複数のジオメトリ出力形式(GeoJSON、ポリライン)

使用例: 「これらの5つの停留所を訪問する最適なルートを見つけてください:[住所または座標のリスト]」

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

開発

サーバーの検査

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.jsonserver.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リクエストの計装
  • ✅ 設定可能なエクスポーター(コンソール、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 Issuesを通じたコミュニティサポート

MITライセンス