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.
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