Herramienta: compute_routes
Calcula una ruta de viaje entre un origen y un destino especificados. Modos de viaje admitidos: DRIVE (predeterminado), WALK.
Requisitos de entrada (CRÍTICOS): Requiere origen y destino. Cada uno debe proporcionarse con uno de los siguientes métodos, anidado dentro de su campo respectivo:
address: (cadena, p.ej., "Torre Eiffel, París"). Nota: Cuanto más detallada o específica sea la dirección de entrada, mejores serán los resultados.
lat_lng: (objeto, {"latitude": número, "longitude": número})
place_id: (cadena, p.ej., "ChIJOwE_Id1w5EAR4Q27FkL6T_0") Nota: Este ID se puede obtener de la herramienta search_places. Se permite cualquier combinación de tipos de entrada (p.ej., origen por dirección, destino por lat_lng). Si falta el origen o el destino, DEBES pedirle al usuario que te aclare la información antes de intentar llamar a la herramienta.
Ejemplo de llamada a herramienta: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}
- El resultado fundamentado debe atribuirse a la fuente con la información del campo
attributioncuando esté disponible.
En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP compute_routes.
| 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": "compute_routes", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Es el objeto ComputeRoutesRequest.
ComputeRoutesRequest
| Representación JSON |
|---|
{ "origin": { object ( |
| Campos | |
|---|---|
origin |
Obligatorio. Punto de referencia de origen. |
destination |
Obligatorio. Punto de referencia de destino. |
travelMode |
Opcional. Especifica el medio de transporte. |
Punto de referencia
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión location_type. Son las diferentes formas de representar una ubicación. location_type puede ser solo uno de los parámetros siguientes: |
|
latLng |
Es un punto especificado con coordenadas geográficas. |
placeId |
Es el ID de lugar asociado con el punto de ruta. |
address |
Dirección legible o Plus Code. Visita https://plus.codes para obtener más información. |
LatLng
| Representación JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campos | |
|---|---|
latitude |
La latitud expresada en grados. Debe pertenecer al rango [-90.0, +90.0]. |
longitude |
La longitud expresada en grados. Debe pertenecer al rango [-180.0, +180.0]. |
RouteTravelMode
Es un conjunto de valores que se usan para especificar el medio de transporte.
| Enums | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
No se especificó ningún medio de transporte. La configuración predeterminada es DRIVE. |
DRIVE |
Viajar en automóvil de pasajeros. |
WALK |
Viajar a pie NOTA: Las rutas de WALK están en versión beta y, a veces, es posible que no incluyan aceras o rutas peatonales claras. Debes mostrar esta advertencia al usuario para todos los recorridos a pie que se muestren en tu app. |
Esquema de salida
Es la respuesta de ComputeRoutes.
ComputeRoutesResponse
| Representación JSON |
|---|
{
"routes": [
{
object ( |
| Campos | |
|---|---|
routes[] |
Contiene rutas entre el origen y el destino solicitados. Actualmente, solo se muestra una ruta. |
Enruta
| Representación JSON |
|---|
{
"distanceMeters": integer,
"duration": string,
"attribution": {
object ( |
| Campos | |
|---|---|
distanceMeters |
Es la distancia de viaje de la ruta, en metros. |
duration |
Es el tiempo necesario para recorrer la ruta. Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
attribution |
Es la atribución obligatoria que se debe mostrar con la ruta. |
Duración
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Son los segundos firmados del período. Debe ser un valor entre -315,576,000,000 y +315,576,000,000, inclusive. Nota: Estos límites se calculan de la siguiente manera: 60 s/min * 60 min/h * 24 h/día * 365.25 días/año * 10,000 años |
nanos |
Son fracciones de segundo firmadas con una resolución de nanosegundos del período. Las duraciones inferiores a un segundo se representan con un campo |
Atribución
| Representación JSON |
|---|
{ "title": string, "url": string } |
| Campos | |
|---|---|
title |
Es el título que se mostrará para la atribución. |
url |
Es la URL a la que se vinculará la atribución. |
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 le puede enviar un mensaje de confirmación a un usuario.
Junto con la cadena de título, se definen las siguientes sugerencias booleanas:
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 varias veces 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.
Pista destructiva: ❌ | Pista idempotente: ❌ | Pista de solo lectura: ✅ | Pista de mundo abierto: ❌