MCP Reference: mapstools.googleapis.com

Model Context Protocol(MCP)サーバーは、大規模言語モデル(LLM)または AI アプリケーションにコンテキスト、データ、機能を提供する外部サービスとの間のプロキシとして機能します。MCP サーバーは、AI アプリケーションをデータベースやウェブサービスなどの外部システムに接続し、そのレスポンスを AI アプリケーションが理解できる形式に変換します。

サーバーの設定

使用する前に、MCP サーバーを有効にして 認証を設定する必要があります。Google と Google Cloud のリモート MCP サーバーの使用について詳しくは、Google Cloud MCP サーバーの概要をご覧ください。

これは、Maps Grounding Lite API によって提供される MCP サーバーです。このサーバーは、デベロッパーが Google Maps Platform 上に LLM アプリケーションを構築するためのツールを提供します。

サーバー エンドポイント

MCP サービス エンドポイントは、安全で標準化された接続を確立するために AI アプリケーション(MCP クライアントのホスト)が使用する MCP サーバーのネットワーク アドレスと通信インターフェース(通常は URL)です。これは、LLM がコンテキストをリクエストしたり、ツールを呼び出したり、リソースにアクセスしたりするための接続ポイントとなります。Google MCP エンドポイントをグローバルまたはリージョンにすることができます。

mapstools.googleapis.com MCP サーバーには、次の MCP エンドポイントがあります。

  • https://mapstools.googleapis.com/mcp

MCP ツール

MCP ツールは、現実世界でアクションを実行する目的で MCP サーバーが LLM または AI アプリケーションに対して公開する関数または実行可能な機能です。

mapstools.googleapis.com MCP サーバーには、次のツールがあります。

MCP ツール
search_places

ユーザーのリクエストが、場所、店舗、住所、ロケーション、名所、その他の Google マップ関連の検索である場合は、このツールを呼び出します。

入力要件(重要):

  1. text_query(文字列 - 必須): プライマリ検索クエリ。ユーザーが探しているものを明確に定義する必要があります。

    • 例: 'restaurants in New York''coffee shops near Golden Gate Park''SF MoMA''1600 Amphitheatre Pkwy, Mountain View, CA, USA''pets friendly parks in Manhattan, New York''date night restaurants in Chicago''accessible public libraries in Los Angeles'
    • 特定の場所の詳細情報の場合: リクエストされた属性を含めます(例: 'Google Store Mountain View opening hours''SF MoMa phone number''Shoreline Park Mountain View address')。
  2. location_bias(オブジェクト - 省略可): 特定の地理的エリアの近くの結果を優先するために使用します。

    • 形式: {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • 使用方法:
      • 半径 5 km の範囲を優先する場合: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • 中心点を強く優先する場合: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}}radius_meters は省略)。
  3. language_code(文字列 - 省略可): 検索結果の概要を表示する言語。

    • 形式: 2 文字の言語コード(ISO 639-1)。必要に応じて、アンダースコアと 2 文字の国コード(ISO 3166-1 alpha-2)が続きます(例: enjaen_USzh_CNes_MX)。言語コードが指定されていない場合、結果は英語で表示されます。
  4. region_code(文字列 - 省略可): ユーザーの Unicode CLDR リージョン コード。このパラメータは、利用可能な場合、地域固有の場所名などの場所の詳細を表示するために使用されます。このパラメータは、適用される法律に基づいて結果に影響を与える可能性があります。

    • 形式: 2 文字の国コード(ISO 3166-1 alpha-2)(例: USCA)。

ツール呼び出しの手順:

  • 位置情報(重要): 検索には十分な位置情報を含める必要があります。場所が曖昧な場合(「ピザ店」など)、text_query で指定する(「ニューヨークのピザ店」など)か、location_bias パラメータを使用する必要があります。 曖昧さを解消するために必要な場合は、市区町村、都道府県、リージョン / 国名を含めます。

  • 常に、可能な限り具体的でコンテキストに沿った text_query を指定してください。

  • location_bias は、座標が明示的に指定されている場合、またはユーザーの既知のコンテキストから場所を推測することが適切で、より良い結果を得るために必要な場合にのみ使用してください。

lookup_weather

