MCP Tools Reference: mapstools.googleapis.com

ツール: resolve_names

特定の場所のクエリ(ランドマーク名や正確な住所)のバッチリストを、正規の Google マップ プレイス ID に解決します。

入力要件(重要):

  1. queries(オブジェクトの配列 - 必須): 解決する場所クエリのリスト。最大 20 個のクエリを指定できます。

    • 各クエリ オブジェクトには、次のものが必要です。
      • text(文字列 - 必須): 解決する特定の場所の名前または住所を表すテキストクエリ。
        • 例: 'Googleplex, Mountain View, CA'、'1600 Amphitheatre Pkwy, Mountain View, CA'、'Eiffel Tower, Paris'
  2. location_bias(オブジェクト - 省略可): 特定の地理的エリアに近い結果を優先する場合に使用します。

    • 形式: {"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
  3. region_code(文字列 - 省略可): 結果をバイアスするユーザーの Unicode CLDR リージョン コード(2 文字の国コード、例: US、CA)。

ツール呼び出しの手順:

  • 具体性(重要): 検索語句は、特定の場所の名前または住所を表している必要があります。'restaurants' のような一般的な検索や、'Starbucks' のようなチェーン名はサポートされていません。
  • 呼び出す予定の下流ツールが、未加工の住所または場所名の文字列を直接受け入れる場合は、このツールを呼び出さないでください。

Google マップに保存する:

  • レスポンスには save_to_maps_url フィールドが含まれます。これは、正常に解決されたすべての場所を含む単一の Google マップのリンクです。
  • ユーザーが解決済みの場所をリストとして Google マップに保存、共有、または開く場合は、このリンクをユーザーに提示します。このリンクは自分で作成しないでください。

エラー処理(重大):

  • これはバッチ処理ツールです。リクエストが「混合結果」を返すことがあります(例: 一部のクエリは正常に解決されるが、他のクエリは失敗する)。
  • results の出力リストは、入力 queries インデックスと 1 対 1 でマッピングされることが保証されます。クエリが失敗すると、results リストの対応するインデックスに空の Result メッセージ(entity が設定されていない)が返されます。
  • レスポンスの failed_requests マップ フィールドをチェックして、失敗したクエリ インデックスを特定する必要があります。failed_requests のキーは、リクエストで失敗したクエリの 0 ベースのインデックスを表します。部分的な失敗が原因でバッチ呼び出し全体が失敗したと想定しないでください。

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

入力スキーマ

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

ResolveNamesRequest

JSON 表現
{
  "queries": [
    {
      object (LocationQuery)
    }
  ],
  "locationBias": {
    object (LocationBias)
  },
  "regionCode": string
}
フィールド
queries[]

object (LocationQuery)

必須。解決するロケーション クエリのリスト。最大 20 個のクエリを指定できます。

locationBias

object (LocationBias)

省略可。解決結果をバイアスするオプションのリージョン。指定すると、解決結果は、このリージョンに近いエンティティに偏ります。location_bias または region_code を含めると、検索範囲が絞り込まれ、より良い結果が得られることがよくあります。

location_bias と region_code の両方が指定されている場合、location_bias が region_code よりも優先されます。

regionCode

string

省略可。解決結果をバイアスするためのオプションのリージョン コード。指定すると、解決結果は、指定されたリージョン内またはその近くにあるエンティティに偏ります。これは CLDR リージョン コードにする必要があります。(「US」や「CA」など)。location_bias または region_code を含めると、検索範囲が絞り込まれ、より良い結果が得られることがよくあります。

location_bias と region_code の両方が指定されている場合、location_bias が region_code よりも優先されます。

LocationQuery

JSON 表現
{
  "text": string
}
フィールド
text

string

必須。Google マップ上の特定の地理空間エンティティ(場所や住所など)に解決するテキストクエリ。クエリが具体的であるほど、解決策の精度が高くなります。たとえば、「サンフランシスコ」、「Googleplex, Mountain View, CA」、「1600 Amphitheatre Parkway, Mountain View, CA」、「エッフェル塔、パリ」などです。クエリには、特定の住所または場所の名前を指定する必要があります。チェーン名(例: スターバックス)などの一般的な場所や、「レストラン」などの検索クエリはサポートされていません。

LocationBias

JSON 表現
{

  // Union field type can be only one of the following:
  "viewport": {
    object (Viewport)
  }
  // End of list of possible types for union field type.
}
フィールド
共用体フィールド type。位置情報のバイアスのタイプ。type は次のいずれかになります。
viewport

object (Viewport)

境界ボックスで定義されたビューポート。

ビューポート

JSON 表現
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
フィールド
low

object (LatLng)

必須。ビューポートの低い位置。

high

object (LatLng)

必須。ビューポートの最高点。

LatLng

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

number

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

longitude

number

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

出力スキーマ

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

ResolveNamesResponse

JSON 表現
{
  "results": [
    {
      object (Result)
    }
  ],
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  },
  "saveToMapsUrl": string
}
フィールド
results[]

