MCP Tools Reference: mapstools.googleapis.com

ツール: search_along_route

ユーザーが旅行ルート沿いの場所、店舗、スポットを検索したい場合(例: 「タホに向かう途中のガソリンスタンド」、「サンフランシスコとサンノゼの間のカフェ」)に、このツールを呼び出します。このツールを呼び出すと、search_places よりも費用が高くなります。そのため、ルート沿いではなく、1 つの場所の近くを検索する場合は、代わりに search_places を使用してください。

入力要件(重要):

  1. text_query(文字列 - 必須): ルート沿いで検索する内容の自然言語による説明。

    • 例: 'ev chargers'、'coffee'、'vegetarian restaurants'、'rest stops'
  2. ルートの指定(必須 - 次のいずれか 1 つのみを指定):

    • retrieval_token(文字列): DRIVE ルートの以前の compute_routes 呼び出しによって返された retrieval_token。ルートがすでに計算されている場合は、常にこの方法を使用することをおすすめします。トークンは 10 分間有効です。
    • route_endpoints(オブジェクト): ルートの origin と destination。それぞれ、address、lat_lng、place_id のいずれかを使用して指定する必要があります。
      • 例: {"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}
    • encoded_polyline(文字列): DRIVE ルートを表すエンコードされたポリライン。
  3. travel_mode(列挙型 - 省略可): DRIVE(デフォルト)、WALK、BICYCLE。WALK と BICYCLE は route_endpoints でのみサポートされています。TRANSIT はサポートされていません。

  4. routing_preference(列挙型 - 省略可):

    • ROUTING_PREFERENCE_TRAFFIC_UNAWARE(デフォルト): ライブ交通情報を使用せずにルートと迂回路を計算します。レイテンシが最も低い。
    • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: 可能な場合は、リアルタイムの交通状況を使用します。WALK または BICYCLE ではサポートされていません。この設定は、ユーザーが交通状況、渋滞、交通状況を考慮した迂回時間について尋ねた場合にのみ行ってください。レイテンシが高くなります。
  5. include_extended_details(ブール値 - 省略可): リクエストに、定性的なクチコミの分析情報、特定のメニュー項目やサービス、雰囲気、訪問者のヒントや混雑状況、EV 充電器の利用可能性、ガソリン価格、その他の詳細な定性的情報が必要な場合にのみ、true に設定します。デフォルトでは false に設定されます。有効にすると、レイテンシが増加する可能性があります。

  6. language_code(文字列 - 省略可): 結果の概要と Place Details の言語(en、ja、en-US など)。デフォルトは en-US です。

  7. region_code(文字列 - 省略可): ユーザーの Unicode CLDR リージョン コード(例: US、CA)。

ツール呼び出しの手順:

  • 各結果には、その場所に立ち寄ることで発生する追加の距離(localized_detour_distance)と、ルートが encoded_polyline として指定されていない場合は追加の時間(detour_duration)を記述する detour_summary(利用可能な場合)が含まれます。オプションの比較に使用します。
  • レスポンス summary には、results のエントリを参照する 0 ベースの引用(「[0]」など)が含まれる場合があります。
  • グラウンディングされた出力は、利用可能な場合は各 results[].place の attribution フィールドを使用してソースに関連付ける必要があります。

次のコードサンプルは、curl を使用して search_along_route MCP ツールを呼び出す方法を示しています。

Curl リクエスト
curl --location 'https://mapstools.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "search_along_route",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

入力スキーマ

SearchAlongRoute のリクエスト メッセージ。

SearchAlongRouteRequest

JSON 表現
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,
  "routingPreference": enum (RoutingPreference),
  "includeExtendedDetails": boolean,
  "travelMode": enum (RouteTravelMode),

  // Union field route_spec can be only one of the following:
  "encodedPolyline": string,
  "retrievalToken": string,
  "routeEndpoints": {
    object (RouteEndpoints)
  }
  // End of list of possible types for union field route_spec.
}
フィールド
textQuery

string

必須。自然言語検索クエリ(例: 「EV 充電器」、「コーヒー」)。

languageCode

string

省略可。要約と Place Details の言語。デフォルトは「en-US」です。

regionCode

string

省略可。地域の国 / 地域コード(CLDR)(例: 「US」)。

routingPreference

enum (RoutingPreference)

省略可。交通状況データの使用方法を指定する、オプションのルーティング設定。デフォルトは TRAFFIC_UNAWARE です。

