Google Analytics

Accede a los datos de Google Analytics 4 (GA4) usando el Model Context Protocol.

Documentación

MseeP.ai Security Assessment Badge

Verified on MseeP

Servidor MCP de Google Analytics

smithery badge

Una implementación de servidor MCP para acceder a los datos de Google Analytics 4 (GA4), construida con el SDK de TypeScript del Protocolo de Contexto de Modelo.

Características

  • Obtener métricas de visitas a páginas con dimensiones personalizables
  • Realizar seguimiento de usuarios activos y nuevos a lo largo del tiempo
  • Analizar eventos específicos y sus métricas
  • Monitorear métricas de comportamiento del usuario (duración de la sesión, tasa de rebote)
  • Selección flexible de rango de fechas para todas las consultas

Requisitos previos

  • Node.js 20 o superior
  • Una propiedad de Google Analytics 4.
  • Un proyecto de Google Cloud con la API de Datos de Analytics habilitada.
  • Una cuenta de servicio con credenciales para acceder a la API.

Configuración

Para usar este servidor, necesitas configurar la autenticación con Google Analytics. Esto se hace mediante una cuenta de servicio.

1. Habilitar la API de Datos de Google Analytics

  1. Ve a la Consola de Google Cloud.
  2. Selecciona el proyecto que deseas usar.
  3. En el menú de navegación, ve a APIs y Servicios > Biblioteca.
  4. Busca "API de Datos de Google Analytics" y habilítala.

2. Crear una Cuenta de Servicio

  1. En la Consola de Google Cloud, navega a IAM y Administración > Cuentas de servicio.
  2. Haz clic en "Crear cuenta de servicio".
  3. Asigna un nombre a la cuenta de servicio (por ejemplo, "Servidor MCP de GA4").
  4. Haz clic en "Crear y continuar".
  5. Puedes omitir la concesión de acceso a la cuenta de servicio al proyecto.
  6. Haz clic en "Listo".
  7. Encuentra la cuenta de servicio que acabas de crear y haz clic en los tres puntos bajo "Acciones".
  8. Selecciona "Administrar claves", luego "Agregar clave" > "Crear clave nueva".
  9. Elige JSON como tipo de clave y haz clic en "Crear". Se descargará un archivo JSON con las credenciales.

3. Conceder Acceso de la Cuenta de Servicio a Google Analytics

  1. Abre Google Analytics.
  2. Navega a la sección Administrador de tu propiedad de GA4.
  3. Bajo la columna Propiedad, haz clic en Administración de acceso a la propiedad.
  4. Haz clic en el botón "+" para agregar un nuevo usuario.
  5. En el campo "Dirección de correo electrónico", pega el client_email del archivo de credenciales JSON que descargaste.
  6. Asigna el rol "Lector". No es necesario notificar al usuario.
  7. Haz clic en "Agregar".

4. Establecer Variables de Entorno

El servidor requiere las siguientes variables de entorno:

  • GOOGLE_CLIENT_EMAIL: El client_email de tu archivo JSON de cuenta de servicio.
  • GOOGLE_PRIVATE_KEY: El private_key de tu archivo JSON de cuenta de servicio.
  • GA_PROPERTY_ID: El ID de tu propiedad de Google Analytics 4.

Puedes configurarlas en tu entorno o usar un archivo .env.

export GOOGLE_CLIENT_EMAIL="your-service-account@your-project.iam.gserviceaccount.com"
export GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY\n-----END PRIVATE KEY-----\n"
export GA_PROPERTY_ID="your_property_id"

Instalación

Instalación mediante Smithery

Para instalar el Servidor de Google Analytics para Claude Desktop automáticamente a través de Smithery:

npx -y @smithery/cli install mcp-server-google-analytics --client claude

Instalación manual

npm install -g mcp-server-google-analytics

O úsalo directamente con npx:

npx mcp-server-google-analytics

Uso

Iniciar el servidor

pnpm start

Configuración en Claude Desktop

Agrega esto a tu configuración de Claude Desktop:

{
  "mcpServers": {
    "google-analytics": {
      "command": "npx",
      "args": ["-y", "mcp-server-google-analytics"],
      "env": {
        "GOOGLE_CLIENT_EMAIL": "your-service-account@project.iam.gserviceaccount.com",
        "GOOGLE_PRIVATE_KEY": "your-private-key",
        "GA_PROPERTY_ID": "your-ga4-property-id"
      }
    }
  }
}

Funciones disponibles

runReport

Ejecuta un informe flexible para obtener datos de analítica.

Entrada:

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31",
  "dimensions": [{ "name": "country" }, { "name": "city" }],
  "metrics": [{ "name": "activeUsers" }, { "name": "newUsers" }],
  "dimensionFilter": {
    "filter": {
      "fieldName": "country",
      "stringFilter": {
        "value": "United States"
      }
    }
  }
}

getPageViews

Obtén métricas de visitas a páginas para un rango de fechas específico:

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31",
  "dimensions": ["page", "country"] // Optional
}

getActiveUsers

Obtén métricas de usuarios activos:

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31"
}

getEvents

Obtén métricas de eventos:

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31",
  "eventName": "purchase" // Optional
}

getUserBehavior

Obtén métricas de comportamiento del usuario:

{
  "startDate": "2024-01-01",
  "endDate": "2024-01-31"
}

Consideraciones de seguridad

  • Privilegio mínimo: Solo otorga a la cuenta de servicio el rol "Lector" en Google Analytics.
  • Gestión de claves: Mantén tu archivo de clave de cuenta de servicio seguro y no lo expongas en código del lado del cliente.
  • Variables de entorno: Usa variables de entorno para almacenar información sensible como el correo electrónico del cliente, la clave privada y el ID de la propiedad.

Contribuciones

¡Las contribuciones son bienvenidas! Por favor, lee nuestra Guía de contribución para conocer los detalles sobre nuestro código de conducta y el proceso para enviar solicitudes de extracción.

Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENCIA para más detalles.