object (Result)

出力専用。ロケーション クエリから解決されたエンティティのリスト。リクエストの queries インデックスと 1 対 1 でマッピングされることが保証されます。インデックス i の空の文字列は、そのクエリの解決が失敗したことを示します。解決に失敗した場合は、failed_requests フィールドでエラー ステータスを確認してください。

failedRequests

map (key: integer, value: object (Status))

出力専用。部分的な失敗を伝えるマップ。キーは、queries フィールドで失敗したリクエストのインデックスです。この値は、解決に失敗した理由を示すエラー ステータスです。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

saveToMapsUrl

string

出力専用。正常に解決されたすべてのエンティティを Google マップに保存するためのリンク。

結果

JSON 表現
{
  "entity": {
    object (Entity)
  },
  "confidence": enum (Confidence)
}
フィールド
entity

object (Entity)

出力専用。位置情報クエリから解決されたエンティティ。

confidence

enum (Confidence)

出力専用。解決策の信頼度。

エンティティ

JSON 表現
{

  // Union field entity can be only one of the following:
  "place": string
  // End of list of possible types for union field entity.
}
フィールド
共用体フィールド entity。解決されたエンティティ タイプ。entity は次のいずれかになります。
place

string

解決された場所のリソース名。

FailedRequestsEntry

JSON 表現
{
  "key": integer,
  "value": {
    object (Status)
  }
}
フィールド
key

integer

value

object (Status)

ステータス

JSON 表現
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
フィールド
code

integer

ステータス コード。google.rpc.Code の列挙値である必要があります。

message

string

デベロッパー向けのエラー メッセージ。英語で記述します。ユーザー向けのエラー メッセージは、ローカライズして google.rpc.Status.details フィールドで送信するか、クライアントでローカライズする必要があります。

details[]

object

エラーの詳細を保持するメッセージのリスト。API が使用する共通のメッセージ タイプのセットがあります。

任意のデータ型のフィールドを含むオブジェクトであり、型を識別する URI を含むフィールド "@type" を追加できます。例: { "id": 1234, "@type": "types.example.com/standard/id" }

すべて

JSON 表現
{
  "typeUrl": string,
  "value": string
}
フィールド
typeUrl

string

シリアル化された Protobuf メッセージのタイプを、スラッシュで終わる接頭辞と完全修飾タイプ名で構成される URI 参照で識別します。

例: type.googleapis.com/google.protobuf.StringValue

この文字列には少なくとも 1 つの / 文字が含まれている必要があります。最後の / の後のコンテンツは、先頭にドットを付けずに、正規形式の型の完全修飾名にする必要があります。クライアントがこれらの URI 参照にアクセスしようとしないように、これらの URI 参照にスキームを記述しないでください。

接頭辞は任意であり、Protobuf の実装では、最後の / までのすべてを削除して型を識別することが想定されています。type.googleapis.com/ は、一部の以前の実装で必要となる一般的なデフォルトの接頭辞です。この接頭辞はタイプのオリジンを示すものではなく、この接頭辞を含む URI がリクエストに応答することは想定されていません。

すべてのタイプ URL 文字列は、有効な URI 参照である必要があります。また、参照の内容は、英数字、パーセント エンコードされたエスケープ、および次のセットの文字(外側のバッククォートを除く)のみで構成されている必要があります(テキスト形式の場合)。/-.~_!$&()*+,;=パーセント エンコードは許可されていますが、既存のパーサーとの混同を避けるため、実装ではエスケープを解除しないでください。たとえば、type.googleapis.com%2FFoo は拒否される必要があります。

Any の元の設計では、これらのタイプ URL でタイプ解決サービスを起動する可能性が考慮されていましたが、Protobuf はこれを実装しておらず、これらの URL へのアクセスは問題であり、セキュリティ上の問題となる可能性があると考えています。URL を入力してアクセスしようとしないでください。

value

string (bytes format)

type_url で記述された型の Protobuf シリアル化を保持します。

Base64 でエンコードされた文字列。

信頼度

解決策の信頼度。

列挙型
CONFIDENCE_UNSPECIFIED デフォルト値。この値は使用されません。
MEDIUM 「中」は、解決策が正しい可能性が高いものの、他の候補が存在する可能性があることを示します。
HIGH 信頼度が高い場合は、解決が正しく、特定の地理空間エンティティ(特定の場所など)を表していることを示します。

ツールのアノテーション

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

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

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

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