工具: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 地图网址。
保存到 Google 地图:
- 响应包含一个
save_to_maps_url字段:一个 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 MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
针对 ResolveMapsUrls 的请求消息。
ResolveMapsUrlsRequest
| JSON 表示法 |
|---|
{ "urls": [ string ] } |
| 字段 | |
|---|---|
urls[] |
必需。要解析的 Google 地图网址。每个网址都应是有效的 Google 地图网址,例如 https://maps.app.goo.gl/…、https://www.google.com/maps/place/… 或 https://maps.google.com/…。目前,仅支持指向单个地点的网址。您最多可以指定 20 个网址。 |
输出架构
针对 ResolveMapsUrls 的响应消息。
ResolveMapsUrlsResponse
| JSON 表示法 |
|---|
{ "entities": [ { object ( |
| 字段 | |
|---|---|
entities[] |
仅限输出。Google 地图网址中已解析实体的列表。保证与请求 |
failedRequests |
仅限输出。用于传达 Google 地图网址的部分失败情况的映射。键是 包含一系列 |
saveToMapsUrl |
仅限输出。用于保存 Google 地图中所有已成功解决的实体的链接。 |
实体
| JSON 表示法 |
|---|
{ // Union field |
| 字段 | |
|---|---|
联合字段 entity。已解析的实体类型。entity 只能是下列其中一项: |
|
place |
已解析地点的资源名称。 |
FailedRequestsEntry
| JSON 表示法 |
|---|
{
"key": integer,
"value": {
object ( |
| 字段 | |
|---|---|
key |
|
value |
|
状态
| JSON 表示法 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 字段 | |
|---|---|
code |
状态代码,应为 |
message |
面向开发者的错误消息(应采用英语)。任何向用户显示的错误消息都应进行本地化并通过 |
details[] |
包含错误详细信息的消息列表。有一组通用的消息类型可供 API 使用。 可以包含任意类型字段的对象。附加字段 |
不限
| JSON 表示法 |
|---|
{ "typeUrl": string, "value": string } |
| 字段 | |
|---|---|
typeUrl |
通过 URI 引用(由以斜杠结尾的前缀和完全限定的类型名称组成)来标识序列化 Protobuf 消息的类型。 示例:type.googleapis.com/google.protobuf.StringValue 此字符串必须包含至少一个 前缀是任意的,Protobuf 实现应仅剥离最后一个 所有类型网址字符串都必须是合法的 URI 引用,并且(对于文本格式)引用内容必须仅包含字母数字字符、百分号编码的转义字符以及以下集合中的字符(不包括外侧的反引号): 在 |
value |
包含由 type_url 描述的类型的 Protobuf 序列化。 使用 base64 编码的字符串。 |
工具注释
工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。
除了标题字符串之外,还定义了以下布尔值提示:
readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界,而内存工具不是开放世界。
破坏性提示:❌ | 等幂性提示:❌ | 只读提示:✅ | 开放世界提示:❌