Google Analytics en Claude Code
Guía paso a paso para conectar el servidor MCP oficial de Google Analytics a Claude Code usando una service account: una sola credencial, sin login de navegador y reutilizable para Search Console. Cuando termines, le preguntas a Claude por datos de tus propiedades GA4 en lenguaje natural: sesiones, usuarios, informes a medida y datos al momento.
github.com/googleanalytics/google-analytics-mcpQué vas a montar
El servidor MCP de Google Analytics se ejecuta en local y hace de puente entre Claude Code y las APIs de GA4. Piezas necesarias:
- uv / uvx: lanza el paquete
analytics-mcpsin instalar nada de forma permanente. - Claude Code: el cliente MCP donde registras el servidor.
- Proyecto de Google Cloud: contenedor de las APIs habilitadas y de la service account.
- APIs habilitadas: Google Analytics Admin API y Google Analytics Data API.
- Service account con clave JSON: la identidad que accede a tus datos de GA4 en modo lectura.
Las APIs de GA Data y Admin que se usan aquí son de solo lectura y sin coste para este uso. El proyecto de Google Cloud es solo un contenedor administrativo.
¿Una service account o varias?
La misma service account (y su clave) puede dar acceso a GA4 y a Search Console a la vez. La regla práctica: separa por límite de confianza, no por herramienta.
- Una sola cuenta para tus propias propiedades de GA4 y GSC. Es lo más habitual y lo más cómodo: una clave, una rotación, un único sitio donde revocar. El riesgo es bajo porque el acceso es de solo lectura.
- Una cuenta por cliente si gestionas datos de terceros. Así aíslas cada cliente: si una clave se filtra, solo expone a ese cliente, y puedes revocar de forma independiente.
Como una misma cuenta cubre varias herramientas de Google, ponle un nombre que las englobe, no uno atado a un producto. Recomendado: mcp-google-data.
- Es neutro: vale para GA4, Search Console y futuras APIs de lectura sin quedar raro.
- El prefijo
mcp-deja claro para qué existe la cuenta. - Te ahorra crear otra cuenta cuando añadas la siguiente herramienta.
El email de una service account no se puede renombrar una vez creada. Elige el nombre antes de crearla. Si ya tienes una tipomcp-analytics, funciona igual; para las nuevas usamcp-google-data.
Requisitos previos
Necesitas uv (que trae uvx) y Claude Code. Comprueba lo que ya tienes:
uv --version
claude --version Si no tienes uv, instálalo desde docs.astral.sh/uv (una sola línea, sin permisos de administrador).
1. Proyecto y APIs en Google Cloud
Crea o selecciona un proyecto en la consola de Google Cloud y anota su PROJECT_ID (el ID, no el nombre: suele ser algo como mi-proyecto-1234567890). Habilita las dos APIs necesarias (Consola: APIs y servicios, Biblioteca, buscar y pulsar Habilitar):
- Google Analytics Admin API
- Google Analytics Data API
2. Crear la service account y su clave
En la consola: IAM y administración, Cuentas de servicio, Crear cuenta de servicio.
- Nombre:
mcp-google-data. - Roles: ninguno a nivel de proyecto (el acceso se concede luego dentro de GA4).
Abre la cuenta creada, pestaña Claves, Agregar clave, Crear clave nueva, tipo JSON, Crear. Se descarga un archivo. No lo abras ni lo edites.
Con una cuenta de Gmail normal, la service account es la vía recomendada: no abre navegador y sirve también para procesos automáticos. El método OAuth existe como alternativa para GA4 en solitario, pero no se cubre en esta guía.
3. Dar acceso a tu propiedad GA4
Copia el email de la cuenta (tiene la forma mcp-google-data@TU_PROJECT_ID.iam.gserviceaccount.com). En Google Analytics:
- Administrar (rueda dentada) y elige la propiedad.
- Entra en Gestión de acceso a la propiedad (Property Access Management).
- Botón +, Añadir usuarios, pega el email y desmarca "Notificar por correo" (la cuenta no recibe correos).
- Asigna el rol Lector (Viewer) y pulsa Añadir.
4. Guardar la clave de forma segura
La clave JSON es un secreto: trátala como una contraseña y guárdala fuera de cualquier repositorio Git. Colócala en una carpeta de tu usuario con permisos restringidos.
En Linux o macOS:
mkdir -p ~/.config/gcloud-mcp && chmod 700 ~/.config/gcloud-mcp
mv ~/Descargas/TU_CLAVE.json ~/.config/gcloud-mcp/sa-key.json
chmod 600 ~/.config/gcloud-mcp/sa-key.json En Windows, una ruta equivalente es %APPDATA%\gcloud-mcp\sa-key.json.
Apunta la ruta absoluta del archivo: la necesitas en el siguiente paso y las variables de entorno no expanden ~. 5. Registrar el servidor en Claude Code
Comprueba primero que uvx puede lanzar el paquete (la primera vez lo descarga, tarda un poco):
uvx analytics-mcp --help Añade el servidor con scope user (disponible en todos tus proyectos; quítalo para dejarlo solo en el proyecto actual). Usa la ruta absoluta de la clave:
claude mcp add analytics-mcp --scope user \
-e GOOGLE_APPLICATION_CREDENTIALS=/ruta/absoluta/sa-key.json \
-e GOOGLE_PROJECT_ID=TU_PROJECT_ID \
-- uvx analytics-mcp 6. Verificar
- Ejecuta
claude mcp list:analytics-mcpdebe aparecer como Connected. - Reinicia Claude Code (los servidores MCP se cargan al arrancar la sesión).
- Prueba en lenguaje natural: "lista mis propiedades GA4", "sesiones de los últimos 7 días", "usuarios activos ahora mismo".
La primera llamada puede tardar (levanta el entorno); las siguientes son rápidas.
Herramientas que expone el servidor
- Listar cuentas y propiedades (Admin API).
- Ejecutar informes a medida con métricas y dimensiones (Data API, runReport).
- Consultar la metadata de dimensiones y métricas disponibles.
- Datos al momento (realtime).
Añadir Search Console
La misma service account sirve para Google Search Console: solo tienes que habilitar su API y darle acceso en GSC, sin crear otra clave. Lo tienes paso a paso en la guía de Search Console en Claude Code vía MCP.
Seguridad
- No commitees la clave JSON. Vive fuera del repo, con permisos restringidos.
- El acceso es de solo lectura (rol Lector más scope
analytics.readonly): no puede modificar tu configuración de GA. - Para revocar el acceso: quita la cuenta en Gestión de acceso a la propiedad, o borra la clave en la consola de Google Cloud (Cuentas de servicio, Claves).
- Para rotar la clave: crea una nueva, reemplaza el archivo y borra la vieja. Si mantienes la misma ruta, no hace falta volver a registrar el servidor.