Skip to main content

Analytics MCP server for AI agents. Connects to GA4, Mixpanel, PostHog, and more.

Project description

Engageable

The analytics engine for AI agents.

One MCP server that connects to Google Analytics 4, Mixpanel, PostHog, and more. 10 tools for trends, funnels, retention, anomaly detection, and natural language queries. Works with any MCP client.

Quickstart

# Recommended — no venv needed:
uvx engageable

# Or with pip:
pip install engageable
engageable-mcp

The MCP server starts on stdio. Connect it to Claude Desktop, Cursor, or any MCP client, then use the configure_source tool to connect your analytics platform interactively.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "engageable": {
      "command": "uvx",
      "args": ["engageable"]
    }
  }
}

Restart Claude Desktop. You'll see 10 analytics tools available. Ask it to connect your analytics source and it will walk you through setup.

Docker

docker compose 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 interactively
website_discover Scan a website to detect installed analytics providers
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 method Environment variables
Google Analytics 4 Service account GA4_CREDENTIALS_JSON + GA4_PROPERTY_ID
Mixpanel Service account MIXPANEL_SERVICE_ACCOUNT_USERNAME + MIXPANEL_SERVICE_ACCOUNT_SECRET + MIXPANEL_PROJECT_ID
PostHog API key POSTHOG_API_KEY + POSTHOG_PROJECT_ID

You can set credentials 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 statistical 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, mixpanel_query,         │  trend_detection, significance,
│  posthog_query + metadata/probe     │  cohort_retention, forecasting,
│                                     │  bayesian_ab, correlation, ...
└─────────────────────────────────────┘

Hosted Version

Don't want to manage credentials yourself? engageable.tech handles OAuth, credential storage, scheduling, and delivery — connect your analytics with one click.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

engageable-0.4.1.tar.gz (151.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

engageable-0.4.1-py3-none-any.whl (79.4 kB view details)

Uploaded Python 3

File details

Details for the file engageable-0.4.1.tar.gz.

File metadata

  • Download URL: engageable-0.4.1.tar.gz
  • Upload date:
  • Size: 151.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for engageable-0.4.1.tar.gz
Algorithm Hash digest
SHA256 3a797d59bea55123403edcdc89733906367fd255020530a03a4bfbc5ae642272
MD5 81c4a4873080a72dff879a88773209c5
BLAKE2b-256 0401adb9e2af550f0dcdbfd902af6394357ab2f0b99945723d8c7bac5ce86082

See more details on using hashes here.

File details

Details for the file engageable-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: engageable-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 79.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for engageable-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 57c40c31b07f1ddf080af84bb5c02ab19e8d9d9668ced79b434c52b9860f5a50
MD5 59ddf5572f4b532686703920fed20790
BLAKE2b-256 2883775a2c105acff2d5c819b34285df405343215929f24b420cfe5b7134c20a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page