includeExtendedDetails

boolean

省略可。レスポンスに拡張された Place Details が含まれます。

ユーザー リクエストに、豊富な定性的分析情報、リアルタイムの動向、または特殊なエンティティ属性(定性的なレビュー、顧客の感情、フィードバックなど)が必要な場合は、このフィールドを true に設定します。- メニュー項目、料理、名物料理、飲み物、ビジネスのハイライトなどの具体的な提供内容。- 雰囲気、インテリア、美観、ムードなどの質的な要素。- リアルタイムのデータと、専門施設の仕様、訪問者向けのポリシー / ヒント、待ち時間。

標準の検索(料理、店舗の種類など)、場所 / 住所の検索、連絡先情報、営業時間、標準のメタデータ / 設備については、false(デフォルト)のままにします。

このフィールドを有効にすると、レイテンシが増加する可能性があります。

travelMode

enum (RouteTravelMode)

省略可。ルートと迂回路の計算に使用する移動手段を指定します。デフォルトは DRIVE です。WALK と BICYCLE は route_endpoints でのみサポートされています。TRANSIT はサポートされていません。

共用体フィールド route_spec。ルート仕様: 既存のルート、ルートトークン、または出発地 / 目的地のいずれか。route_spec は次のいずれかになります。
encodedPolyline

string

ルートを表すエンコードされたポリライン文字列。https://developers.google.com/maps/documentation/utilities/polylinealgorithm をご覧ください。

retrievalToken

string

ルートを表す、以前の ComputeRoutes 呼び出しから返された取得トークン。

routeEndpoints

object (RouteEndpoints)

明示的なルート エンドポイント(出発地と目的地)。

RouteEndpoints

JSON 表現
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  }
}
フィールド
origin

object (Waypoint)

必須。出発地(住所、プレイス ID、地理座標)。

destination

object (Waypoint)

必須。目的地(住所、プレイス ID、または地理座標)。

ウェイポイント

JSON 表現
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
フィールド
共用体フィールド location_type。場所を表すさまざまな方法。location_type は次のいずれかになります。
latLng

object (LatLng)

地理座標を使用して指定されたポイント。

placeId

string

ウェイポイントに関連付けられたプレイス ID。

address

string

人が読める形式の住所または Plus Code。詳しくは https://plus.codes をご覧ください。

LatLng

JSON 表現
{
  "latitude": number,
  "longitude": number
}
フィールド
latitude

number

緯度(度単位)。範囲 [-90.0, +90.0] 内になければなりません。

longitude

number

経度(度単位)。範囲 [-180.0, +180.0] 内になければなりません。

RoutingPreference

ルートを計算する際に考慮する要素を指定する値のセット。

列挙型
ROUTING_PREFERENCE_UNSPECIFIED ルーティング設定が指定されていません。デフォルトは ROUTING_PREFERENCE_TRAFFIC_UNAWARE です。
ROUTING_PREFERENCE_TRAFFIC_UNAWARE リアルタイムの交通状況を考慮せずにルートを計算します。交通状況が重要でない場合や、交通状況が適用されない場合に適しています。この値を使用すると、レイテンシが最も低くなります。
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL

交通データが利用可能な場合は、リアルタイムの交通状況を考慮してルートを計算します。TRANSIT の場合、遅延やキャンセルなどのリアルタイムの交通機関データを使用します(利用可能な場合)。

この値は Pro ティアをトリガーし、請求額とレイテンシが増加します。

RouteTravelMode

移動手段を指定するために使用される値のセット。

列挙型
ROUTE_TRAVEL_MODE_UNSPECIFIED 移動手段が指定されていません。デフォルトは DRIVE です。
DRIVE 乗用車で移動する。
WALK 徒歩で移動します。注: WALK ルートはベータ版であり、明確な歩道や歩行者用通路が欠落している場合があります。アプリに表示するすべての徒歩ルートについて、この警告をユーザーに表示する必要があります。
BICYCLE 自転車で移動する。
TRANSIT 公共交通機関で移動する。

出力スキーマ

SearchAlongRoute のレスポンス メッセージ。

SearchAlongRouteResponse

JSON 表現
{
  "results": [
    {
      object (Result)
    }
  ],
  "summary": string,
  "contentToken": string
}
フィールド
results[]

object (Result)

