MCP Tools Reference: mapstools.googleapis.com

ツール: resolve_maps_urls

Google マップの URL のリストを正規の Google マップ プレイス ID に解決します。

このツールを呼び出すタイミング(重要):

  • このツールは、ユーザーが 1 つ以上の Google マップ共有リンクまたは URL(例: 「https://maps.app.goo.gl/...」)を提供した場合に使用します。(「https://www.google.com/maps/place/...」や「https://maps.google.com/...」など)があり、基盤となる正規のプレイス ID を抽出する必要がある場合。
  • 1 つのバッチ リクエストで解決する URL を最大 20 個指定できます。

入力要件(重要):

  • urls(文字列の配列 - 必須): 解決する Google マップの URL のリスト。各 URL は、有効な単一の場所の Google マップ URL である必要があります。

Google マップに保存する:

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

エラー処理(重大):

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

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

入力スキーマ

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

ResolveMapsUrlsRequest

JSON 表現
{
  "urls": [
    string
  ]
}
フィールド
urls[]

string

必須。解決する Google マップの URL。各 URL は、有効な Google マップの URL(https://maps.app.goo.gl/...、https://www.google.com/maps/place/...、https://maps.google.com/... など)である必要があります。現在、1 つの場所を指す URL のみがサポートされています。URL は 20 個まで指定できます。

出力スキーマ

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

ResolveMapsUrlsResponse

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

object (Entity)

出力専用。Google マップの URL から解決されたエンティティのリスト。リクエストの urls インデックスと 1 対 1 でマッピングされることが保証されます。インデックス i の空のメッセージ(entity が設定されていない)は、その URL の解決に失敗したことを示します。解決に失敗した場合は、failed_requests フィールドでエラー ステータスを確認してください。

failedRequests

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

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

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

saveToMapsUrl

string

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

エンティティ

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 でエンコードされた文字列。

ツールのアノテーション

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

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

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

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