# Engageable Analytics

Один MCP-сервер вместо трёх интеграций: агент сам запрашивает данные из GA4, Mixpanel и PostHog и считает по ним метрики.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 1
- Автор: engageable-tech
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/engageable-tech/engageable-oss
- Обновлён: 2026-03-26
- HTML: https://affpapa.org/nevibecode/mcp/engageable-analytics

## Что делает

Engageable Analytics подключается к Claude, Codex, Cursor и другим MCP-клиентам и отдаёт агенту 9 инструментов. Среди них `analyze_trends` для временных рядов с поиском точек перелома, `compare_segments` для A/B-тестов со статистической значимостью, `analyze_funnel` для воронки с шагами отвала и `analyze_retention` для когортных кривых D1/D7/D30. Инструмент `ask` принимает вопрос на естественном языке и сам решает, к какому из остальных обратиться.

Внутри каждый инструмент — отдельный конвейер: разобрать запрос, сходить в нужный коннектор (`ga4_query`, `posthog_query`, `mixpanel_query`), посчитать и вернуть результат. Табличные ответы приходят в CSV, а не в JSON, и укладываются в бюджет 1000 ячеек, чтобы не раздувать контекст. Сервер работает по stdio, а в Docker-варианте — по SSE на `http://localhost:8080/sse`.

Для работы нужен свой ключ Anthropic, потому что слой маршрутизации вопросов на естественном языке ходит в LLM. Без `ANTHROPIC_API_KEY` сервер не запустится. Ключи источников задаются переменными окружения или сохраняются через `configure_source` в `~/.engageable/credentials.json`; для PostHog нужны ключ и ID проекта, для Mixpanel — сервисный аккаунт и ID проекта, для GA4 — JSON сервисного аккаунта и ID свойства.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `ANTHROPIC_API_KEY`, `POSTHOG_API_KEY`, `POSTHOG_PROJECT_ID`, `GA4_CREDENTIALS_JSON`, `GA4_PROPERTY_ID`, `MIXPANEL_SERVICE_ACCOUNT_USERNAME`, `MIXPANEL_SERVICE_ACCOUNT_SECRET`, `MIXPANEL_PROJECT_ID` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> --env POSTHOG_API_KEY=<POSTHOG_API_KEY> --env POSTHOG_PROJECT_ID=<POSTHOG_PROJECT_ID> --env GA4_CREDENTIALS_JSON=<GA4_CREDENTIALS_JSON> --env GA4_PROPERTY_ID=<GA4_PROPERTY_ID> --transport stdio engageable-analytics -- uvx engageable
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from engageable <команда>

### Codex

**Командой платформы**
```bash
codex mcp add engageable-analytics --env ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> --env POSTHOG_API_KEY=<POSTHOG_API_KEY> --env POSTHOG_PROJECT_ID=<POSTHOG_PROJECT_ID> --env GA4_CREDENTIALS_JSON=<GA4_CREDENTIALS_JSON> --env GA4_PROPERTY_ID=<GA4_PROPERTY_ID> -- uvx engageable
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from engageable <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "engageable-analytics": {
            "command": "uvx",
            "args": [
                "engageable"
            ],
            "env": {
                "ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
                "POSTHOG_API_KEY": "<POSTHOG_API_KEY>",
                "POSTHOG_PROJECT_ID": "<POSTHOG_PROJECT_ID>",
                "GA4_CREDENTIALS_JSON": "<GA4_CREDENTIALS_JSON>",
                "GA4_PROPERTY_ID": "<GA4_PROPERTY_ID>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from engageable <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "engageable-analytics": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "engageable"
            ],
            "env": {
                "ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
                "POSTHOG_API_KEY": "<POSTHOG_API_KEY>",
                "POSTHOG_PROJECT_ID": "<POSTHOG_PROJECT_ID>",
                "GA4_CREDENTIALS_JSON": "<GA4_CREDENTIALS_JSON>",
                "GA4_PROPERTY_ID": "<GA4_PROPERTY_ID>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from engageable <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY> -e POSTHOG_API_KEY=<POSTHOG_API_KEY> -e POSTHOG_PROJECT_ID=<POSTHOG_PROJECT_ID> -e GA4_CREDENTIALS_JSON=<GA4_CREDENTIALS_JSON> -e GA4_PROPERTY_ID=<GA4_PROPERTY_ID> engageable-analytics uvx engageable
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from engageable <команда>

## Когда брать
- собрать воронку конверсии с шагами отвала
- найти аномалии в трафике за период
- сравнить две когорты пользователей
- посчитать retention по дням D1/D7/D30
- задать вопрос по метрикам обычными словами

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
