Sáltate la instalación. Funcionando en menos de 2 minutos.
Inicia una prueba gratuita en cloud.anythingmcp.com, añade PostHog con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.
Resumen
Deja que tu IA responda preguntas de analítica de producto con PostHog: ejecuta SQL de solo lectura (HogQL) sobre eventos y personas, calcula tendencias, embudos y retención, lee insights y dashboards guardados, consulta personas, cohortes, anotaciones y experimentos, y gestiona insights y feature flags. PostHog Cloud (US o EU) o autoalojado, con una clave de API personal.
Prueba a pedir
Prompts de ejemplo para PostHog
Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.
Claude es IA y puede equivocarse. Verifica siempre las respuestas.
💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → PostHog, pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin
git clone, sin servidor local.
PostHog + ChatGPT
Deja que tu IA responda preguntas de analítica de producto con PostHog: ejecuta SQL de solo lectura (HogQL) sobre eventos y personas, calcula tendencias, embudos y retención, lee insights y dashboards guardados, consulta personas, cohortes, anotaciones y experimentos, y gestiona insights y feature flags. PostHog Cloud (US o EU) o autoalojado, con una clave de API personal.
Requisitos previos
Las instrucciones de configuración completas están incluidas en el conector (visibles en el store al seleccionarlo). Las variables de entorno requeridas:
POSTHOG_HOST, POSTHOG_PERSONAL_API_KEY
Paso 1 — Obtener credenciales
- En PostHog, abre 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) y haz clic en + Create a personal API key. - Ponle una etiqueta a la clave (por ejemplo "AnythingMCP") y elige su organization and project access: todo, una organización o proyectos concretos. Una clave limitada a proyectos concretos no puede listar organizaciones ni proyectos, pero
posthog_get_current_usersigue funcionando e indica el proyecto actual. - Marca estos 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
- Copia la clave enseguida: PostHog la muestra una sola vez. Empieza por
phx_(un project token que empieza porphc_no sirve aquí). Pégala enPOSTHOG_PERSONAL_API_KEY, sin la palabra Bearer. - Pon en
POSTHOG_HOSTla dirección con la que abres PostHog:https://us.posthog.compara US Cloud,https://eu.posthog.compara EU Cloud o la dirección de tu instancia autoalojada, sin barra final ni ruta. Los hosts de ingestaus.i.posthog.comyeu.i.posthog.comse rechazan, y una clave solo funciona en la región cloud donde se creó. Después instala el conector. - Empieza con
posthog_get_current_user: muestra a qué usuario de PostHog pertenece la clave, el proyecto actual y los proyectos de la organización.
Configuración de solo lectura: crea la clave solo con los scopes :read y desactiva posthog_create_insight, posthog_update_insight, posthog_create_feature_flag, posthog_update_feature_flag y posthog_create_annotation. Las consultas nunca cambian datos, porque HogQL solo acepta SELECT. La IA ve y cambia exactamente lo que puede el usuario de la clave.
Desactivadas al instalar: posthog_delete_insight, posthog_delete_feature_flag y posthog_delete_annotation. PostHog nunca borra de forma definitiva a través de la API: estas herramientas marcan el insight, el flag o la anotación como eliminados, y se pueden restaurar en la app de PostHog. Un flag eliminado queda desactivado, así que el código que comprueba su clave recibe false.
Ids de proyecto: cada herramienta de proyecto recibe project_id, el número de la URL de PostHog (/project/12345/...), que también aparece en Settings → Project → General. También se acepta @current, pero significa el último proyecto que el usuario abrió en la app, y eso puede cambiar: mejor usa el número. posthog_list_organizations y posthog_list_projects listan los demás.
Consultas: posthog_run_hogql_query ejecuta una SELECT de HogQL (el SQL de PostHog) sobre events, persons, sessions y groups; las propiedades se leen como properties.$browser o person.properties.email. Filtra siempre por tiempo (por ejemplo WHERE timestamp >= now() - INTERVAL 7 DAY): los escaneos sin filtro son lentos y gastan el presupuesto de lectura. Sin LIMIT llegan 100 filas, con LIMIT hasta 50.000. OFFSET se rechaza, así que la IA pagina por timestamp o id. Las fechas se interpretan en la zona horaria del proyecto, no en UTC. Para tendencias, embudos, retención, stickiness, lifecycle y rutas está posthog_run_insight_query; los porcentajes de conversión y retención se calculan a partir de los valores count. El endpoint de consultas está pensado para análisis puntuales, no para exportaciones masivas.
Insights, dashboards y flags: posthog_get_insight devuelve por defecto el último resultado en caché; refresh blocking recalcula uno desactualizado. posthog_get_dashboard devuelve los paneles con sus insights. Los feature flags deciden lo que ven los usuarios reales: antes de crear o cambiar uno, la IA te muestra la clave del flag, active y el rollout y espera tu confirmación. Un flag nuevo es más seguro con active en false o un rollout de 0. Los cambios envían la version del flag de la última lectura, para no sobrescribir cambios de otros.
Paginación: las herramientas de listado aceptan limit y offset y devuelven count, next (null en la última página) y results. Las respuestas de más de 200 KB se recortan.
Límites de uso: se aplican por organización y los comparten todas las claves y usuarios. Las lecturas y escrituras normales permiten 480 peticiones por minuto y 4.800 por hora; los análisis como personas y cálculos de insights, 240 por minuto y 1.200 por hora. El endpoint de consultas permite 240 por minuto y 2.400 por hora, como máximo 3 consultas en curso por proyecto, y consume un presupuesto de lectura por hora y proyecto (menor en el plan gratuito). Por encima del límite PostHog responde 429; con el presupuesto agotado la respuesta dice api_queries_budget_exceeded, mientras que los resultados en caché siguen funcionando.
Errores frecuentes: 401 significa que la clave es incorrecta, se eliminó o es de la otra región cloud: revisa POSTHOG_HOST. 403 "API key missing required scope" indica el scope que falta (puedes cambiar los scopes de la clave más adelante); otros 403 significan que la clave está limitada a otros proyectos u organizaciones, o que la organización no permite claves de API personales a sus miembros. 404 "Project not found." es un project_id incorrecto o que el usuario no puede ver. 400 indica el campo no válido y, en HogQL, incluye el error del parser. 409 en un flag significa que su version está desactualizada: vuelve a leer el flag.
El conector no captura eventos ni fija propiedades de personas, no elimina personas, no lee grabaciones de sesión ni encuestas, no crea ni edita dashboards, cohortes y experimentos, y no gestiona batch exports, miembros ni facturación.
Paso 2 — Instalar el adapter
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
Paso 3 — Añadir el conector en ChatGPT
La URL de tu servidor: en AnythingMCP abre MCP Servers → el servidor donde está este conector y copia su URL (
https://cloud.anythingmcp.com/mcp/…). Úsala donde esta guía muestraYOUR_SERVER_ID.
ChatGPT se conecta a servidores MCP como apps personalizadas en modo desarrollador (Developer mode), disponible en los planes de pago, no en el gratuito. En los espacios Business y Enterprise puede que un administrador tenga que habilitarlo antes.
- En ChatGPT, abre Settings → Security and login y activa Developer mode.
- Ve a chatgpt.com/plugins y pulsa +.
- Escribe un nombre y una descripción breve, por ejemplo Name:
PostHog. - En Connection, introduce la URL del servidor MCP
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDy crea la conexión. - Cuando ChatGPT lo pida, inicia sesión en AnythingMCP (OAuth) y permite el acceso.
Herramientas disponibles
| 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… |
Ejemplos de prompts
- "¿Cuántos usuarios únicos visitaron cada día la página de precios la semana pasada, y con qué navegadores?"
- "¿Cuál fue en los últimos 30 días la tasa de conversión de nuestro embudo de registro, desde la visita a la página de precios hasta el checkout completado?"
- "¿Qué feature flags están activos ahora mismo, y con qué porcentaje de rollout?"
- "Añade una anotación con fecha de hoy en nuestro proyecto principal: lanzada la campaña de primavera."
FAQ
¿Funciona el plan gratuito de ChatGPT con conectores MCP personalizados? No. Las conexiones MCP personalizadas necesitan el modo desarrollador, que solo está en los planes de pago.
Siguientes pasos
¿Te ha sido útil esta guía?