Saltar al contenido
EL MANUAL / v0.4.0

Configuración de Google Cloud ​

Este ejecutable autentica las llamadas salientes a Google con una clave API o credenciales OAuth 2.0. MCP_HTTP_TOKEN autentica de forma independiente a los clientes del servidor MCP HTTP; elegir Google OAuth no lo sustituye.

Habilitar servicios y facturación ​

En la consola de Google Cloud, seleccione o cree un proyecto y vincule una cuenta de facturación activa en Billing. Habilite las APIs necesarias en APIs & Services → Library. Habilitar una API y permitirla en las restricciones de una clave API son pasos distintos. Las llamadas pueden generar cargos.

La tabla siguiente describe los endpoints utilizados por esta versión del proyecto:

API de GoogleServicio que habilitarAutenticación usada aquí
Places API (New)places.googleapis.comClave API u OAuth
Routes APIroutes.googleapis.comClave API u OAuth
Weather APIweather.googleapis.comClave API u OAuth
Air Quality APIairquality.googleapis.comClave API u OAuth
Address Validation APIaddressvalidation.googleapis.comClave API u OAuth
Places Aggregate APIareainsights.googleapis.comClave API u OAuth
Pollen APIpollen.googleapis.comClave API
Roads APIroads.googleapis.comClave API
Geocoding API v3geocoding-backend.googleapis.comClave API
Elevation APIelevation-backend.googleapis.comClave API
Time Zone APItimezone-backend.googleapis.comClave API
Maps Static APIstatic-maps-backend.googleapis.comClave API

Para habilitar los doce servicios con una sesión administrativa de gcloud:

sh
export PROJECT_ID='your-project-id'
gcloud services enable --project="$PROJECT_ID" \
  places.googleapis.com routes.googleapis.com \
  weather.googleapis.com airquality.googleapis.com \
  geocoding-backend.googleapis.com elevation-backend.googleapis.com \
  timezone-backend.googleapis.com static-maps-backend.googleapis.com \
  addressvalidation.googleapis.com areainsights.googleapis.com \
  pollen.googleapis.com roads.googleapis.com

Las herramientas directions y distance-matrix de la CLI usan Routes API; las APIs antiguas Directions y Distance Matrix no son necesarias. Este proyecto sigue usando Geocoding v3; la compatibilidad OAuth de Geocoding v4 de Google no cambia la autenticación de estas llamadas v3. Las herramientas compuestas pueden llamar a varias APIs. La resolución de lugares por nombre o sus alternativas puede necesitar Geocoding aunque la operación principal use Places o Routes. Use coordenadas para evitar esa dependencia, o conserve una clave restringida para los endpoints que solo admiten claves.

Crear una clave API restringida ​

  1. Abra Google Maps Platform → Keys & Credentials en el proyecto seleccionado y elija Create credentials → API key.
  2. Seleccione solo las APIs de la tabla que vaya a usar esta instancia. Para una clave existente, edite las restricciones API y guárdelas.
  3. Configure la restricción de aplicación como IP addresses para esta aplicación de servidor. Permita las direcciones IP públicas de salida que verá Google. Las IP privadas o de pods Kubernetes normalmente no son la dirección pública de origen; una Cloud NAT fija u otra dirección de salida hace predecible esta restricción.
  4. Guarde la clave en un .env ignorado, mediante inyección de entorno o en un Secret de Kubernetes. Consulte las recomendaciones de Google sobre restricciones de claves.

Ejemplo de .env:

dotenv
GOOGLE_MAPS_AUTH_MODE=api-key
GOOGLE_MAPS_API_KEY=your-restricted-api-key

api-key es el modo predeterminado. Proporcionar solo una ruta de cuenta de servicio no cambia el modo de autenticación. El descubrimiento no contacta con Google; use una llamada real para verificar la facturación, la activación de APIs y las restricciones:

sh
mcp-gmap-rs geocode --address 'Paris, France'

Pasos siguientes ​

Para JSON de cuenta de servicio, ADC, suplantación local e identidad de GKE, siga Autenticación. Después, elija CLI o MCP. La referencia de herramientas indica los requisitos de credenciales de cada herramienta.

Servicios adicionales y límites ​

Solar y Map Tiles también admiten OAuth. Datasets y Route Optimization requieren OAuth y permisos IAM por operación. Street View Publish exige un archivo authorized_user explícito y consentimiento para el ámbito streetviewpublish.

ServicioAPIAutenticación
Geolocation APIgeolocation.googleapis.comClave API
Solar APIsolar.googleapis.comClave API / OAuth
Aerial View APIaerialview.googleapis.comClave API
Map Tiles APItile.googleapis.comClave API / OAuth
Street View Static APIstreet-view-image-backend.googleapis.comClave API
Maps Platform Datasets APImapsplatformdatasets.googleapis.comOAuth / IAM
Route Optimization APIrouteoptimization.googleapis.comOAuth / IAM
Street View Publish APIstreetviewpublish.googleapis.comOAuth de usuario con consentimiento; se rechazan cuentas de servicio

Speed Limits requiere acceso restringido de Asset Tracking. Aerial View solo cubre direcciones de EE. UU. compatibles y prohíbe descargar o almacenar vídeos en caché. Map Tiles es para visualización: se prohíben el análisis automático y la extracción. Weather minute/map son experimentales, con caché máxima de una hora y restricciones adicionales. La referencia de cada herramienta detalla condiciones, atribución y límites.

Google: Speed Limits, Map Tiles, Aerial View, Street View Publish.