Unified analytics MCP server for GA4, Mixpanel, and PostHog.
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
uvx engageable
MCP client config
{
"mcpServers": {
"engageable-analytics": {
"command": "uvx",
"args": [
"engageable"
]
}
}
}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.
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