GA4 Analytics MCP
GA4 Analytics MCP
Conector personal de Google Analytics 4 para Conectores personalizados de Claude.ai. Una cuenta de Google, un servidor MCP, desplegado en Vercel.
Claude.ai Custom Connector
→ https://<VERCEL_PROJECT_NAME>.vercel.app/ga4mcp
→ Vercel Streamable HTTP MCP
→ Google Analytics Data API
→ your GA4 propertiesNo hay servidor local stdio, ni requisito de npx, ni claude_desktop_config.json.
Dos capas de autenticación permanecen separadas:
Claude → MCP: OAuth de MCP (CIMD / DCR / cliente opcional de Configuración Avanzada)
MCP → Google: Token de actualización de Google OAuth almacenado en
GOOGLE_REFRESH_TOKEN
Herramientas MCP
Herramienta | Propósito |
| Descubrir propiedades en la cuenta de Google conectada |
| Listar dimensiones y métricas válidas |
| Informes históricos de GA4 |
| Últimos ~30 minutos |
Desarrollo local
npm install
copy .env.example .env.localCompleta .env.local, luego:
npm run devApp:
http://localhost:3000MCP:
http://localhost:3000/ga4mcpGoogle OAuth:
http://localhost:3000/oauth/googleSalud:
http://localhost:3000/health
npm test
npm run buildClaude.ai no puede alcanzar localhost. Despliega en Vercel antes de agregar el Conector Personalizado.
Configuración de Google Cloud
Esto es solo para que el servidor MCP pueda leer tus datos de GA4. No es el cliente OAuth del conector de Claude.ai.
Crea o selecciona un proyecto de Google Cloud.
Habilita Google Analytics Data API.
Habilita Google Analytics Admin API.
Configura la pantalla de consentimiento OAuth (Externa para Gmail personal). Publícala en Producción para que los tokens de actualización no caduquen después de 7 días.
Crea un cliente OAuth de Aplicación web.
URI de redirección autorizados:
http://localhost:3000/oauth/google/callbackhttps://<VERCEL_PROJECT_NAME>.vercel.app/oauth/google/callback
Ámbito utilizado por esta aplicación:
https://www.googleapis.com/auth/analytics.readonlyCopia el ID de cliente y el secreto en las variables de entorno.
Luego visita /oauth/google, introduce MCP_AUTH_TOKEN e inicia sesión con la cuenta de Google que posee tus propiedades de GA4.
Localmente, el token de actualización se escribe en
.env.local.En Vercel, pega
GOOGLE_REFRESH_TOKENen las variables de entorno del proyecto y vuelve a desplegar.
Variables de entorno
Variable | Requerida | Propósito |
| Sí | Origen público, sin barra final. Producción: |
| Sí | Cliente web de Google OAuth |
| Sí | Secreto del cliente web de Google OAuth |
| No | Por defecto |
| Sí | Token de configuración del operador para Google OAuth y consentimiento MCP de Claude |
| Después de Google OAuth | Token de Google de larga duración |
| No | Firma las cookies de estado de Google OAuth |
| No | Firma los JWT de acceso/actualización de MCP. Por defecto |
| No | Solo si se usa el cliente confidencial de Configuración Avanzada de Claude.ai |
| No | Pareja del cliente confidencial opcional |
Vercel
npm i -g vercel
vercel
vercel --prodAgrega las variables de entorno en el proyecto de Vercel. Después del primer Google OAuth en producción, configura GOOGLE_REFRESH_TOKEN y vuelve a desplegar.
Desactiva la Protección de Despliegue / Autenticación de Vercel en producción. Claude.ai se conecta desde la red de Anthropic (160.79.104.0/21). Si el SSO de Vercel está delante de /ga4mcp, el conector no puede conectarse.
URLs de producción:
https://<VERCEL_PROJECT_NAME>.vercel.app/ga4mcp
https://<VERCEL_PROJECT_NAME>.vercel.app/oauth/google/callback
https://<VERCEL_PROJECT_NAME>.vercel.app/healthUn dominio personalizado es opcional más adelante. Sigue usando APP_BASE_URL para que no se requiera ningún cambio de código.
Conector Personalizado de Claude.ai
Despliega en Vercel y confirma que
https://<VERCEL_PROJECT_NAME>.vercel.app/healthdevuelve{"status":"ok"}.Conecta Google en
https://<VERCEL_PROJECT_NAME>.vercel.app/oauth/google.Pon
GOOGLE_REFRESH_TOKENen las variables de entorno de Vercel y vuelve a desplegar.En Claude.ai abre Personalizar → Conectores → Agregar conector personalizado.
Nombre:
GA4 AnalyticsURL:
https://<VERCEL_PROJECT_NAME>.vercel.app/ga4mcpDeja vacío ID de Cliente OAuth Avanzado / Secreto. Claude usa CIMD contra los endpoints de autorización de este servidor.
Haz clic en Agregar.
Habilita el conector en el menú + → Conectores del chat.
La primera llamada a una herramienta GA4 muestra una tarjeta Conectar. Introduce
MCP_AUTH_TOKENen la página de consentimiento de esta aplicación (no tu contraseña de Google).Pregunta: ¿Cuántos usuarios tuve ayer?
initialize y tools/list son públicos para que Claude pueda descubrir las herramientas. tools/call devuelve HTTP 401 con WWW-Authenticate hasta que se complete el OAuth de MCP.
Seguridad
Nunca registres tokens de Google, códigos de autorización, secretos de cliente o JWT de MCP.
Las herramientas MCP nunca devuelven secretos.
Los tokens de acceso de Google no se almacenan; solo
GOOGLE_REFRESH_TOKENpersiste en las variables de entorno.No pongas secretos en Git.
Fechas
Se pasan a GA4 sin cambios: today, yesterday, 7daysAgo, 30daysAgo, 90daysAgo o YYYY-MM-DD. La dimensión date devuelve YYYYMMDD.
Limitaciones conocidas
Una cuenta de Google y un token de actualización.
Vercel no puede escribir variables de entorno en tiempo de ejecución; pega
GOOGLE_REFRESH_TOKENy vuelve a desplegar.Los tokens de actualización en modo de Prueba de Google caducan después de aproximadamente 7 días.
Los datos en tiempo real son aproximadamente los últimos 30 minutos.
El tamaño del informe está limitado a 10,000 filas.
No puedo completar el flujo de clic en vivo de Claude.ai desde este repositorio; eso requiere tus cuentas de Claude y Vercel.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
GibsonAI MCP server: manage your databases with natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/devopsbrandmirchi/Ga4McpServer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server