This is a unified analytics layer that lets Claude query PostHog, Mixpanel, and GA4 through a single set of nine tools instead of juggling platform-specific integrations. You get trend analysis with anomaly detection, cohort retention curves, funnel breakdowns with drop-off rates, and A/B testing with statistical significance checks. It includes an LLM-powered ask tool that routes natural language questions to the right analysis function. Responses come back as CSV to save tokens, capped at 1000 cells to stay context-window friendly. Runs on stdio for Claude Desktop or SSE via Docker. Reach for this when you're building agents that need to answer analytics questions across multiple platforms without hardcoding queries for each one.
Public tool metadata for what this MCP can expose to an agent.
ig_summaryPerformance de Instagram orgánico (no pagado). Métricas agregadas de posts: alcance total, engagement rate, likes, comentarios, guardados, compartidos. Usar para preguntas sobre "Instagram", "redes sociales", "alcance" o "engagement" sin contexto de publicidad pagada.1 paramsPerformance de Instagram orgánico (no pagado). Métricas agregadas de posts: alcance total, engagement rate, likes, comentarios, guardados, compartidos. Usar para preguntas sobre "Instagram", "redes sociales", "alcance" o "engagement" sin contexto de publicidad pagada.
date_rangestringig_top_postsPosts de Instagram con mejor performance, ordenados por engagement, alcance, likes, guardados o comentarios. Incluye caption, fecha, métricas y permalink. Usar para "mejores posts", "qué contenido funcionó", "posts más vistos".3 paramsPosts de Instagram con mejor performance, ordenados por engagement, alcance, likes, guardados o comentarios. Incluye caption, fecha, métricas y permalink. Usar para "mejores posts", "qué contenido funcionó", "posts más vistos".
sortstringlimitnumberdate_rangestringig_followers_growthEvolución de la cantidad de seguidores de Instagram en el tiempo: serie diaria con total absoluto y crecimiento porcentual. Usar para "crecimiento de seguidores", "ganamos/perdimos seguidores", "evolución de la audiencia".1 paramsEvolución de la cantidad de seguidores de Instagram en el tiempo: serie diaria con total absoluto y crecimiento porcentual. Usar para "crecimiento de seguidores", "ganamos/perdimos seguidores", "evolución de la audiencia".
date_rangestringig_hashtagsHashtags usados en posts de Instagram, ordenados por alcance promedio. Útil para identificar qué tags están generando más visibilidad. Usar para "hashtags que funcionan", "qué tags usar", "tags con más alcance".1 paramsHashtags usados en posts de Instagram, ordenados por alcance promedio. Útil para identificar qué tags están generando más visibilidad. Usar para "hashtags que funcionan", "qué tags usar", "tags con más alcance".
date_rangestringgads_summaryPerformance de Google Ads (publicidad pagada en Google Search/Display/YouTube). Gasto, impresiones, clics, CTR, CPC, conversiones, CPA, ROAS. Usar para "Google Ads", "publicidad en Google", "campañas pagas", "cuánto gastamos en Google", "anuncios de Google".1 paramsPerformance de Google Ads (publicidad pagada en Google Search/Display/YouTube). Gasto, impresiones, clics, CTR, CPC, conversiones, CPA, ROAS. Usar para "Google Ads", "publicidad en Google", "campañas pagas", "cuánto gastamos en Google", "anuncios de Google".
date_rangestringgads_campaignsDesglose de Google Ads campaña por campaña: nombre, estado (activa/pausada), gasto, clics, impresiones, conversiones y CTR. Usar para "qué campañas de Google Ads tenemos", "campaña que mejor funciona", "performance por campaña".1 paramsDesglose de Google Ads campaña por campaña: nombre, estado (activa/pausada), gasto, clics, impresiones, conversiones y CTR. Usar para "qué campañas de Google Ads tenemos", "campaña que mejor funciona", "performance por campaña".
date_rangestringgads_keywordsKeywords contra las que pujamos en Google Ads (las que configuramos en las campañas): gasto, clics, conversiones, CPC, match type. Usar para "keywords que compramos", "palabras clave de mis campañas", "en qué keywords gasto más". NO confundir con search terms (lo que el usuari...1 paramsKeywords contra las que pujamos en Google Ads (las que configuramos en las campañas): gasto, clics, conversiones, CPC, match type. Usar para "keywords que compramos", "palabras clave de mis campañas", "en qué keywords gasto más". NO confundir con search terms (lo que el usuari...
date_rangestringgads_search_termsBúsquedas reales que escribieron los usuarios y dispararon nuestros anuncios de Google Ads. Muestra términos exactos con clics y gasto. Útil para encontrar oportunidades (nuevas keywords) o exclusiones (queries irrelevantes). Usar para "qué buscan los usuarios", "términos de b...1 paramsBúsquedas reales que escribieron los usuarios y dispararon nuestros anuncios de Google Ads. Muestra términos exactos con clics y gasto. Útil para encontrar oportunidades (nuevas keywords) o exclusiones (queries irrelevantes). Usar para "qué buscan los usuarios", "términos de b...
date_rangestringmeta_summaryPerformance de Meta Ads (publicidad pagada en Facebook e Instagram). Gasto, alcance, impresiones, clics, CTR, CPM, mensajes, leads, compras. Usar para "Meta Ads", "Facebook Ads", "publicidad en Instagram pagada", "cuánto gastamos en Meta", "anuncios de Facebook". NO confundir...1 paramsPerformance de Meta Ads (publicidad pagada en Facebook e Instagram). Gasto, alcance, impresiones, clics, CTR, CPM, mensajes, leads, compras. Usar para "Meta Ads", "Facebook Ads", "publicidad en Instagram pagada", "cuánto gastamos en Meta", "anuncios de Facebook". NO confundir...
date_rangestringmeta_campaignsDesglose de Meta Ads campaña por campaña: nombre, objetivo (tráfico/leads/ventas/mensajes), estado, gasto, alcance, clics. Usar para "campañas de Meta Ads", "qué objetivos tenemos en Facebook", "performance por campaña".1 paramsDesglose de Meta Ads campaña por campaña: nombre, objetivo (tráfico/leads/ventas/mensajes), estado, gasto, alcance, clics. Usar para "campañas de Meta Ads", "qué objetivos tenemos en Facebook", "performance por campaña".
date_rangestringget_reviewsReseñas de Google Business Profile y otras plataformas (Facebook): rating promedio, conteo total, tasa de respuesta y últimas reseñas con autor, rating, texto y si fueron respondidas. Usar para "reseñas", "reputación", "qué dicen los clientes", "rating en Google", "reviews".2 paramsReseñas de Google Business Profile y otras plataformas (Facebook): rating promedio, conteo total, tasa de respuesta y últimas reseñas con autor, rating, texto y si fueron respondidas. Usar para "reseñas", "reputación", "qué dicen los clientes", "rating en Google", "reviews".
date_rangestringmin_ratingnumberget_leadsLeads/prospectos capturados desde formularios del sitio y campañas. Datos de contacto (nombre, email, teléfono), fuente de captación, estado en el pipeline (nuevo/contactado/calificado/cerrado/perdido). Usar para "leads", "prospectos", "formularios", "contactos nuevos", "pipel...2 paramsLeads/prospectos capturados desde formularios del sitio y campañas. Datos de contacto (nombre, email, teléfono), fuente de captación, estado en el pipeline (nuevo/contactado/calificado/cerrado/perdido). Usar para "leads", "prospectos", "formularios", "contactos nuevos", "pipel...
statusstringdate_rangestringget_salesVentas del restaurante registradas en Fudo (sistema POS gastronómico): total facturado, cantidad de tickets, ticket promedio, desglose por canal (Local, Delivery, Mostrador). Usar para "ventas", "facturación", "ingresos", "tickets", "qué vendimos". Solo disponible para restaur...1 paramsVentas del restaurante registradas en Fudo (sistema POS gastronómico): total facturado, cantidad de tickets, ticket promedio, desglose por canal (Local, Delivery, Mostrador). Usar para "ventas", "facturación", "ingresos", "tickets", "qué vendimos". Solo disponible para restaur...
date_rangestringga4_summaryTráfico al sitio web según Google Analytics 4: sesiones, usuarios únicos, usuarios nuevos vs recurrentes, páginas vistas, bounce rate, duración promedio de sesión, conversiones. **Usar SIEMPRE para preguntas sobre "visitas", "tráfico del sitio", "cuántas personas entraron", "u...1 paramsTráfico al sitio web según Google Analytics 4: sesiones, usuarios únicos, usuarios nuevos vs recurrentes, páginas vistas, bounce rate, duración promedio de sesión, conversiones. **Usar SIEMPRE para preguntas sobre "visitas", "tráfico del sitio", "cuántas personas entraron", "u...
date_rangestringga4_sourcesDe dónde vienen los visitantes del sitio: source/medium (google/organic, facebook/social, direct, etc.) con sesiones, usuarios y conversiones. Usar para "de dónde viene el tráfico", "fuentes de tráfico", "canales de adquisición", "qué porcentaje es orgánico vs pagado".1 paramsDe dónde vienen los visitantes del sitio: source/medium (google/organic, facebook/social, direct, etc.) con sesiones, usuarios y conversiones. Usar para "de dónde viene el tráfico", "fuentes de tráfico", "canales de adquisición", "qué porcentaje es orgánico vs pagado".
date_rangestringga4_pagesPáginas más visitadas del sitio web según GA4: path, page views, sesiones, usuarios únicos, bounce rate, tiempo promedio. Usar para "páginas más vistas", "contenido más popular", "qué páginas funcionan", "top landing pages".1 paramsPáginas más visitadas del sitio web según GA4: path, page views, sesiones, usuarios únicos, bounce rate, tiempo promedio. Usar para "páginas más vistas", "contenido más popular", "qué páginas funcionan", "top landing pages".
date_rangestringgsc_summaryVisibilidad del sitio en resultados ORGÁNICOS de Google (no pagado, no GA4): clics desde búsqueda, impresiones (cuántas veces aparecimos), CTR y posición promedio. **Usar SOLO para preguntas sobre "SEO", "posicionamiento", "ranking", "búsquedas orgánicas", "aparecemos en Googl...1 paramsVisibilidad del sitio en resultados ORGÁNICOS de Google (no pagado, no GA4): clics desde búsqueda, impresiones (cuántas veces aparecimos), CTR y posición promedio. **Usar SOLO para preguntas sobre "SEO", "posicionamiento", "ranking", "búsquedas orgánicas", "aparecemos en Googl...
date_rangestringgsc_queriesBúsquedas orgánicas en Google por las que aparece el sitio: query exacta, clics recibidos, impresiones, CTR y posición promedio. Usar para "por qué nos encuentran", "queries SEO", "keywords orgánicas", "términos de búsqueda orgánicos". NO confundir con `gads_search_terms` (eso...1 paramsBúsquedas orgánicas en Google por las que aparece el sitio: query exacta, clics recibidos, impresiones, CTR y posición promedio. Usar para "por qué nos encuentran", "queries SEO", "keywords orgánicas", "términos de búsqueda orgánicos". NO confundir con `gads_search_terms` (eso...
date_rangestringgsc_pagesPáginas del sitio con mejor visibilidad orgánica en Google según Search Console: URL, clics, impresiones, CTR, posición promedio. Usar para "páginas con mejor SEO", "qué URLs rankean", "landings que reciben tráfico orgánico". Para páginas con más tráfico TOTAL (orgánico+todo)...1 paramsPáginas del sitio con mejor visibilidad orgánica en Google según Search Console: URL, clics, impresiones, CTR, posición promedio. Usar para "páginas con mejor SEO", "qué URLs rankean", "landings que reciben tráfico orgánico". Para páginas con más tráfico TOTAL (orgánico+todo)...
date_rangestringThe open source analytics engine for AI agents.
One MCP server that connects to GA4, Mixpanel, PostHog, and more. 9 tools that replace per-platform integrations. Bring your own Anthropic key.
pip install engageable
export ANTHROPIC_API_KEY=sk-ant-...
export POSTHOG_API_KEY=phc_...
export POSTHOG_PROJECT_ID=12345
engageable-mcp
That's it. The MCP server is running on stdio. Connect it to Claude Desktop, Cursor, or any MCP client.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"engageable": {
"command": "engageable-mcp",
"args": []
}
}
}
Restart Claude Desktop. You'll see 9 analytics tools available.
ANTHROPIC_API_KEY=sk-ant-... docker compose -f docker-compose.mcp.yml up
Connects via SSE at http://localhost:8080/sse.
| Tool | What it does |
|---|---|
get_sources | List connected data sources |
configure_source | Connect a new data source (saves to ~/.engageable/credentials.json) |
analyze_trends | Time-series analysis with trend detection, change points, anomalies |
compare_segments | A/B tests, before/after, segment breakdown with statistical significance |
detect_anomalies | Find spikes, drops, and unusual patterns |
analyze_retention | Cohort retention curves (D1/D7/D30) |
analyze_funnel | Multi-step conversion funnel with drop-off rates |
analyze_cohort | Define and compare user cohorts |
ask | Natural language analytics questions (routes to other tools via LLM) |
| Source | Auth | What you need |
|---|---|---|
| PostHog | API key | POSTHOG_API_KEY + POSTHOG_PROJECT_ID |
| Mixpanel | Service account | MIXPANEL_SERVICE_ACCOUNT_USERNAME + MIXPANEL_SERVICE_ACCOUNT_SECRET + MIXPANEL_PROJECT_ID |
| Google Analytics 4 | Service account | GA4_CREDENTIALS_JSON (path or inline) + GA4_PROPERTY_ID |
Set these as environment variables, or use the configure_source tool to save them interactively to ~/.engageable/credentials.json. See credentials.example.json for the file format.
Engageable exposes analytics tools via the Model Context Protocol (MCP). Any MCP-compatible client (Claude, Cursor, VS Code, custom agents) can discover and call these tools.
Each tool is a self-contained pipeline: parse the request, fetch data from the right connector, run analysis, return results. The ask tool adds an LLM routing layer for natural language questions.
Responses use CSV for tabular data (50% fewer tokens than JSON) with a 1000-cell budget to keep context windows manageable.
MCP Client (Claude, Cursor, etc.)
│
▼
┌─────────────────────────────────────┐
│ MCP Server (stdio or SSE) │
│ - Dynamic tool registration │
│ - Credential injection │
│ - CSV response formatting │
├─────────────────────────────────────┤
│ Composite Skills (agent-facing) │
│ analyze_trends, compare_segments, │
│ detect_anomalies, analyze_funnel, │
│ analyze_retention, analyze_cohort, │
│ ask, get_sources, configure_source │
├─────────────────────────────────────┤
│ Connector Skills (internal) │ Analysis Skills (internal)
│ ga4_query, posthog_query, │ trend_detection, significance,
│ mixpanel_query, + metadata/probe │ cohort_retention, forecasting,
│ │ bayesian_ab, correlation, ...
└─────────────────────────────────────┘
MIT
ANTHROPIC_API_KEYsecretAnthropic API key (required for the 'ask' tool)
POSTHOG_API_KEYsecretPostHog personal API key
POSTHOG_PROJECT_IDPostHog project ID
GA4_CREDENTIALS_JSONsecretGoogle Analytics 4 service account credentials (inline JSON)
GA4_PROPERTY_IDGoogle Analytics 4 property ID
MIXPANEL_SERVICE_ACCOUNT_USERNAMEMixpanel service account username
MIXPANEL_SERVICE_ACCOUNT_SECRETsecretMixpanel service account secret
MIXPANEL_PROJECT_IDMixpanel project ID
io.github.infoinlet-marketplace/mcp-observability
betterdb-inc/monitor
com.mcparmory/datadog
thotischner/observability-mcp
io.github.tantiope/datadog-mcp
io.github.us-all/datadog