About posthog-mcp-server
posthog-mcp-server lets AI assistants query PostHog product analytics data and manage access to insights about users, flags, cohorts, and experiments. It wraps PostHog's REST API with tools for event searches, dashboards, insights, and experiment results.
Key features
- 01Filter and query events
- 02Search persons and view profiles
- 03List dashboards and run saved insights
- 04List and evaluate feature flags
- 05Inspect cohorts and experiments
- 06Retrieve project information and actions
Use cases
- 01Review recent pageview events
- 02Check feature-flag values for a user
- 03Inspect experiment results and variants
- 04Find cohort sizes and dashboard insights
MCP support
Exposes PostHog REST API operations as tools for MCP clients, including event, person, dashboard, insight, flag, cohort, and experiment queries. Configuration uses a PostHog API key and can specify the instance host and default project.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEPostHog MCP Server
Connect AI assistants to PostHog — query events, persons, insights, dashboards, feature flags, cohorts, and experiments through the Model Context Protocol.
Works with Claude Desktop, Cursor, Windsurf, Cline, Continue, and any MCP-compatible client.
Features
| Tool | Description |
|---|---|
list_events | Query events with filters (event name, person, date range, properties) |
get_person | Get a person (user) by distinct_id — properties, creation date, event count |
list_persons | Search and list persons with pagination |
list_dashboards | List all dashboards — names, tags, widget counts |
get_dashboard | Get a specific dashboard with its insights and widgets |
execute_insight | Execute a saved insight (trend, funnel, etc.) and get results |
list_feature_flags | List all feature flags — key, active status, rollout percentage |
evaluate_feature_flag | Evaluate a flag for a specific user and get variant value |
list_cohorts | List cohorts — name, type (dynamic/static/SQL), person count |
list_experiments | List A/B tests — name, status, feature flag, dates |
get_experiment | Get experiment results with variant data and statistical significance |
list_actions | List custom event actions/definitions |
get_project_info | Get project name, ID, settings, and data region |
Quick Start
1. Get a PostHog API Key
Go to PostHog → Settings → Personal API Keys and create a key with read access.
Or visit: https://your-instance.posthog.com/settings/user-api-keys
2. Configure your MCP client
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"posthog": {
"command": "npx",
"args": ["-y", "posthog-mcp-server"],
"env": {
"POSTHOG_API_KEY": "phx_YOUR_API_KEY_HERE",
"POSTHOG_HOST": "https://us.i.posthog.com",
"POSTHOG_PROJECT": "YOUR_PROJECT_ID"
}
}
}
}
Cursor — add to MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"posthog": {
"command": "npx",
"args": ["-y", "posthog-mcp-server"],
"env": {
"POSTHOG_API_KEY": "phx_YOUR_API_KEY_HERE",
"POSTHOG_HOST": "https://us.i.posthog.com",
"POSTHOG_PROJECT": "YOUR_PROJECT_ID"
}
}
}
}
3. Run manually (for testing)
# Clone and build
git clone https://github.com/friendlygeorge/posthog-mcp-server.git
cd posthog-mcp-server
npm install
npm run build
# Run
POSTHOG_API_KEY=phx_... POSTHOG_PROJECT=12345 node dist/index.js
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
POSTHOG_API_KEY | ✅ | — | Your PostHog personal API key (phx_...) |
POSTHOG_HOST | ❌ | https://us.i.posthog.com | PostHog instance URL (use https://eu.i.posthog.com for EU) |
POSTHOG_PROJECT | ❌ | "" | Default project ID. If empty, must be specified per-call. |
Self-hosted PostHog
If you run PostHog on your own infrastructure, set POSTHOG_HOST to your instance URL:
POSTHOG_HOST=https://posthog.yourcompany.com
Example Queries
Once configured, ask your AI assistant:
- "Show me the last 20 pageview events"
- "Who are the most active users this week?"
- "What's the status of our signup conversion experiment?"
- "Is the new-checkout-flow feature flag enabled for user abc123?"
- "Show me all active dashboards"
- "Execute insight 42 and show me the trend"
- "List all feature flags that are currently active"
- "How many people are in the 'Power Users' cohort?"
API Reference
This server wraps the PostHog REST API (v1). Full documentation:
- PostHog API docs: https://posthog.com/docs/api
- MCP protocol: https://modelcontextprotocol.io
- PostHog: https://posthog.com
Development
npm install
npm run dev # Build and run
npm run build # Build only
npm start # Run built output
License
MIT © Nova
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.