Пропустите установку. Заработает меньше чем за 2 минуты.
Начните бесплатный период на cloud.anythingmcp.com, добавьте PostHog одним кликом и направьте свой ИИ-клиент (Claude, ChatGPT, Copilot или Cursor) на сгенерированный MCP-эндпоинт. Без Docker, без git clone, без опыта разработки.
Кратко
Дайте ИИ отвечать на вопросы продуктовой аналитики по данным PostHog: выполнять SQL только на чтение (HogQL) по событиям и персонам, считать тренды, воронки и удержание, читать сохранённые инсайты и дашборды, находить персоны, когорты, аннотации и эксперименты, а также управлять инсайтами и feature flags. PostHog Cloud (US или EU) или собственный сервер, с персональным API-ключом.
Попробуй спросить
Примеры промптов для PostHog
Кликни по промпту — он скопируется. Вставь в Claude, ChatGPT, Cursor, Gemini, Copilot или OpenClaw и запусти через этот коннектор.
Claude — это AI, он может ошибаться. Проверяйте ответы.
💡 Без установки? Используйте cloud.anythingmcp.com напрямую. Войдите, нажмите Connectors → PostHog, вставьте учётные данные, создайте MCP API key, и готово. Без Docker, без
git clone, без локального сервера.
PostHog + ChatGPT
Дайте ИИ отвечать на вопросы продуктовой аналитики по данным PostHog: выполнять SQL только на чтение (HogQL) по событиям и персонам, считать тренды, воронки и удержание, читать сохранённые инсайты и дашборды, находить персоны, когорты, аннотации и эксперименты, а также управлять инсайтами и feature flags. PostHog Cloud (US или EU) или собственный сервер, с персональным API-ключом.
Предварительные требования
Полные инструкции по настройке встроены в коннектор (видны в магазине при выборе коннектора). Требуемые переменные окружения:
POSTHOG_HOST, POSTHOG_PERSONAL_API_KEY
Шаг 1 — Получите учётные данные
- В PostHog откройте Settings → User → Personal API keys (US Cloud:
https://us.posthog.com/settings/user-api-keys, EU Cloud:https://eu.posthog.com/settings/user-api-keys) и нажмите + Create a personal API key. - Задайте ключу метку (например, «AnythingMCP») и выберите organization and project access: всё, одна организация или отдельные проекты. Ключ, ограниченный отдельными проектами, не может выводить список организаций и проектов, но
posthog_get_current_userвсё равно работает и называет текущий проект. - Отметьте эти scopes:
user:read,organization:read,project:readquery:read,person:read,cohort:read,experiment:readinsight:read,insight:write,dashboard:readfeature_flag:read,feature_flag:writeannotation:read,annotation:write
- Сразу скопируйте ключ: PostHog показывает его только один раз. Он начинается с
phx_(токен проекта, начинающийся сphc_, здесь не подойдёт). Вставьте его вPOSTHOG_PERSONAL_API_KEYбез слова Bearer. - Укажите в
POSTHOG_HOSTадрес, по которому вы открываете PostHog:https://us.posthog.comдля US Cloud,https://eu.posthog.comдля EU Cloud или адрес вашего собственного сервера, без завершающего слэша и пути. Хосты приёма событийus.i.posthog.comиeu.i.posthog.comне принимаются, а ключ работает только в том облачном регионе, где он создан. Затем установите коннектор. - Начните с
posthog_get_current_user: инструмент показывает, какому пользователю PostHog принадлежит ключ, текущий проект и проекты организации.
Режим только для чтения: создайте ключ только со scopes :read и отключите posthog_create_insight, posthog_update_insight, posthog_create_feature_flag, posthog_update_feature_flag и posthog_create_annotation. Запросы никогда не меняют данные, потому что HogQL принимает только SELECT. ИИ видит и меняет ровно то, что доступно пользователю ключа.
Отключены при установке: posthog_delete_insight, posthog_delete_feature_flag и posthog_delete_annotation. Через API PostHog ничего не удаляет окончательно: эти инструменты помечают инсайт, флаг или аннотацию как удалённые, и их можно восстановить в приложении PostHog. Удалённый флаг выключается, и код, проверяющий его ключ, получает false.
Идентификаторы проектов: каждый инструмент уровня проекта принимает project_id, число из URL PostHog (/project/12345/...), которое также видно в Settings → Project → General. Значение @current тоже принимается, но означает проект, который пользователь последним открыл в приложении, а он может измениться: лучше указывать число. posthog_list_organizations и posthog_list_projects выводят остальные.
Запросы: posthog_run_hogql_query выполняет один SELECT на HogQL (SQL от PostHog) по events, persons, sessions и groups; свойства читаются как properties.$browser или person.properties.email. Всегда фильтруйте по времени (например, WHERE timestamp >= now() - INTERVAL 7 DAY): сканирование без фильтра идёт медленно и расходует бюджет чтения. Без LIMIT приходит 100 строк, с LIMIT до 50 000. OFFSET отклоняется, поэтому ИИ листает по timestamp или id. Даты читаются в часовом поясе проекта, а не в UTC. Для трендов, воронок, удержания, stickiness, lifecycle и путей есть posthog_run_insight_query; проценты конверсии и удержания вычисляются из значений count. Эндпоинт запросов рассчитан на разовый анализ, а не на массовую выгрузку.
Инсайты, дашборды и флаги: posthog_get_insight по умолчанию возвращает последний результат из кэша; refresh blocking пересчитывает устаревший. posthog_get_dashboard возвращает плитки с их инсайтами. Feature flags определяют, что видят реальные пользователи: прежде чем создать или изменить флаг, ИИ показывает вам ключ флага, active и rollout и ждёт вашего согласия. Новый флаг безопаснее всего создавать с active false или rollout 0. При изменениях отправляется version флага из последнего чтения, чтобы не затереть чужие правки.
Пагинация: инструменты списков принимают limit и offset и возвращают count, next (null на последней странице) и results. Ответы больше 200 КБ обрезаются.
Лимиты запросов: действуют на организацию и общие для всех ключей и пользователей. Обычное чтение и запись: 480 запросов в минуту и 4 800 в час; аналитика вроде персон и расчётов инсайтов: 240 в минуту и 1 200 в час. Эндпоинт запросов допускает 240 в минуту и 2 400 в час, не более 3 одновременных запросов на проект и расходует почасовой бюджет чтения проекта (на бесплатном плане он меньше). При превышении PostHog отвечает 429; если бюджет исчерпан, в ответе будет api_queries_budget_exceeded, но результаты из кэша продолжают работать.
Частые ошибки: 401 означает, что ключ неверный, удалён или создан в другом облачном регионе: проверьте POSTHOG_HOST. 403 «API key missing required scope» называет scope, который нужно добавить (scopes ключа можно изменить позже); другие 403 означают, что ключ ограничен другими проектами или организациями либо организация не разрешает участникам персональные API-ключи. 404 «Project not found.» означает неверный project_id или проект, недоступный пользователю. 400 указывает на неверное поле, а для HogQL содержит ошибку парсера. 409 у флага означает, что его version устарела: прочитайте флаг заново.
Коннектор не отправляет события и не задаёт свойства персон, не удаляет персоны, не читает записи сессий и опросы, не создаёт и не редактирует дашборды, когорты и эксперименты и не управляет batch exports, участниками и оплатой.
Шаг 2 — Установите адаптер
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Шаг 3 — Добавьте коннектор в ChatGPT
URL вашего сервера: в AnythingMCP откройте MCP Servers → сервер, на котором находится этот коннектор, и скопируйте его URL (
https://cloud.anythingmcp.com/mcp/…). Используйте его везде, где в этом руководстве указаноYOUR_SERVER_ID.
ChatGPT подключает MCP-серверы как собственные приложения в режиме разработчика (Developer mode). Он есть в платных планах, в бесплатном его нет. В рабочих пространствах Business и Enterprise его, возможно, сначала должен разрешить администратор.
- Открой в ChatGPT Settings → Security and login и включи Developer mode.
- Перейди на chatgpt.com/plugins и нажми +.
- Введи название и короткое описание, например Name:
PostHog. - В разделе Connection укажи URL MCP-сервера
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDи создай подключение. - Когда ChatGPT попросит, войди в AnythingMCP (OAuth) и разреши доступ.
Доступные инструменты
| Tool | What it does |
|---|---|
posthog_get_current_user | Get the user the personal API key belongs to: uuid, email and name, the current project (id, name, project_id, timezone), the current… |
posthog_list_organizations | List the organizations the user belongs to: id (a UUID), name, slug, membership_level, and each organization's projects |
posthog_list_projects | List the projects of an organization: id (the project_id every other tool takes), name, project_id, timezone, tags, is_demo and… |
posthog_get_project | Get one project's settings: name, timezone, week_start_day, base_currency, app_urls, test account filters, group types, whether events… |
posthog_run_hogql_query | Run one read-only HogQL (PostHog SQL) SELECT over events, persons, sessions, groups or warehouse tables and return columns, results (rows… |
posthog_run_insight_query | Run one of PostHog's insight calculations without saving it: TrendsQuery, FunnelsQuery, RetentionQuery, StickinessQuery, LifecycleQuery or… |
posthog_list_persons | List or search persons (identified users and anonymous visitors): id, uuid, name, distinct_ids, properties, created_at and last_seen_at.… |
posthog_get_person | Get one person by numeric id or UUID: name, distinct_ids, all person properties (email, initial UTM and referrer, geo), created_at and… |
posthog_list_insights | List saved insights (charts): id, short_id, name, description, query, tags, favorited, dashboard_tiles, created_by and last_modified_at |
posthog_get_insight | Get one insight by numeric id or 8-character short_id: name, description, query, result, columns, last_refresh, is_cached, the hogql it ran… |
posthog_create_insight | Save a new insight (chart) in the project from a query: a product analytics chart or a SQL insight |
posthog_update_insight | Change a saved insight: name, description, query, tags or favorited |
posthog_delete_insight | Delete a saved insight (PostHog marks it deleted; it disappears from every dashboard and can be restored in the app) |
posthog_list_dashboards | List dashboards: id, name, description, pinned, tags, created_by, created_at and last_viewed_at |
posthog_get_dashboard | Get one dashboard with its filters and tiles: each tile carries its insight (id, short_id, name, query and the last cached result) or a… |
posthog_list_feature_flags | List feature flags: id, key, name (the description), active, filters (release conditions with rollout_percentage, variants, payloads)… |
posthog_get_feature_flag | Get one feature flag by id: key, name, active, filters (release condition groups with properties and rollout_percentage, multivariate… |
posthog_create_feature_flag | Create a feature flag |
posthog_update_feature_flag | Change a feature flag: switch it on or off, change its rollout or targeting, rename its description, archive it or retag it |
posthog_delete_feature_flag | Delete a feature flag (PostHog marks it deleted and switches it off; code that checks the key then gets false) |
posthog_list_cohorts | List cohorts (saved groups of persons): id, name, description, count (persons in it), is_static, is_calculating, filters and created_at |
posthog_get_cohort | Get one cohort by id: name, description, its definition (filters or query), count of persons, whether it is static or behavioral… |
posthog_list_annotations | List annotations (notes on charts such as releases or incidents): id, content, date_marker, scope, the insight or dashboard they belong to… |
posthog_get_annotation | Get one annotation by id: content, date_marker, scope (project, organization, dashboard or insight), emoji, the insight or dashboard it is… |
posthog_create_annotation | Add an annotation, a note shown on charts at a point in time, e.g. a release, a campaign start or an incident |
posthog_delete_annotation | Delete an annotation (PostHog marks it deleted; it disappears from every chart and can be restored) |
posthog_list_experiments | List A/B test experiments: id, name, description, status, start_date, end_date, feature_flag_key, type, conclusion, archived and created_by |
posthog_get_experiment | Get one experiment by id: status, start and end dates, its feature flag and variants, metrics, parameters, exposure cohort, conclusion and… |
Примеры запросов
- «Сколько уникальных пользователей заходило на страницу с ценами каждый день на прошлой неделе и с каких браузеров?»
- «Какой была конверсия нашей воронки регистрации за последние 30 дней, от просмотра страницы с ценами до завершённой оплаты?»
- «Какие feature flags сейчас активны и с каким процентом rollout?»
- «Добавь в наш основной проект аннотацию на сегодня: запущена весенняя кампания.»
FAQ
Работает ли бесплатный план ChatGPT с кастомными MCP-коннекторами? Нет. Для своих MCP-подключений нужен режим разработчика, а он есть только в платных планах.
Следующие шаги
- Страница коннектора
- Подключить к Claude
- Подключить к Cursor
- Подключить к Gemini
- Подключить к Meta Muse
Это руководство помогло?