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 + Meta Muse
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 Muse
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.
Muse añade los servidores MCP remotos como conectores personalizados e inicia sesión en ellos con OAuth.
- En Muse, abre Settings → Connectors y elige Add custom connector.
- Pega la URL del servidor MCP
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. - Muse abre la página de inicio de sesión de AnythingMCP: inicia sesión y aprueba el acceso.
- En un chat, pídele a Muse algo que necesite las herramientas de
PostHog.
También puedes configurarlo desde un chat, en la web, en las apps de iOS y Android o en WhatsApp. Envía a Muse este mensaje:
Create a Custom Connector for a new remote MCP server, then connect to it:
Name: AnythingMCP
Transport: remote streamable HTTP
URL: https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID
Auth: OAuth
¿Lo alojas tú mismo? Usa la dirección HTTPS pública de tu instancia en lugar de https://cloud.anythingmcp.com. Muse se conecta desde la nube de Meta, así que localhost no funciona.
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
¿Dónde está disponible Muse? Por ahora Meta ofrece Muse en Estados Unidos y Canadá, en la web, en las apps de iOS y Android y en WhatsApp.
¿Meta revisa este conector? No. Meta no revisa los conectores personalizados. Muse solo ve las herramientas que activaste para este servidor MCP en AnythingMCP, y puedes desconectarlo cuando quieras en Settings → Connectors.
Siguientes pasos
¿Te ha sido útil esta guía?