出力専用。ルート沿いで見つかった検索結果のランク付けされたリスト。

summary

string

出力専用。検索結果と迂回ルートのトレードオフを自然言語で要約。results リスト内の対応するエントリを参照するゼロベースの引用(「[0]」、「[1]」など)が含まれる場合があります。

contentToken

string

出力専用。検索コンテキストをカプセル化する暗号化されたトークン。Google マップのビジュアル レンダリング サービス、SDK、または Google マップ エージェント型 UI ツールキット(A2UI)に渡して、返された検索結果のインタラクティブな UI コンポーネントを表示できます。

結果

JSON 表現
{
  "place": {
    object (PlaceView)
  },
  "detourSummary": {
    object (DetourSummary)
  }
}
フィールド
place

object (PlaceView)

出力専用。経路沿いで見つかった場所の詳細。

detourSummary

object (DetourSummary)

出力専用。この場所を経路沿いの中間経由地として追加した場合に発生する迂回指標。迂回指標を計算できなかった場合は、省略されるか空になります。

PlaceView

JSON 表現
{
  "place": string,
  "id": string,
  "googleMapsLinks": {
    object (GoogleMapsLinks)
  },
  "attribution": {
    object (Attribution)
  },

  // Union field _location can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field _location.
}
フィールド
place

string

基盤となる場所のリソース名(「places/{id}」形式)。

id

string

基盤となる場所のプレイス ID。

googleMapsLinks

object (GoogleMapsLinks)

Google マップのさまざまなアクションをトリガーするリンク。

attribution

object (Attribution)

場所とともに表示する必須の帰属表示。

共用体フィールド _location。

_location は次のいずれかになります。

location

object (LatLng)

この場所の位置。

LatLng

JSON 表現
{
  "latitude": number,
  "longitude": number
}
フィールド
latitude

number

緯度(度単位)。範囲 [-90.0, +90.0] 内になければなりません。

longitude

number

経度(度単位)。範囲 [-180.0, +180.0] 内になければなりません。

JSON 表現
{
  "directionsUrl": string,
  "placeUrl": string,
  "writeAReviewUrl": string,
  "reviewsUrl": string,
  "photosUrl": string
}
フィールド
directionsUrl

string

場所へのルートを表示するリンク。このリンクでは、目的地の場所のみが入力され、デフォルトの移動手段 DRIVE が使用されます。

placeUrl

string

この場所を表示するリンク。

writeAReviewUrl

string

Google マップでこの場所のクチコミを投稿するためのリンク。

reviewsUrl

string

Google マップでこの場所のクチコミを表示するためのリンク。

photosUrl

string

Google マップでこの場所の写真を表示するためのリンク。

アトリビューション

JSON 表現
{
  "title": string,
  "url": string
}
フィールド
title

string

アトリビューションに表示するタイトル。

url

string

帰属表示のリンク先 URL。

DetourSummary

JSON 表現
{
  "detourDuration": string,
  "localizedDetourDistance": string
}
フィールド
detourDuration

string (Duration format)

メインルートからこの場所に迂回するために必要な追加の移動時間。ルートが encoded_polyline で指定されている場合、この値は設定されません。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"。

localizedDetourDistance

string

メインルートからこの場所まで迂回するために必要な追加の距離。リクエスト言語で表示されるようにフォーマットされています(例: 「1.2 マイル」または「1.9 km」)。

所要時間

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

期間の秒数(符号付き)。-315,576,000,000 ~+315,576,000,000 の範囲(境界を含む)になります。注: これらの境界は、60 秒/分 * 60 分/時間 * 24 時間/日 * 365.25 日/年 * 10,000 年から計算されます。

nanos

integer

期間のナノ秒分解能による、秒の符号付き小数以下部分。1 秒未満の期間は、0 の seconds フィールドと、正または負の nanos フィールドで表されます。1 秒以上の期間の場合、nanos フィールドのゼロ以外の値は、seconds フィールドと同じ符号にする必要があります。-999,999,999~+999,999,999 の範囲内(境界含む)である必要があります。

ツールのアノテーション

ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントは、これらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。

タイトル文字列とともに、次のブール値ヒントが定義されています。

  • readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。
  • destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。
  • idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に副次的影響は発生しません。デフォルトは false です。
  • openWorldHint: true の場合、ツールは外部エンティティの「オープンワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。

破壊的ヒント: ❌ | べき等ヒント: ❌ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