Installation überspringen. In unter 2 Minuten einsatzbereit.
Starte eine kostenlose Testphase auf cloud.anythingmcp.com, füge PostHog mit einem Klick hinzu und richte deinen KI-Client (Claude, ChatGPT, Copilot oder Cursor) auf den erzeugten MCP-Endpoint. Kein Docker, kein git clone, keinerlei Entwicklungserfahrung nötig.
Zusammenfassung
Lass deine KI Fragen zur Produktanalyse aus PostHog beantworten: schreibgeschütztes SQL (HogQL) über Events und Personen ausführen, Trends, Funnels und Retention berechnen, gespeicherte Insights und Dashboards lesen, Personen, Kohorten, Annotationen und Experimente nachschlagen sowie Insights und Feature Flags verwalten. PostHog Cloud (US oder EU) oder selbst gehostet, mit einem persönlichen API-Key.
Frag einfach
Beispiel-Prompts für PostHog
Klick auf einen Prompt, um ihn zu kopieren. In Claude, ChatGPT, Cursor, Gemini, Copilot oder OpenClaw einfügen — und gegen diesen Connector laufen lassen.
Claude ist KI und kann Fehler machen. Bitte Antworten gegenprüfen.
💡 Keine Installation? Nutze cloud.anythingmcp.com direkt. Einloggen, Connectors → PostHog klicken, Zugangsdaten einfügen, MCP-API-Key erzeugen, fertig. Kein Docker, kein
git clone, kein lokaler Server.
PostHog + Meta Muse
Lass deine KI Fragen zur Produktanalyse aus PostHog beantworten: schreibgeschütztes SQL (HogQL) über Events und Personen ausführen, Trends, Funnels und Retention berechnen, gespeicherte Insights und Dashboards lesen, Personen, Kohorten, Annotationen und Experimente nachschlagen sowie Insights und Feature Flags verwalten. PostHog Cloud (US oder EU) oder selbst gehostet, mit einem persönlichen API-Key.
Voraussetzungen
Die vollständige Setup-Anleitung ist in den Connector eingebaut (im Store sichtbar, wenn du den Connector auswählst). Benötigte Umgebungsvariablen für diesen Connector:
POSTHOG_HOST, POSTHOG_PERSONAL_API_KEY
Schritt 1 — Zugangsdaten holen
- Öffne in 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) und klicke auf + Create a personal API key. - Gib dem Key ein Label (zum Beispiel „AnythingMCP“) und wähle den organization and project access: alle, eine Organisation oder bestimmte Projekte. Ein Key, der auf bestimmte Projekte beschränkt ist, kann keine Organisationen oder Projekte auflisten,
posthog_get_current_userfunktioniert aber trotzdem und nennt das aktuelle Projekt. - Wähle diese 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
- Kopiere den Key sofort: PostHog zeigt ihn nur einmal an. Er beginnt mit
phx_(ein Projekt-Token mitphc_funktioniert hier nicht). Trage ihn ohne das Wort Bearer inPOSTHOG_PERSONAL_API_KEYein. - Setze
POSTHOG_HOSTauf die Adresse, unter der du PostHog öffnest:https://us.posthog.comfür US Cloud,https://eu.posthog.comfür EU Cloud oder die Adresse deiner selbst gehosteten Instanz, ohne abschließenden Schrägstrich und ohne Pfad. Die Ingestion-Hostsus.i.posthog.comundeu.i.posthog.comwerden abgelehnt, und ein Key funktioniert nur in der Cloud-Region, in der er erstellt wurde. Dann installiere den Connector. - Beginne mit
posthog_get_current_user: Das Tool zeigt, zu welchem PostHog-Nutzer der Key gehört, das aktuelle Projekt und die Projekte der Organisation.
Nur lesen: Erstelle den Key nur mit den :read-Scopes und schalte posthog_create_insight, posthog_update_insight, posthog_create_feature_flag, posthog_update_feature_flag und posthog_create_annotation aus. Abfragen ändern nie Daten, denn HogQL akzeptiert nur SELECT. Die KI sieht und ändert genau das, was der Nutzer des Keys darf.
Bei der Installation ausgeschaltet: posthog_delete_insight, posthog_delete_feature_flag und posthog_delete_annotation. PostHog löscht über die API nie endgültig: Diese Tools markieren das Insight, das Flag oder die Annotation als gelöscht, und in der PostHog-App lässt es sich wiederherstellen. Ein gelöschtes Flag wird ausgeschaltet, Code, der seinen Key prüft, bekommt dann false.
Projekt-IDs: Jedes Projekt-Tool braucht project_id, die Zahl in der PostHog-URL (/project/12345/...), die auch unter Settings → Project → General steht. @current wird ebenfalls akzeptiert, bezeichnet aber das Projekt, das der Nutzer zuletzt in der App geöffnet hat, und das kann sich ändern: Nimm lieber die Zahl. posthog_list_organizations und posthog_list_projects listen die übrigen auf.
Abfragen: posthog_run_hogql_query führt ein HogQL-SELECT (das SQL von PostHog) über events, persons, sessions und groups aus; Properties liest man als properties.$browser oder person.properties.email. Filtere immer auf die Zeit (zum Beispiel WHERE timestamp >= now() - INTERVAL 7 DAY): Ungefilterte Scans sind langsam und verbrauchen das Lesebudget. Ohne LIMIT kommen 100 Zeilen zurück, mit LIMIT bis zu 50.000. OFFSET wird abgelehnt, deshalb blättert die KI über timestamp oder id. Datumsangaben gelten in der Zeitzone des Projekts, nicht in UTC. Für Trends, Funnels, Retention, Stickiness, Lifecycle und Pfade gibt es posthog_run_insight_query; Conversion- und Retention-Quoten werden aus den count-Werten berechnet. Der Query-Endpunkt ist für Ad-hoc-Analysen gedacht, nicht für Massenexporte.
Insights, Dashboards und Flags: posthog_get_insight liefert standardmäßig das zuletzt gecachte Ergebnis; refresh blocking berechnet ein veraltetes neu. posthog_get_dashboard liefert die Kacheln mit ihren Insights. Feature Flags bestimmen, was echte Nutzer sehen: Bevor die KI ein Flag anlegt oder ändert, zeigt sie dir den Flag-Key, active und den Rollout und wartet auf dein Ja. Ein neues Flag ist mit active false oder einem Rollout von 0 am sichersten. Änderungen schicken die version des Flags aus dem letzten Lesen mit, damit keine fremde Änderung überschrieben wird.
Paginierung: Listen-Tools nehmen limit und offset und liefern count, next (null auf der letzten Seite) und results. Antworten über 200 KB werden abgeschnitten.
Rate Limits: Sie gelten pro Organisation und werden von allen Keys und Nutzern geteilt. Normale Lese- und Schreibzugriffe erlauben 480 Anfragen pro Minute und 4.800 pro Stunde, Analysen wie Personen und Insight-Berechnungen 240 pro Minute und 1.200 pro Stunde. Der Query-Endpunkt erlaubt 240 pro Minute und 2.400 pro Stunde, höchstens 3 laufende Abfragen pro Projekt, und zehrt von einem stündlichen Lesebudget pro Projekt (im kostenlosen Plan kleiner). Über dem Limit antwortet PostHog mit 429; ist das Budget aufgebraucht, steht api_queries_budget_exceeded in der Antwort, gecachte Ergebnisse funktionieren aber weiter.
Häufige Fehler: 401 heißt, dass der Key falsch, gelöscht oder aus der anderen Cloud-Region ist: Prüfe POSTHOG_HOST. 403 „API key missing required scope“ nennt den fehlenden Scope (du kannst die Scopes des Keys später ändern); andere 403 bedeuten, dass der Key auf andere Projekte oder Organisationen beschränkt ist oder die Organisation persönliche API-Keys für Mitglieder nicht erlaubt. 404 „Project not found.“ ist eine falsche project_id oder eine, die der Nutzer nicht sehen kann. 400 nennt das ungültige Feld und enthält bei HogQL den Parser-Fehler. 409 bei einem Flag heißt, dass seine version veraltet ist: Lies das Flag neu.
Der Connector erfasst keine Events, setzt keine Person-Properties, löscht keine Personen, liest keine Session Replays oder Surveys, legt keine Dashboards, Kohorten und Experimente an und bearbeitet sie nicht und verwaltet keine Batch Exports, Mitglieder oder Abrechnung.
Schritt 2 — Adapter installieren
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
Schritt 3 — Connector in Muse hinzufügen
Deine Server-URL: Öffne in AnythingMCP MCP Servers → den Server, auf dem dieser Connector liegt, und kopiere seine URL (
https://cloud.anythingmcp.com/mcp/…). Setze sie überall ein, wo diese AnleitungYOUR_SERVER_IDzeigt.
Muse bindet Remote-MCP-Server als Custom Connectors ein und meldet sich per OAuth bei ihnen an.
- Öffne in Muse Settings → Connectors und wähle Add custom connector.
- Füge die MCP-Server-URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDein. - Muse öffnet die Anmeldeseite von AnythingMCP: Melde dich an und bestätige den Zugriff.
- Bitte Muse im Chat um etwas, wofür es die
PostHog-Tools braucht.
Du kannst den Connector auch per Chat einrichten, im Web, in den Apps für iOS und Android oder in WhatsApp. Schick Muse diese Nachricht:
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
Du hostest selbst? Nimm statt https://cloud.anythingmcp.com die öffentliche HTTPS-Adresse deiner Instanz. Muse verbindet sich aus der Cloud von Meta, localhost funktioniert deshalb nicht.
Verfügbare Tools
| 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… |
Beispiel-Prompts
- „Wie viele eindeutige Nutzer haben letzte Woche täglich unsere Preisseite besucht, und mit welchen Browsern?“
- „Wie hoch war in den letzten 30 Tagen die Conversion Rate unseres Signup-Funnels, vom Aufruf der Preisseite bis zum abgeschlossenen Checkout?“
- „Welche Feature Flags sind gerade aktiv, und mit welchem Rollout-Prozentsatz?“
- „Füge in unserem Hauptprojekt eine Annotation für heute hinzu: Frühjahrskampagne gestartet.“
FAQ
Wo ist Muse verfügbar? Meta bietet Muse derzeit in den USA und in Kanada an, im Web, in den Apps für iOS und Android und in WhatsApp.
Prüft Meta diesen Connector? Nein. Meta prüft Custom Connectors nicht. Muse sieht nur die Tools, die du in AnythingMCP für diesen MCP-Server eingeschaltet hast, und du kannst den Connector jederzeit unter Settings → Connectors trennen.
Nächste Schritte
War dieser Guide hilfreich?