About Engageable Analytics
Engageable is an open-source MCP server for agents and analytics teams, bringing GA4, Mixpanel, and PostHog data behind a shared set of analysis tools. It supports trend, funnel, retention, cohort, and anomaly analysis, plus natural-language requests.
Key features
- 01Connect GA4, Mixpanel, and PostHog
- 02Analyze trends and anomalies
- 03Compare segments and cohorts
- 04Inspect funnels and retention
- 05Ask analytics questions in natural language
- 06Return tabular results as CSV
Use cases
- 01Review metric trends across connected sources
- 02Compare segments or before-and-after periods
- 03Find conversion funnel drop-offs
- 04Investigate retention and cohort patterns
MCP support
Exposes nine analytics tools to MCP-compatible clients over stdio or SSE. The `ask` tool uses an LLM to route natural-language questions to other tools.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx engageableANTHROPIC_API_KEYSecretAnthropic API key (required for the 'ask' tool)POSTHOG_API_KEYSecretPostHog personal API keyPOSTHOG_PROJECT_IDPostHog project IDGA4_CREDENTIALS_JSONSecretGoogle Analytics 4 service account credentials (inline JSON)GA4_PROPERTY_IDGoogle Analytics 4 property IDMIXPANEL_SERVICE_ACCOUNT_USERNAMEMixpanel service account usernameMIXPANEL_SERVICE_ACCOUNT_SECRETSecretMixpanel service account secretMIXPANEL_PROJECT_IDMixpanel project IDLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEEngageable
The 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.
Quickstart
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.
Claude Desktop
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.
Docker
ANTHROPIC_API_KEY=sk-ant-... docker compose -f docker-compose.mcp.yml up
Connects via SSE at http://localhost:8080/sse.
Tools
| 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) |
Supported Data Sources
| 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.
How It Works
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.
Architecture
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, ...
└─────────────────────────────────────┘
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.