mcpField
P
posthog-mcp-server

posthog-mcp-server

Local
github.com/friendlygeorgeData & Analytics0Updated 21w ago

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

  1. 01Filter and query events
  2. 02Search persons and view profiles
  3. 03List dashboards and run saved insights
  4. 04List and evaluate feature flags
  5. 05Inspect cohorts and experiments
  6. 06Retrieve project information and actions

Use cases

  1. 01Review recent pageview events
  2. 02Check feature-flag values for a user
  3. 03Inspect experiment results and variants
  4. 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.

mcp.json · Universal config
{
"mcpServers": {
"friendlygeorge-posthog": {
"command": "npx",
"args": [
"-y",
"posthog-mcp-server"
]
}
}
}
Run commandnpx -y posthog-mcp-server

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmposthog-mcp-server1.0.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

PostHog 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

ToolDescription
list_eventsQuery events with filters (event name, person, date range, properties)
get_personGet a person (user) by distinct_id — properties, creation date, event count
list_personsSearch and list persons with pagination
list_dashboardsList all dashboards — names, tags, widget counts
get_dashboardGet a specific dashboard with its insights and widgets
execute_insightExecute a saved insight (trend, funnel, etc.) and get results
list_feature_flagsList all feature flags — key, active status, rollout percentage
evaluate_feature_flagEvaluate a flag for a specific user and get variant value
list_cohortsList cohorts — name, type (dynamic/static/SQL), person count
list_experimentsList A/B tests — name, status, feature flag, dates
get_experimentGet experiment results with variant data and statistical significance
list_actionsList custom event actions/definitions
get_project_infoGet 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

VariableRequiredDefaultDescription
POSTHOG_API_KEY✅—Your PostHog personal API key (phx_...)
POSTHOG_HOST❌https://us.i.posthog.comPostHog 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:

Development

npm install
npm run dev     # Build and run
npm run build   # Build only
npm start       # Run built output

License

MIT © Nova

Comments

Markdown supported

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.