
PostHog
Generally AvailableOnce OAuth2 authorization is granted, an AI agent can run analytics queries, review session replays, and manage feature flags to investigate product behavior.
- Product Analytics
- Session Replay
- Feature Flags
- Authentication
- OAuth 2.0
- Authorization
- Enterprise-managed
- Hosting
- Vendor-hosted endpoint
- Required scopes
- 115
How it works
Every agent request passes through Ferentin policy before it reaches PostHog.
- AI agentAsks for something
- Ferentin policies
- OAuth 2.0 consent
- Granular scope selection
- Audit logging
- PostHog MCP serverAuthorized connection
- Governed resultMasked, logged, returned
What agents can do
114 tools · you choose which ones agents may callSearch and browse what exists, without opening the content itself.
- List tracing attribute values
- List tracing span attributes
- List tracing service names
- List all cohorts
- List dashboard widget catalog
- Search documentation
- List error tracking alerts
- Get all experiments
- List shared experiment metrics
- List heatmap interactions for a page
- List saved heatmaps
- Query insight
- Get all insights
- List clustering jobs
- List evaluations
- List evaluation report configs
- List prompts
- List review queue items
- List taggers
- List trace reviews
- List alert events
- List log alerts
- List log attribute values
- List log attributes
- Query logs sparkline
- List persons
- Query tracing spans
- Query error tracking issue
- Query error tracking issue events
- Query error tracking issues list
- Get LLM trace
- Query logs
- List scheduled changes for feature flags
- List session recording playlists
- List session summaries
- List individual survey responses with resolved question text.
- List usage metrics
Permissions requested
The OAuth 2.0 scopes PostHog asks you to approve when you connect.
| Scope | Access |
|---|---|
| action:read | Read |
| action:write | Elevated |
| account:read | Read |
| account:write | Elevated |
| activity_log:read | Read |
| agents:read | Read |
| agents:write | Elevated |
| alert:read | Read |
| alert:write | Elevated |
| annotation:read | Read |
| annotation:write | Elevated |
| approvals:read | Read |
| batch_export:read | Read |
| batch_export:write | Elevated |
| business_knowledge:read | Read |
| business_knowledge:write | Elevated |
| cohort:read | Read |
| cohort:write | Elevated |
| comment:read | Read |
| dashboard:read | Read |
| dashboard:write | Elevated |
| early_access_feature:read | Read |
| early_access_feature:write | Elevated |
| endpoint:read | Read |
| endpoint:write | Elevated |
| engineering_analytics:read | Read |
| error_tracking:read | Read |
| error_tracking:write | Elevated |
| evaluation:read | Read |
| evaluation:write | Elevated |
| event_definition:read | Read |
| event_definition:write | Elevated |
| experiment:read | Read |
| experiment:write | Elevated |
| experiment_holdout:read | Read |
| experiment_holdout:write | Elevated |
| experiment_saved_metric:read | Read |
| experiment_saved_metric:write | Elevated |
| external_data_source:read | Read |
| external_data_source:write | Elevated |
| feature_flag:read | Read |
| feature_flag:write | Elevated |
| file_system:read | Read |
| file_system:write | Elevated |
| group:read | Read |
| health_issue:read | Read |
| heatmap:read | Read |
| heatmap:write | Elevated |
| hog_flow:read | Read |
| hog_flow:write | Elevated |
| hog_function:read | Read |
| hog_function:write | Elevated |
| insight:read | Read |
| insight:write | Elevated |
| insight_variable:write | Elevated |
| integration:read | Read |
| integration:write | Elevated |
| llm_analytics:read | Read |
| llm_analytics:write | Elevated |
| llm_prompt:read | Read |
| llm_prompt:write | Elevated |
| llm_provider_key:read | Read |
| llm_skill:read | Read |
| llm_skill:write | Elevated |
| logs:read | Read |
| logs:write | Elevated |
| marketing_analytics:read | Read |
| mcp_analytics:read | Read |
| mcp_analytics:write | Elevated |
| metrics:read | Read |
| notebook:read | Read |
| notebook:write | Elevated |
| organization:read | Read |
| organization:write | Elevated |
| organization_member:read | Read |
| person:read | Read |
| person:write | Elevated |
| project:read | Read |
| project:write | Elevated |
| property_definition:read | Read |
| query:read | Read |
| replay_scanner:read | Read |
| replay_scanner:write | Elevated |
| session_recording:read | Read |
| session_recording:write | Elevated |
| session_recording_playlist:read | Read |
| session_recording_playlist:write | Elevated |
| signal_scout:read | Read |
| signal_scout:write | Elevated |
| subscription:read | Read |
| subscription:write | Elevated |
| survey:read | Read |
| survey:write | Elevated |
| tagger:read | Read |
| tagger:write | Elevated |
| ticket:read | Read |
| ticket:write | Elevated |
| task:read | Read |
| task:write | Elevated |
| tracing:read | Read |
| field_note:read | Read |
| field_note:write | Elevated |
| usage_metric:read | Read |
| usage_metric:write | Elevated |
| user:read | Read |
| user:write | Elevated |
| user_interview:read | Read |
| user_interview:write | Elevated |
| visual_review:read | Read |
| visual_review:write | Elevated |
| warehouse_table:read | Read |
| warehouse_table:write | Elevated |
| warehouse_view:read | Read |
| warehouse_view:write | Elevated |
| web_analytics:read | Read |
Before you connect
- 27 tools across 7 categories: Insights (HogQL queries), Dashboards, Feature Flags, Experiments (A/B tests), Error Tracking, SQL/Query, and Documentation search.
- Two authentication modes: OAuth2 (user mode, interactive per-user consent via oauth.posthog.com with dynamic client registration + PKCE S256 + refresh tokens) and Personal API Key (agent mode, Bearer).
- Scopes are resolved per tool from the granted scopes; the 'MCP Server' Personal API Key preset grants the right set, and the OAuth consent screen requests the equivalent scopes.
- Self-hosted PostHog instances set a different base URL; this card targets PostHog Cloud (mcp.posthog.com / oauth.posthog.com).
2 more technical notes
- The tool catalog populates on first live connection (tools/list against the upstream).
- Upstream tool filtering: append '?features=...' and/or '?tools=...' to the MCP Server URL (see URL options) to limit which tools PostHog exposes. This is enforced by PostHog before tools/list; Ferentin's own MCP policy and PENDING_REVIEW drift gate still apply on top.
About PostHog
PostHog is an all-in-one product analytics platform combining event analytics, session replay, feature flags, and experimentation.
Frequently asked about PostHog
- What can AI agents do with PostHog through Ferentin?
- Ferentin exposes 114 PostHog MCP tools to your AI agents, grouped as Discover (37 tools), Access (48 tools) and Manage (8 tools). Every call is checked against your Ferentin policies before it reaches PostHog.
- How is PostHog access secured?
- Requests through the PostHog integration are covered by OAuth 2.0 consent, granular scope selection and audit logging. These controls are applied by Ferentin, not by PostHog, so they hold across every connected agent.
- What permissions does the PostHog integration require?
- The PostHog integration requests 115 OAuth 2.0 scopes: action:read (read access); action:write (elevated access); account:read (read access); account:write (elevated access); activity_log:read (read access); agents:read (read access); agents:write (elevated access); alert:read (read access); alert:write (elevated access); annotation:read (read access); annotation:write (elevated access); approvals:read (read access); batch_export:read (read access); batch_export:write (elevated access); business_knowledge:read (read access); business_knowledge:write (elevated access); cohort:read (read access); cohort:write (elevated access); comment:read (read access); dashboard:read (read access); dashboard:write (elevated access); early_access_feature:read (read access); early_access_feature:write (elevated access); endpoint:read (read access); endpoint:write (elevated access); engineering_analytics:read (read access); error_tracking:read (read access); error_tracking:write (elevated access); evaluation:read (read access); evaluation:write (elevated access); event_definition:read (read access); event_definition:write (elevated access); experiment:read (read access); experiment:write (elevated access); experiment_holdout:read (read access); experiment_holdout:write (elevated access); experiment_saved_metric:read (read access); experiment_saved_metric:write (elevated access); external_data_source:read (read access); external_data_source:write (elevated access); feature_flag:read (read access); feature_flag:write (elevated access); file_system:read (read access); file_system:write (elevated access); group:read (read access); health_issue:read (read access); heatmap:read (read access); heatmap:write (elevated access); hog_flow:read (read access); hog_flow:write (elevated access); hog_function:read (read access); hog_function:write (elevated access); insight:read (read access); insight:write (elevated access); insight_variable:write (elevated access); integration:read (read access); integration:write (elevated access); llm_analytics:read (read access); llm_analytics:write (elevated access); llm_prompt:read (read access); llm_prompt:write (elevated access); llm_provider_key:read (read access); llm_skill:read (read access); llm_skill:write (elevated access); logs:read (read access); logs:write (elevated access); marketing_analytics:read (read access); mcp_analytics:read (read access); mcp_analytics:write (elevated access); metrics:read (read access); notebook:read (read access); notebook:write (elevated access); organization:read (read access); organization:write (elevated access); organization_member:read (read access); person:read (read access); person:write (elevated access); project:read (read access); project:write (elevated access); property_definition:read (read access); query:read (read access); replay_scanner:read (read access); replay_scanner:write (elevated access); session_recording:read (read access); session_recording:write (elevated access); session_recording_playlist:read (read access); session_recording_playlist:write (elevated access); signal_scout:read (read access); signal_scout:write (elevated access); subscription:read (read access); subscription:write (elevated access); survey:read (read access); survey:write (elevated access); tagger:read (read access); tagger:write (elevated access); ticket:read (read access); ticket:write (elevated access); task:read (read access); task:write (elevated access); tracing:read (read access); field_note:read (read access); field_note:write (elevated access); usage_metric:read (read access); usage_metric:write (elevated access); user:read (read access); user:write (elevated access); user_interview:read (read access); user_interview:write (elevated access); visual_review:read (read access); visual_review:write (elevated access); warehouse_table:read (read access); warehouse_table:write (elevated access); warehouse_view:read (read access); warehouse_view:write (elevated access); web_analytics:read (read access)
- How do I connect PostHog to Ferentin?
- Open the Ferentin admin console, add PostHog as a new connection and authenticate with OAuth 2.0. You then choose which permissions and which tools your agents may use, and the connection goes live for everyone covered by your policies.
- Is the PostHog integration generally available?
- Yes. The PostHog integration is generally available on Ferentin, including the free tier.
Related integrations
3
Amplitude
Query product usage, funnels, and behavioral cohorts so agents can surface adoption and retention insights on demand.

Mixpanel
Analyze events, funnels, and retention across your product so agents can answer engagement questions conversationally.

Statsig
Run experiments, manage feature flags, and read product metrics so agents can drive and evaluate feature rollouts.