El servidor del Protocolo de contexto del modelo (MCP) de Google Analytics te permite conectar tus datos de Google Analytics a modelos de lenguaje grandes (LLM) y agentes de IA, como Gemini. Puedes usar el servidor de MCP para consultar informes en lenguaje natural, inspeccionar parámetros de configuración de propiedades y compilar agentes de Analytics personalizados.
Configura el servidor de MCP Ver en GitHub Mira el instructivo de configuración
Requisitos previos
Antes de configurar el servidor de MCP de Google Analytics, completa los siguientes requisitos:
- Instala Python y un ejecutor de paquetes:
- Instala Python 3.10 o una versión posterior.
- Instala
pipxouv(uvx) para ejecutar el servidor de MCP en un entorno aislado de Python.
Habilita las APIs de Google Analytics en :
- Crea o selecciona un proyecto de .
Habilita la API de Google Analytics Admin (
analyticsadmin.googleapis.com) y la API de Google Analytics Data (analyticsdata.googleapis.com) en tu proyecto:gcloud services enable analyticsadmin.googleapis.com \ analyticsdata.googleapis.com \ --project=YOUR_PROJECT_ID
Otorga acceso a la propiedad de Google Analytics:
- En la IU de Google Analytics, otorga a tu cuenta de usuario o de servicio al menos el rol de Visualizador (
roles/analytics.viewer) en la propiedad de Google Analytics de destino. Para obtener instrucciones, consulta Administra el acceso y la restricción de datos.
- En la IU de Google Analytics, otorga a tu cuenta de usuario o de servicio al menos el rol de Visualizador (
Configura la autenticación
El servidor de MCP de Google Analytics se autentica con las credenciales predeterminadas de la aplicación (ADC) con el permiso de OAuth 2.0 de solo lectura de Google Analytics:
https://www.googleapis.com/auth/analytics.readonly
Puedes configurar ADC con tu Cuenta de Google de usuario o una cuenta de servicio.
Opción 1: Autentica con credenciales de usuario
- Instala e inicializa gcloud CLI.
Ejecuta
gcloud auth application-default logincon los permisos requeridos:gcloud auth application-default login \ --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform"Si usas un archivo de configuración de cliente web o de escritorio de OAuth 2.0 descargado (consulta Administra clientes de OAuth), pasa
--client-id-file:gcloud auth application-default login \ --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform" \ --client-id-file=YOUR_CLIENT_JSON_FILECuando finalice el comando, copia la ruta de acceso de las credenciales que se muestra en la consola (
Credentials saved to file: [PATH_TO_CREDENTIALS_JSON]). Usarás esta ruta de acceso enGOOGLE_APPLICATION_CREDENTIALScuando configures tu cliente de MCP.
Opción 2: Autentica con una cuenta de servicio
Para autenticarte con una cuenta de servicio que tenga acceso de lectura a tu propiedad de Google Analytics:
- Archivo de claves JSON de la cuenta de servicio: Configura
GOOGLE_APPLICATION_CREDENTIALSen la configuración del cliente de MCP en la ruta de acceso absoluta del archivo JSON de tu cuenta de servicio. Identidad temporal como cuenta de servicio: Genera credenciales de ADC con la identidad temporal como cuenta de servicio con gcloud CLI:
gcloud auth application-default login \ --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \ --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform"
Configura tu cliente de MCP
El servidor se publica en PyPI como analytics-mcp y
expone las secuencias de comandos de la consola analytics-mcp y google-analytics-mcp.
En los siguientes parámetros de configuración, reemplaza lo siguiente:
PATH_TO_CREDENTIALS_JSONpor la ruta de acceso absoluta a tu archivo JSON de ADC o de cuenta de servicio.YOUR_PROJECT_IDpor el ID del proyecto de en el que habilitaste las APIs de Google Analytics.
CLI de Antigravity y el IDE de Antigravity
- Instala la CLI de Antigravity o el IDE de Antigravity.
Agrega el servidor
analytics-mcpa~/.gemini/config/mcp_config.json(o.agents/mcp_config.jsonen tu espacio de trabajo):{ "mcpServers": { "analytics-mcp": { "command": "pipx", "args": ["run", "analytics-mcp"], "env": { "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON", "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID" } } } }Verifica que
analytics-mcpesté conectado:- CLI de Antigravity: Ejecuta
agyy, luego, ingresa/mcppara ver los servidores de MCP configurados. - IDE de Antigravity: Abre Configuración > Personalizaciones > Servidores de MCP instalados y haz clic en Actualizar.
- CLI de Antigravity: Ejecuta
Claude para computadoras de escritorio y Claude Code
Para Claude Desktop, agrega el servidor a tu archivo claude_desktop_config.json
(~/Library/Application Support/Claude/claude_desktop_config.json en macOS o
%APPDATA%\Claude\claude_desktop_config.json en Windows):
{
"mcpServers": {
"analytics-mcp": {
"command": "pipx",
"args": ["run", "analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
}
}
}
}
Para Claude Code, registra el servidor con la herramienta de línea de comandos:
claude mcp add analytics-mcp \
--scope user \
-e GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_CREDENTIALS_JSON" \
-e GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID" \
-- pipx run analytics-mcp
Cursor
Agrega el servidor a .cursor/mcp.json en el directorio de tu proyecto (o
~/.cursor/mcp.json para la configuración global). Puedes invocar
google-analytics-mcp con uvx o pipx:
{
"mcpServers": {
"google-analytics-mcp": {
"command": "uvx",
"args": ["--from", "analytics-mcp", "google-analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
}
}
}
}
Para ejecutar la versión de desarrollo más reciente directamente desde GitHub con uvx, actualiza
"args":
"args": [
"--from",
"git+https://github.com/googleanalytics/google-analytics-mcp.git",
"google-analytics-mcp"
]
Como alternativa, para usar pipx, cambia "command" por "pipx" y establece "args"
en lo siguiente:
"command": "pipx",
"args": [
"run",
"--spec",
"git+https://github.com/googleanalytics/google-analytics-mcp.git",
"google-analytics-mcp"
]
Herramientas de MCP disponibles
El servidor de MCP de Google Analytics usa la API de Admin y la API de datos v1 para exponer herramientas de solo lectura a tu cliente de MCP:
- Descubrimiento de cuentas y propiedades (API de Admin):
get_account_summaries: Muestra las cuentas y propiedades de Google Analytics a las que puede acceder el usuario autenticado (accountSummaries.list).get_property_details: Devuelve los detalles de configuración de una propiedad de Google Analytics específica (properties.get).list_google_ads_links: Muestra vínculos a cuentas de Google Ads para una propiedad (properties.googleAdsLinks.list).list_property_annotations: Enumera las anotaciones configuradas para una propiedad (properties.reportingDataAnnotations.list).
- Informes y de inspección de esquemas (API de datos v1):
get_custom_dimensions_and_metrics: Recupera las dimensiones y métricas personalizadas definidas para una propiedad (getMetadata).run_report: Ejecuta un informe estándar de Google Analytics (runReport).run_realtime_report: Ejecuta un informe en tiempo real de Google Analytics (runRealtimeReport).run_funnel_report: Ejecuta un informe de exploración de embudo de Google Analytics (runFunnelReport).run_conversions_report: Ejecuta un informe de rendimiento de las conversiones (runConversionsReport).
Ejemplos de instrucciones
Una vez que te conectes, intenta hacerle preguntas a tu asistente de IA, como las siguientes:
- ¿Cuántos usuarios tuve ayer?
- ¿Cuáles fueron mis productos más vendidos ayer?
- Tengo un presupuesto de marketing de USD 5,000 por mes y necesito generar más ingresos. Ayúdame a crear un plan de marketing basado en datos.
- ¿Qué dimensiones y métricas personalizadas están configuradas en mi propiedad?
- ¿Cuáles son los eventos más populares en mi propiedad de Google Analytics durante los últimos 90 días?
Solución de problemas
Usa la siguiente lista de tareas para resolver errores comunes de configuración y tiempo de ejecución:
403 PERMISSION_DENIED(la API no está habilitada o los permisos de la propiedad son insuficientes):- Confirma que la API de Google Analytics Admin
(
analyticsadmin.googleapis.com) y la API de Google Analytics Data (analyticsdata.googleapis.com) estén habilitadas en el proyecto de especificado porGOOGLE_CLOUD_PROJECT. - Verifica que el usuario o la cuenta de servicio que se autentica tenga, al menos, el rol de Visualizador (
roles/analytics.viewer) en la propiedad de Google Analytics de destino en la IU de Google Analytics. - Si el estado de error indica
Request had insufficient authentication scopes, vuelve a ejecutargcloud auth application-default logincon los permisoshttps://www.googleapis.com/auth/analytics.readonlyyhttps://www.googleapis.com/auth/cloud-platform.
- Confirma que la API de Google Analytics Admin
(
Falta el proyecto de cuota (
GOOGLE_CLOUD_PROJECT) o403 ACCESS_NOT_CONFIGURED:Las solicitudes autenticadas con credenciales de ADC de usuario requieren un proyecto de cuota de con las APIs de Google Analytics habilitadas. Establece
"GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"en la configuración deenvde tu servidor de MCP o establece el proyecto de cuota en tu archivo de ADC:gcloud auth application-default set-quota-project YOUR_PROJECT_ID
No se encontró el archivo de credenciales o
401 UNAUTHENTICATED:- Usa una ruta de acceso absoluta para
GOOGLE_APPLICATION_CREDENTIALS(por ejemplo,/Users/username/.config/gcloud/application_default_credentials.json). Evita las variables~o$HOME, ya que muchos hosts de MCP no expanden las variables de shell dentro de los archivos de configuración JSON. - Vuelve a ejecutar
gcloud auth application-default loginsi tus credenciales de usuario vencieron.
- Usa una ruta de acceso absoluta para
No se puede iniciar el servidor (errores de versión de
spawn pipx ENOENT,uvx: command not foundo Python):- Confirma que Python 3.10 o una versión posterior esté instalado (
python3 --version). - Las aplicaciones de GUI de escritorio (como Claude Desktop y Cursor) no suelen
heredar tu
PATHde shell interactiva. Reemplaza"pipx"o"uvx"en"command"por la ruta de acceso binaria absoluta que muestrawhich pipxowhich uvx(por ejemplo,/opt/homebrew/bin/pipxo/Users/username/.local/bin/pipx).
- Confirma que Python 3.10 o una versión posterior esté instalado (