Google Analytics
Accede a los datos de Google Analytics 4 (GA4) usando el Model Context Protocol.
Documentación
Servidor MCP de Google Analytics
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
- Ve a la Consola de Google Cloud.
- Selecciona el proyecto que deseas usar.
- En el menú de navegación, ve a APIs y Servicios > Biblioteca.
- Busca "API de Datos de Google Analytics" y habilítala.
2. Crear una Cuenta de Servicio
- En la Consola de Google Cloud, navega a IAM y Administración > Cuentas de servicio.
- Haz clic en "Crear cuenta de servicio".
- Asigna un nombre a la cuenta de servicio (por ejemplo, "Servidor MCP de GA4").
- Haz clic en "Crear y continuar".
- Puedes omitir la concesión de acceso a la cuenta de servicio al proyecto.
- Haz clic en "Listo".
- Encuentra la cuenta de servicio que acabas de crear y haz clic en los tres puntos bajo "Acciones".
- Selecciona "Administrar claves", luego "Agregar clave" > "Crear clave nueva".
- 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
- Abre Google Analytics.
- Navega a la sección Administrador de tu propiedad de GA4.
- Bajo la columna Propiedad, haz clic en Administración de acceso a la propiedad.
- Haz clic en el botón "+" para agregar un nuevo usuario.
- En el campo "Dirección de correo electrónico", pega el
client_emaildel archivo de credenciales JSON que descargaste. - Asigna el rol "Lector". No es necesario notificar al usuario.
- Haz clic en "Agregar".
4. Establecer Variables de Entorno
El servidor requiere las siguientes variables de entorno:
GOOGLE_CLIENT_EMAIL: Elclient_emailde tu archivo JSON de cuenta de servicio.GOOGLE_PRIVATE_KEY: Elprivate_keyde 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.
