posthog-mcp-server

posthog-mcp-server

Connects AI assistants to PostHog to query events, persons, insights, dashboards, feature flags, cohorts, and experiments through the Model Context Protocol.

Category
Visit Server

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

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured