/ Directorio / Playground / Google Maps
● Oficial modelcontextprotocol 🔑 Requiere tu clave

Google Maps

por modelcontextprotocol · modelcontextprotocol/servers-archived

Geocodificación, búsqueda de lugares, direcciones, matriz de distancias — la potencia de Google Maps para itinerarios, funcionalidades de localizador de tiendas y análisis regionales.

El MCP de referencia de Google Maps (ahora en modelcontextprotocol/servers-archived). Envuelve las APIs clave de Maps: geocodificación, búsqueda y detalles de lugares, direcciones, matriz de distancias, elevación. Útil para cualquier tarea de agente que necesite geografía del mundo real. Nota: archivado significa sin mantenimiento activo — planifica forks de la comunidad a largo plazo.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

google-maps.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "google-maps",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "google-maps": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-google-maps"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add google-maps -- npx -y @modelcontextprotocol/server-google-maps

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: Google Maps

Planifica un itinerario de excursión de un día con tiempos de viaje realistas

👤 Viajeros, cualquiera que planee un día con múltiples paradas ⏱ ~10 min beginner

Cuándo usarlo: Tienes 5 lugares que deseas visitar en un día y necesitas un orden realista, con tiempos de viaje.

Requisitos previos
  • Clave API de Google Maps con APIs relevantes habilitadas — console.cloud.google.com → habilita Geocoding, Places, Directions APIs, luego crea la clave
Flujo
  1. Geocodifica todas las paradas
    Geocodifica estos 5 lugares a lat/lng: <list>. Verifica que cada dirección se vea correcta.✓ Copiado
    → 5 coordenadas con confianza
  2. Calcula la matriz de distancias
    Obtén tiempos de conducción entre cada par de paradas a las 10am en un día de semana. Muestra como matriz.✓ Copiado
    → Matriz de tiempo 5×5
  3. Ordena y agrega direcciones
    Sugiere el orden que minimiza el tiempo total de conducción. Luego dame direcciones paso a paso de parada a parada.✓ Copiado
    → Ruta optimizada con direcciones

Resultado: Un itinerario que realmente puedas ejecutar, no planificación que 'suena bien'.

Errores comunes
  • La matriz de distancias no cuenta el tiempo de estacionamiento / caminata a la puerta — Añade 10-15 min a cada tramo para estacionamiento; más para destinos del centro
  • El tráfico en tiempo real solo está disponible para ciertos modos/regiones — Usa departure_time para obtener estimaciones conscientes del tráfico; 'now' puede estar excluido según el plan
Combinar con: brave-search

Construye datos de localizador de tiendas para un producto regional

👤 Devs implementando una función de 'encontrar ubicación' ⏱ ~30 min intermediate

Cuándo usarlo: Estás construyendo una función de 'tienda más cercana' y necesitas sembrarla con coordenadas y detalles reales.

Flujo
  1. Geocodifica cada dirección de tienda
    Tengo un CSV de 50 direcciones de tienda en /data/stores.csv. Geocodifica cada una, devuelve un nuevo CSV con lat, lng, place_id añadidos, y la dirección normalizada de Google.✓ Copiado
    → CSV enriquecido; marca cualquier dirección que no se geocodificó limpiamente
  2. Extrae detalles completos para cada uno
    Para cada place_id, obtén horarios, teléfono, sitio web. Añade al CSV.✓ Copiado
    → Detalles por tienda, con indicadores de datos faltantes donde sea aplicable
  3. Valida muestra
    Elige 5 filas aleatorias y verifica que las coordenadas geocodificadas se vean visualmente correctas (p.ej. 'dirección de Estocolmo geocodificada a Suecia, no Wisconsin').✓ Copiado
    → Verificación de sanidad pasada; outliers marcados

Resultado: Un conjunto de datos de tienda limpio listo para potenciar una interfaz.

Errores comunes
  • La API de Geocoding tiene costo por llamada — 50 direcciones es unos pocos centavos pero 50k es dinero real — Cachea resultados agresivamente; solo re-geocodifica cuando las cadenas de dirección cambian
Combinar con: filesystem

Descubre cuáles de tus clientes viven a X minutos de una ubicación candidata

👤 Ops, inmuebles, analistas de crecimiento ⏱ ~25 min advanced

Cuándo usarlo: Estás evaluando una nueva ubicación de tienda/oficina y deseas saber cuántos clientes existentes serviría.

