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://www.google.com/maps/place/...”或“https://maps.google.com/...”)并需要提取底层规范地点 ID。
  • 您可以在单个批量请求中指定最多 20 个要解析的网址。

输入要求(关键)

  • urls(字符串数组 - 必需):要解析的 Google 地图网址列表。每个网址都必须是有效的单地点 Google 地图网址。

错误处理(严重)

  • 这是一个批处理工具。请求可能会返回“混合结果”(例如,某些网址成功解析,而其他网址失败)。
  • entities 的输出列表保证与输入 urls 索引一一对应。如果网址解析失败,则会在 entities 列表中相应索引处生成一个空的 Entity 消息(未设置任何字段)。
  • 必须检查响应中的 failed_requests 映射字段,以确定哪个特定网址索引失败。failed_requests 的键表示请求中失败网址的从 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 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 指数一一对应。索引 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 编码的字符串。

工具注释

破坏性提示:❌ | 等幂性提示:❌ | 只读提示:✅ | 开放世界提示:❌