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

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

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

この文字列には / 文字を 1 つ以上含める必要があります。最後の / の後のコンテンツは、先頭のドットのない正規形式の型の完全修飾名である必要があります。クライアントが連絡を試みないように、これらの 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 の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。

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