Herramienta: resolve_maps_urls
Resuelve una lista de URLs de Google Maps en IDs de lugar canónicos de Google Maps.
Cuándo llamar a esta herramienta (CRÍTICO):
- Usa esta herramienta cuando el usuario proporcione una o más URLs o vínculos para compartir de Google Maps (p.ej., "https://maps.app.goo.gl/...", 'https://www.google.com/maps/place/...' o 'https://maps.google.com/...') y necesitas extraer los IDs de lugar canónicos subyacentes.
- Puedes especificar hasta 20 URLs para resolver en una sola solicitud por lotes.
Requisitos de entrada (CRUCIALES):
urls(array de cadenas, OBLIGATORIO): Es la lista de URLs de Google Maps que se deben resolver. Cada URL debe ser una URL válida de Google Maps que dirija a un solo lugar.
Cómo guardar en Google Maps:
- La respuesta incluye un campo
save_to_maps_url, que es un solo vínculo de Google Maps que contiene todos los lugares resueltos correctamente. - Cuando el usuario quiera guardar, compartir o abrir los lugares resueltos como una lista en Google Maps (p.ej., recopilar lugares compartidos en una conversación), preséntale este vínculo. NO construyas este vínculo por tu cuenta.
Manejo de errores (CRÍTICO):
- Esta es una herramienta de procesamiento por lotes. Una solicitud puede devolver "resultados mixtos" (p.ej., algunas URLs se resuelven correctamente, mientras que otras fallan).
- Se garantiza que la lista de salida de
entitiesse asigne 1:1 con los índices deurlsde entrada. Si falla la resolución de la URL, se generará un mensajeEntityvacío (no se establecen campos) en el índice correspondiente de la listaentities. - DEBES verificar el campo de mapa
failed_requestsen la respuesta para identificar qué índice de URL específico falló. La clave defailed_requestsrepresenta el índice basado en 0 de la URL con errores en la solicitud. No asumas que toda la llamada por lotes falló debido a un error parcial.
En la siguiente muestra de código, se indica cómo usar curl para llamar a la herramienta de MCP resolve_maps_urls.
| Solicitud de 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 }' |
Esquema de entrada
Mensaje de solicitud para ResolveMapsUrls.
ResolveMapsUrlsRequest
| Representación JSON |
|---|
{ "urls": [ string ] } |
| Campos | |
|---|---|
urls[] |
Obligatorio. Son las URLs de Google Maps que se resolverán. Cada URL debe ser una URL válida de Google Maps, por ejemplo, https://maps.app.goo.gl/..., https://www.google.com/maps/place/... o https://maps.google.com/.... Actualmente, solo se admiten las URLs que dirigen a un solo lugar. Puedes especificar hasta 20 URLs. |
Esquema de salida
Es el mensaje de respuesta para ResolveMapsUrls.
ResolveMapsUrlsResponse
| Representación JSON |
|---|
{ "entities": [ { object ( |
| Campos | |
|---|---|
entities[] |
Solo salida. Es la lista de entidades resueltas de las URLs de Google Maps. Se garantiza que se asignarán en una relación de 1:1 con los índices |
failedRequests |
Solo salida. Es un mapa que comunica las fallas parciales de las URLs de Google Maps. La clave es el índice de la solicitud con errores en el campo Un objeto que contiene una lista de pares |
saveToMapsUrl |
Solo salida. Un vínculo para guardar todas las entidades resueltas correctamente en Google Maps |
Entidad
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión entity. Es el tipo de entidad resuelto. entity puede ser solo uno de los parámetros siguientes: |
|
place |
Es el nombre del recurso del lugar resuelto. |
FailedRequestsEntry
| Representación JSON |
|---|
{
"key": integer,
"value": {
object ( |
| Campos | |
|---|---|
key |
|
value |
|
Estado
| Representación JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Campos | |
|---|---|
code |
El código de estado, que debe ser un valor enum de |
message |
Un mensaje de error dirigido al desarrollador, que debe estar en inglés. Cualquier mensaje de error dirigido al usuario debe localizarse y enviarse al campo |
details[] |
Una lista de mensajes que contienen los detalles del error. Hay un conjunto común de tipos de mensajes para que usen las API. Un objeto que contiene campos de un tipo arbitrario. Un campo adicional |
Cualquiera
| Representación JSON |
|---|
{ "typeUrl": string, "value": string } |
| Campos | |
|---|---|
typeUrl |
Identifica el tipo de mensaje de Protobuf serializado con una referencia de URI que consta de un prefijo que termina en una barra diagonal y el nombre de tipo completamente calificado. Ejemplo: type.googleapis.com/google.protobuf.StringValue Esta cadena debe contener al menos un carácter El prefijo es arbitrario y se espera que las implementaciones de Protobuf simplemente quiten todo hasta el último Todas las cadenas de URL de tipo deben ser referencias de URI legales con la restricción adicional (para el formato de texto) de que el contenido de la referencia debe constar solo de caracteres alfanuméricos, escapes codificados con porcentaje y caracteres del siguiente conjunto (sin incluir las comillas simples exteriores): En el diseño original de |
value |
Contiene una serialización de Protobuf del tipo que se describe en type_url. String codificada en base64. |
Anotaciones de herramientas
Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se puede enviar un mensaje de confirmación a un usuario.
Junto con la cadena de título, las siguientes sugerencias booleanas se definen de la siguiente manera:
readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.idempotentHint: Si es verdadero, llamar a la herramienta de forma repetida con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.
Sugerencia destructiva: ❌ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