MCP Tools Reference: mapstools.googleapis.com

工具:resolve_maps_urls

將 Google 地圖網址清單解析為標準 Google 地圖地點 ID。

呼叫這項工具的時機 (重要):

  • 當使用者提供一或多個 Google 地圖分享連結或網址 (例如「https://maps.app.goo.gl/...」或 「https://www.google.com/maps/place/...」或「https://maps.google.com/...」,您需要擷取基礎的標準地點 ID。
  • 單一批次要求最多可指定 20 個要解決的網址。

輸入規定 (重要):

  • urls (字串陣列 - 必填):要解析的 Google 地圖網址清單。每個網址都必須是有效的單一地點 Google 地圖網址。

錯誤處理 (嚴重):

  • 這項工具可批次處理檔案,要求可能會傳回「混合結果」(例如部分網址成功解析,其他網址則失敗)。
  • 輸出清單 entities 保證會與輸入 urls 索引 1:1 對應。如果網址解析失敗,entities 清單中對應的索引會顯示空白的 Entity 訊息 (未設定任何欄位)。
  • 必須檢查回應中的 failed_requests 對應欄位,找出索引失敗的特定網址。failed_requests 的鍵代表要求中失敗網址的從零開始計算的索引。請勿因為部分失敗而假設整個批次呼叫失敗。

以下範例說明如何使用 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 tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

輸入內容的結構定義

ResolveMapsUrls 的要求訊息。

ResolveMapsUrlsRequest

JSON 表示法
{
  "urls": [
    string
  ]
}
欄位
urls[]

string

必填。要解析的 Google 地圖網址。每個網址都必須是有效的 Google 地圖網址,例如 https://maps.app.goo.gl/...https://www.google.com/maps/place/...https://maps.google.com/...。目前僅支援指向單一地點的網址。最多可以指定 20 個網址。

輸出內容的結構定義

ResolveMapsUrls 的回應訊息。

ResolveMapsUrlsResponse

JSON 表示法
{
  "entities": [
    {
      object (Entity)
    }
  ],
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
欄位
entities[]

object (Entity)

僅供輸出。Google 地圖網址中已解析的實體清單。保證會與要求 urls 索引 1:1 對應。索引 i 的空白訊息 (未設定 entity) 表示該網址的解析失敗。如果解析失敗,請檢查 failed_requests 欄位的錯誤狀態。

failedRequests

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

僅供輸出。地圖會傳達 Google 地圖網址的部分失敗情形。索引是 urls 欄位中失敗要求的索引。這個值是錯誤狀態,詳細說明解析失敗的原因。

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

實體

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 使用的一組常用訊息類型。

包含任意類型欄位的物件。額外的 "@type" 欄位則包含能辨識類型的 URI。範例:{ "id": 1234, "@type": "types.example.com/standard/id" }

不限

JSON 表示法
{
  "typeUrl": string,
  "value": string
}
欄位
typeUrl

string

使用 URI 參照識別序列化 Protobuf 訊息的類型,該參照包含以斜線結尾的前置字串和完整合格的類型名稱。

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

這個字串至少須包含一個 / 字元,且最後一個 / 後的內容必須是正規形式的類型完整名稱,且開頭不得有半形句號。請勿在這些 URI 參照中寫入配置,以免用戶端嘗試與其聯絡。

前置字元是任意的,Protobuf 實作項目應會直接去除最後一個 / 之前的所有內容,以識別類型。type.googleapis.com/ 是常見的預設前置字串,部分舊版導入作業需要使用這個前置字串。這個前置字串不會指出型別的來源,且包含該前置字串的 URI 不會回應任何要求。

所有型別網址字串都必須是合法的 URI 參照,且參照內容只能包含英數字元、百分號編碼逸出字元,以及下列集合中的字元 (不含外側的反引號):/-.~_!$&()*+,;=。雖然我們允許百分號編碼,但實作時不應取消逸出,以免與現有剖析器混淆。舉例來說,type.googleapis.com%2FFoo 應遭拒絕。

Any 的原始設計中,我們曾考慮在這些型別網址啟動型別解析服務,但 Protobuf 從未實作這項服務,且認為聯絡這些網址有問題,可能會造成安全性問題。請勿嘗試聯絡類型網址。

value

string (bytes format)

保存 type_url 所描述類型的 Protobuf 序列化。

Base64 編碼字串。

工具註解

破壞性提示:❌ | 等冪提示:❌ | 唯讀提示:✅ | 開放世界提示:❌