現在の天気情報、1 時間ごとの天気予報、毎日の天気予報など、包括的な天気データを取得します。

利用可能な特定のデータ: 気温(現在、体感温度、最高/最低、熱指数)、風(速度、突風、方向)、天体現象(日の出/日の入り、月の満ち欠け)、降水量(種類、確率、量/QPF)、大気の状態(UV 指数、湿度、雲量、雷雨の確率)、ジオコーディングされた場所の住所。

場所と場所のルール(重要):

天気データがリクエストされる場所は、「location」フィールドを使用して指定します。このフィールドは「oneof」構造です。つまり、正確な天気データの検索を確実に行うには、以下の 3 つの場所サブフィールドのうち 1 つのみに値を指定する必要があります。

  1. 地理座標(lat_lng)

    • 正確な緯度/経度座標が提供されている場合に使用します。
    • 例: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // Los Angeles
  2. プレイス ID(place_id)

    • 曖昧さのない文字列識別子(Google マップのプレイス ID)。
    • place_id は、search_places ツールから取得できます。
    • 例: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Eiffel Tower
  3. 住所文字列(address)

    • ジオコーディングには具体性が必要な自由形式の文字列。
    • 市区町村と地域: 常に地域/国を含めます(例: 「London, UK」、ではなく「London」)。
    • 番地: 完全な住所を指定します(例: 「1600 Pennsylvania Ave NW, Washington, DC」)。
    • 郵便番号: 国名を含める必要があります(例: 「90210, USA」、ではなく「90210」)。

使用モード:

  1. 現在の天気情報: location のみ指定します。datehour は指定しないでください。

  2. 1 時間ごとの天気予報: locationdatehour(0 ~ 23)を指定します。特定の時間(「午後 5 時」など)や、「次の数時間」、「今日の午後」などの用語に使用します。ユーザーが分を指定した場合は、最も近い時間に切り下げます。現在から 120 時間を超える 1 時間ごとの天気予報はサポートされていません。過去 24 時間までの 1 時間ごとの過去の天気情報はサポートされています。

  3. 毎日の天気予報: locationdate を指定します。hour は指定しないでください。一般的な日のリクエスト(「明日の天気」、「金曜日の天気」、「12 月 25 日の天気」など)に使用します。今日の日にちがコンテキストに含まれていない場合は、ユーザーに確認する必要があります。今日を含めて 10 日を超える毎日の天気予報は対象外です。過去の天気情報はサポートされていません。

パラメータの制約:

  • タイムゾーン: datehour の入力はすべて、ユーザーのタイムゾーンではなく、ロケーションの現地タイムゾーン を基準にする必要があります。
  • 日付形式: 入力は {year, month, day} の整数に分割する必要があります。
  • 単位: デフォルトは METRIC です。ユーザーが米国の基準を示唆している場合、または明示的にリクエストしている場合は、units_systemIMPERIAL に設定して華氏/マイルを使用します。
compute_routes

指定された出発地と目的地の間の移動ルートを計算します。サポートされている移動手段: DRIVE(デフォルト)、WALK。

入力要件(重要): 出発地目的地 の両方が必要です。それぞれ、次のいずれかの方法で指定する必要があります。それぞれのフィールド内にネストします。

  • address: (文字列、例: 「Eiffel Tower, Paris」)。注: 入力した住所が詳細であるほど、より良い結果が得られます。

  • lat_lng: (オブジェクト、{"latitude": number, "longitude": number})

  • place_id: (文字列、例: 「ChIJOwE_Id1w5EAR4Q27FkL6T_0」)注: この ID は、search_places ツールから取得できます。入力タイプの任意の組み合わせが可能です(例: 出発地は住所、目的地は lat_lng)。出発地または目的地が欠落している場合は、ツールを呼び出す前にユーザーに確認する必要があります

ツールの呼び出し例: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

MCP ツールの仕様を取得する

MCP サーバー内のすべてのツールの MCP ツール仕様を取得するには、tools/list メソッドを使用します。次の例は、curl を使用して、MCP サーバー内で現在使用可能なすべてのツールとその仕様を一覧表示する方法を示しています。

Curl リクエスト
                      curl --location 'https://mapstools.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'