In breve
Fai rispondere alla tua AI alle domande di product analytics con PostHog: esegui SQL in sola lettura (HogQL) su eventi e persone, calcola trend, funnel e retention, leggi insight e dashboard salvati, consulta persone, coorti, annotazioni ed esperimenti e gestisci insight e feature flag. PostHog Cloud (US o EU) o self-hosted, con una personal API key.
Configurazione guidata
Collega PostHog a Microsoft Copilot in 2 minuti
Avvia la prova gratuita su AnythingMCP Cloud, collega PostHog con la configurazione guidata e aggiungi il tuo URL MCP a Microsoft Copilot. Senza codice e senza server da gestire.
Nessuna carta di credito · 7 giorni di prova · Alternativa self-host disponibile
Prova a chiedere
Prompt di esempio per PostHog
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
💡 Niente installazione? Vai direttamente su cloud.anythingmcp.com. Accedi, clicca Connectors → PostHog, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
PostHog + Microsoft Copilot
Fai rispondere alla tua AI alle domande di product analytics con PostHog: esegui SQL in sola lettura (HogQL) su eventi e persone, calcola trend, funnel e retention, leggi insight e dashboard salvati, consulta persone, coorti, annotazioni ed esperimenti e gestisci insight e feature flag. PostHog Cloud (US o EU) o self-hosted, con una personal API key.
Prerequisiti
Le istruzioni di setup complete sono incluse nel connettore stesso (visibili nello store quando lo selezioni). Le variabili d'ambiente richieste sono:
POSTHOG_HOST, POSTHOG_PERSONAL_API_KEY
Step 1 — Ottieni le credenziali
- In PostHog apri 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) e clicca su + Create a personal API key. - Dai alla chiave un'etichetta (per esempio "AnythingMCP") e scegli l'organization and project access: tutto, una sola organizzazione o progetti specifici. Una chiave limitata a progetti specifici non può elencare organizzazioni o progetti, ma
posthog_get_current_userfunziona comunque e indica il progetto corrente. - Seleziona questi scope:
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 subito la chiave: PostHog la mostra una sola volta. Inizia con
phx_(un project token che inizia conphc_qui non funziona). Inseriscila inPOSTHOG_PERSONAL_API_KEY, senza la parola Bearer. - Imposta
POSTHOG_HOSTsull'indirizzo da cui apri PostHog:https://us.posthog.comper US Cloud,https://eu.posthog.comper EU Cloud o l'indirizzo della tua istanza self-hosted, senza slash finale né percorso. Gli host di ingestioneus.i.posthog.comeeu.i.posthog.comvengono rifiutati, e una chiave funziona solo nella regione cloud in cui è stata creata. Poi installa il connettore. - Comincia con
posthog_get_current_user: mostra a quale utente PostHog appartiene la chiave, il progetto corrente e i progetti dell'organizzazione.
Configurazione in sola lettura: crea la chiave solo con gli scope :read e disattiva posthog_create_insight, posthog_update_insight, posthog_create_feature_flag, posthog_update_feature_flag e posthog_create_annotation. Le query non modificano mai i dati, perché HogQL accetta solo SELECT. L'AI vede e modifica esattamente ciò che può l'utente della chiave.
Disattivati all'installazione: posthog_delete_insight, posthog_delete_feature_flag e posthog_delete_annotation. Tramite API PostHog non elimina mai definitivamente: questi strumenti segnano l'insight, il flag o l'annotazione come eliminati, e si possono ripristinare nell'app PostHog. Un flag eliminato viene spento, quindi il codice che ne controlla la chiave riceve false.
Id di progetto: ogni strumento di progetto richiede project_id, il numero nell'URL di PostHog (/project/12345/...), visibile anche in Settings → Project → General. È accettato anche @current, ma indica il progetto che l'utente ha aperto per ultimo nell'app, che può cambiare: meglio il numero. posthog_list_organizations e posthog_list_projects elencano gli altri.
Query: posthog_run_hogql_query esegue una SELECT HogQL (l'SQL di PostHog) su events, persons, sessions e groups; le proprietà si leggono come properties.$browser o person.properties.email. Filtra sempre sul tempo (per esempio WHERE timestamp >= now() - INTERVAL 7 DAY): le scansioni senza filtro sono lente e consumano il budget di lettura. Senza LIMIT arrivano 100 righe, con LIMIT fino a 50.000. OFFSET viene rifiutato, quindi l'AI pagina per timestamp o id. Le date vengono lette nel fuso orario del progetto, non in UTC. Per trend, funnel, retention, stickiness, lifecycle e percorsi c'è posthog_run_insight_query; le percentuali di conversione e retention si calcolano dai valori count. L'endpoint delle query è pensato per analisi ad hoc, non per esportazioni massive.
Insight, dashboard e flag: posthog_get_insight restituisce di default l'ultimo risultato in cache; refresh blocking ricalcola quello non aggiornato. posthog_get_dashboard restituisce i riquadri con i loro insight. I feature flag decidono cosa vedono gli utenti reali: prima di crearne o modificarne uno, l'AI ti mostra la chiave del flag, active e il rollout e aspetta il tuo sì. Un nuovo flag è più sicuro con active false o un rollout di 0. Le modifiche inviano la version del flag letta per ultima, così non si sovrascrivono le modifiche di altri.
Paginazione: gli strumenti di elenco accettano limit e offset e restituiscono count, next (null sull'ultima pagina) e results. Le risposte oltre 200 KB vengono troncate.
Limiti di frequenza: valgono per organizzazione e sono condivisi da tutte le chiavi e gli utenti. Letture e scritture normali consentono 480 richieste al minuto e 4.800 all'ora; le analisi come persone e calcoli degli insight 240 al minuto e 1.200 all'ora. L'endpoint delle query consente 240 richieste al minuto e 2.400 all'ora, al massimo 3 query in esecuzione per progetto, e attinge a un budget di lettura orario per progetto (più piccolo nel piano gratuito). Oltre il limite PostHog risponde 429; a budget esaurito la risposta contiene api_queries_budget_exceeded, mentre i risultati in cache continuano a funzionare.
Errori comuni: 401 significa che la chiave è sbagliata, eliminata o dell'altra regione cloud: controlla POSTHOG_HOST. 403 "API key missing required scope" indica lo scope da aggiungere (puoi modificare gli scope della chiave anche dopo); altri 403 significano che la chiave è limitata ad altri progetti o organizzazioni, o che l'organizzazione non consente le personal API key ai membri. 404 "Project not found." è un project_id sbagliato o non visibile all'utente. 400 indica il campo non valido e, per HogQL, riporta l'errore del parser. 409 su un flag significa che la sua version non è aggiornata: rileggi il flag.
Il connettore non acquisisce eventi né imposta proprietà delle persone, non elimina persone, non legge session replay o sondaggi, non crea né modifica dashboard, coorti ed esperimenti e non gestisce batch export, membri e fatturazione.
Step 2 — Installa l'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
Step 3 — Aggiungi il connettore in Microsoft Copilot
L'URL del tuo server: in AnythingMCP apri MCP Servers → il server su cui si trova questo connettore e copia il suo URL (
https://cloud.anythingmcp.com/mcp/…). Usalo ovunque questa guida mostraYOUR_SERVER_ID.
Microsoft Copilot usa i server MCP tramite gli agenti creati in Copilot Studio: aggiungi AnythingMCP a un agente come strumento, poi pubblichi l'agente in Microsoft 365 Copilot e in Teams. Copilot Studio si collega dal cloud di Microsoft via Streamable HTTP, che AnythingMCP supporta.
- In Copilot Studio apri il tuo agente (o creane uno), vai su Tools e scegli Add a tool → New tool → Model Context Protocol.
- Inserisci un Server name (per esempio
AnythingMCP), una Server description che dica cosa fa il connettore e il Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio usa la descrizione per decidere quando chiamare il server. - Come autenticazione scegli API key, imposta Type su Header e come nome dell'header
X-API-Key, poi seleziona Create. - In Add tool scegli Create a new connection, incolla una chiave API MCP di AnythingMCP (MCP Servers → il tuo server → API keys) e seleziona Add to agent.
- Provalo nel riquadro Test dell'agente: chiedi qualcosa che richiede i tool di
PostHog. - Seleziona Publish, poi Channels → Microsoft 365 and Microsoft Teams, lascia selezionato Make agent available in Microsoft Copilot e scegli Add channel. See agent in Teams lo installa per te; in Microsoft 365 Copilot scrivi @ e scegli l'agente.
Preferisci un accesso per ogni utente? Al posto della chiave API scegli OAuth 2.0 → Dynamic discovery: ogni persona accede ad AnythingMCP la prima volta che l'agente lo chiama.
Usi il self-hosting? Usa l'indirizzo HTTPS pubblico della tua istanza al posto di https://cloud.anythingmcp.com. Copilot Studio si collega dal cloud di Microsoft, quindi localhost non funziona.
Tool disponibili
| 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… |
Esempi di prompt
- "Quanti utenti unici hanno visitato ogni giorno la pagina dei prezzi la settimana scorsa, e con quali browser?"
- "Qual è stato negli ultimi 30 giorni il tasso di conversione del funnel di registrazione, dalla visita alla pagina dei prezzi al checkout completato?"
- "Quali feature flag sono attivi in questo momento, e con quale percentuale di rollout?"
- "Aggiungi un'annotazione con la data di oggi nel progetto principale: lanciata la campagna di primavera."
FAQ
Per quale Copilot vale? Per Microsoft 365 Copilot in azienda, tramite gli agenti di Copilot Studio. L'app Microsoft Copilot per account personali non permette di aggiungere un proprio server MCP.
Cosa mi serve? Un account di lavoro con accesso a Copilot Studio (licenza o prova) per creare l'agente. Chi lo usa in Microsoft 365 Copilot o in Teams deve avere accesso all'agente: condividilo, oppure chiedi a un amministratore di pubblicarlo per l'organizzazione. Se la tua organizzazione applica criteri sui dati ai connettori di Power Platform, valgono anche per i server MCP.
L'agente non chiama i tool. Controlla che il nome dell'header sia esattamente X-API-Key e che la chiave appartenga allo stesso server MCP dell'URL, e scrivi una Server description precisa: Copilot Studio la usa per decidere quando chiamare il server. Dopo ogni modifica pubblica di nuovo l'agente; in una chat già aperta scrivi "start over" per passare alla nuova versione.
Prossimi passi
- Landing del connettore
- Collegare a Claude
- Collegare a ChatGPT
- Collegare a Cursor
- Collegare a Gemini
- Collegare a Meta Muse
Questa guida ti è stata utile?