MCP Tools Reference: mapstools.googleapis.com

ツール: 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)が続きます(例: en、ja、en_US、zh_CN、es_MX)。言語コードが指定されていない場合、結果は英語で返されます。
  4. region_code(文字列 - 省略可): ユーザーの Unicode CLDR 地域コード。このパラメータは、地域固有の場所の名前など、場所の詳細を表示するために使用されます(利用可能な場合)。このパラメータは、適用される法律に基づいて結果に影響を与える可能性があります。

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

ツール呼び出しの手順:

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

  • 常に、可能な限り具体的でコンテキストが豊富な text_query を提供します。

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

  • グラウンディングされた出力は、attribution フィールドの情報が利用可能な場合は、その情報を使用してソースに帰属させる必要があります。

次のコードサンプルは、curl を使用して search_places 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_places",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

入力スキーマ

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

SearchTextRequest

JSON 表現
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,

  // Union field _location_bias can be only one of the following:
  "locationBias": {
    object (LocationBias)
  }
  // End of list of possible types for union field _location_bias.
}
フィールド
textQuery

string

必須。テキスト クエリ。

languageCode

string

省略可。要約の返信をリクエストする言語。言語コードが指定されていないか認識されない場合は、英語を優先する要約が返されます。

たとえば、英語の場合は「en」です。

サポートされている言語の現在のリスト: https://developers.google.com/maps/faq#languagesupport。

regionCode

string

省略可。リクエストの送信元のロケーションの Unicode 国/リージョン コード(CLDR)。このパラメータは、地域固有の場所の名前など、場所の詳細を表示するために使用されます(利用可能な場合)。このパラメータは、適用される法律に基づいて結果に影響を与える可能性があります。

例: 米国の場合は「US」。

詳しくは、https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html をご覧ください。

なお、3 桁の地域コードは現在サポートされていません。

共用体フィールド _location_bias。

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

locationBias

object (LocationBias)

検索結果を優先するオプションの地域。明示的な位置情報が text_query に含まれている場合、このフィールドではなく、その位置情報が検索結果のバイアスに使用されます。

LocationBias

JSON 表現
{
  "circle": {
    object (Circle)
  }
}
フィールド
circle

object (Circle)

省略可。中心点と半径で定義される円。radius_meters は省略可能です。設定しない場合、結果は中心点に偏ります。

サークル

JSON 表現
{
  "center": {
    object (LatLng)
  },

  // Union field _radius_meters can be only one of the following:
  "radiusMeters": number
  // End of list of possible types for union field _radius_meters.
}
フィールド
center

object (LatLng)

必須。円の中心点。

共用体フィールド _radius_meters。

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

radiusMeters

number

円の半径(メートル単位)。半径は 50,000 メートル以内にする必要があります。

LatLng

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

number

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

longitude

number

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

出力スキーマ

SearchText に対するレスポンス メッセージ。

SearchTextResponse

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

object (PlaceView)

出力専用。要約で言及されている場所のリスト。

summary

string

出力専用。検索結果の自然言語による要約。概要には「[0]」、「[1]」、「[2]」などのゼロベースの引用が含まれる場合があります。これらの引用は、places フィールドの対応する場所にマッピングされます。

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。

ツールのアノテーション

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

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

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

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