Flujo
  1. Geocodifica el candidato
    Geocodifica la dirección candidata: '1234 Market St, San Francisco'.✓ Copiado
    → Coordenada confirmada
  2. Matriz de distancias a ZIPs de clientes
    Desde el candidato, calcula el tiempo de conducción a cada uno de estos 100 centroides ZIP de clientes: <list>. Usa 9am entre semana.✓ Copiado
    → Tiempo de conducción por ZIP
  3. Agrega
    ¿Cuántos clientes hay dentro de 15 min, 30 min, 60 min? Traza un histograma (barras ascii OK).✓ Copiado
    → Conteos agrupados que informan la decisión

Resultado: Una respuesta fundamentada en datos a '¿deberíamos abrir aquí?'

Errores comunes
  • El centroide ZIP es un proxy pobre para direcciones reales de clientes — Si tienes direcciones reales, úsalas; los centroides sesgan análisis suburbanos
  • Límites de tamaño de lote en matriz de distancias — Google limita orígenes×destinos por llamada; divide en múltiples solicitudes, pero pagarás por elemento de cualquier forma
Combinar con: postgres · filesystem

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

google-maps + filesystem

Geocodifica en masa un CSV y escribe el archivo enriquecido de vuelta

Lee /data/customers.csv, geocodifica cada dirección, escribe /data/customers_geo.csv con columnas lat/lng/place_id añadidas.✓ Copiado
google-maps + postgres

Geocodifica filas de clientes durante la incorporación

Para cada fila en customers donde lat IS NULL, geocodifica la dirección y actualiza la fila. Detente después de 500 para controlar el costo.✓ Copiado
google-maps + brave-search

Brave encuentra lugares candidatos → Google Maps obtiene la geocodificación + direcciones

Brave-search 'mejor ramen Mission SF'. Para los 3 principales, obtén place_ids y direcciones a pie desde 16th St BART.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
maps_geocode address: str Dirección → coordenadas $5 / 1000 llamadas
maps_reverse_geocode lat: number, lng: number Coordenadas → dirección $5 / 1000 llamadas
maps_search_places query: str, location?, radius? Encuentra lugares por nombre/categoría cerca de un punto $17-32 / 1000 (búsqueda por texto) u menos para nearby
maps_place_details place_id: str Enriquece un lugar con detalles completos $17 / 1000 base + opcionales adicionales por campo
maps_distance_matrix origins[], destinations[], mode?, departure_time? Distancia/tiempo en masa entre muchos puntos $5 / 1000 elementos (origen×destino)
maps_directions origin, destination, mode?, waypoints? Paso a paso para una ruta $5 / 1000 llamadas
maps_elevation locations: [{lat, lng}] Perfil de elevación para una ruta o puntos $5 / 1000 llamadas

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Por API. Los límites de proyecto predeterminados pero aumentables.
Tokens por llamada
Pequeño; el costo es monetario no tokens
Monetario
Pago por llamada. Geocodificación $5/1k. Place Details $17/1k. Matriz de Distancias $5/1k elementos. Crédito gratis de $200/mes históricamente — verifica la política actual de Google.
Consejo
Cachea direcciones geocodificadas indefinidamente (no cambian). La matriz de distancias es la forma fácil de gastar $50 en un prompt — siempre calcula orígenes × destinos antes de llamar.

Seguridad

Permisos, secretos, alcance

Almacenamiento de credenciales: Clave API en variable env GOOGLE_MAPS_API_KEY. Restringe la clave por API y (si es posible) por IP/referrer en consola de Google Cloud.
Salida de datos: Todas las llamadas a maps.googleapis.com
No conceder nunca: claves sin restricciones en todas partes — pueden ser extraídas de artefactos de compilación y abusadas

Resolución de problemas

Errores comunes y soluciones

REQUEST_DENIED

API no habilitada para tu clave, o facturación no configurada. Habilita cada API (Geocoding, Places, Directions) en consola de Cloud y configura la facturación.

OVER_QUERY_LIMIT

Alcanzaste el límite por segundo o por día. Añade limitación; aumenta la cuota en consola de Cloud si es necesario.

ZERO_RESULTS en geocodificación

Dirección ambigua o no existe tal cual. Intenta añadir país/estado, o usa Place Autocomplete en su lugar.

INVALID_REQUEST en matriz de distancias

Verifica que orígenes×destinos no excedan el límite de elementos por llamada (varía según plan). Divide la solicitud.

Alternativas

Google Maps vs otros

AlternativaCuándo usarlaContrapartida
OpenStreetMap (Nominatim) a través de fetchGratis, sin clave API, dispuesto a auto-limitar y aceptar menor calidad de datosDatos POI más escasos; la política de uso de Nominatim restringe el uso intenso
Mapbox a través de MCP personalizadoDeseas una alternativa administrada con a menudo mejor precio para alto volumenSin MCP de primera parte aún
APIs de HERE / TomTom a través de MCP personalizadoEnrutamiento/POI en regiones donde Google es débilSin MCP de primera parte

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills