Master Your Data with PostHog MCP Server Insights

Stuart Brameld, Founder at Growth Method

Article written by

Stuart Brameld


You know that feeling when you need to dig into your analytics data but switching between tabs and clicking through dashboards feels like running through mud? PostHog's MCP (Model Context Protocol) server changes that game completely.

Think of it this way: instead of being a human clicking buttons, you get to ask questions in plain English and get real answers. "How many visitors did we have last month?" "Which pages are people bouncing from?" "Show me our mobile vs desktop split." The MCP server handles the heavy lifting.

Why build your own PostHog MCP server?

PostHog already has a first-party MCP server running at https://mcp.posthog.com/sse. But here's the catch - if you're on PostHog EU cloud, you can't use it. You'll need to run it locally or host it yourself.

Sure, you could run it on your laptop. Or you could spend 5 minutes deploying it to Cloudflare and give your whole team access to a remote MCP server that just works.

What can this thing actually do?

The PostHog MCP server comes packed with 27 different tools across 7 categories. Let me break down what you're getting:

Feature flags (5 tools)

Tool Name

Description

Parameters

feature-flag-get-definition

Get the definition of a feature flag by ID or key

flagId (optional), flagKey (optional)

feature-flag-get-all

Get all feature flags in the project

None

create-feature-flag

Creates a new feature flag with guidance for codebase integration

name, key, description, filters, active, tags (optional)

update-feature-flag

Update feature flag properties (enable/disable, modify filters)

flagKey, data (name, description, filters, active, tags)

delete-feature-flag

Delete a feature flag from the project

flagKey

Insights (6 tools)

Tool Name

Description

Parameters

insights-get-all

List all insights with optional filtering by saved/favourited status

data (limit, offset, saved, favourited, search - all optional)

insight-get

Get a specific insight by ID

insightId (number)

insight-create-from-query

Save a HogQL query as an insight (DataVisualizationNode format)

data (name, query, description, saved, favourited, tags)

insight-update

Update existing insight properties

insightId, data (name, description, filters, query, saved, favourited, dashboard, tags)

insight-delete

Soft delete an insight

insightId (number)

get-sql-insight

Query data warehouse with natural language, returns SQL and results

query (natural language string, max 1000 chars)

Dashboards (6 tools)

Tool Name

Description

Parameters

dashboards-get-all

List all dashboards with optional filtering

data (limit, offset, search, pinned - all optional)

dashboard-get

Get a specific dashboard by ID

dashboardId (number)

dashboard-create

Create a new dashboard

data (name required, description, pinned, tags optional)

dashboard-update

Update dashboard properties

dashboardId, data (name, description, pinned, tags)

dashboard-delete

Soft delete a dashboard

dashboardId (number)

add-insight-to-dashboard

Add an existing insight to a dashboard

data (insightId, dashboardId - both required)

Organisations (3 tools)

Tool Name

Description

Parameters

organizations-get

Get all organisations the user has access to

None

organization-set-active

Set the active organisation context

orgId (UUID)

organization-details-get

Get details of the active organisation

None

Projects (3 tools)

Tool Name

Description

Parameters

projects-get

List all projects user has access to (use before other tools)

None

project-set-active

Set the active project context

projectId (positive integer)

property-definitions

Get property definitions for the active project

None

Error tracking (2 tools)

Tool Name

Description

Parameters

list-errors

List errors in the project with filtering options

orderBy, dateFrom, dateTo, orderDirection, filterTestAccounts, status

error-details

Get detailed information about a specific error

issueId (UUID), dateFrom (optional), dateTo (optional)

Documentation (1 tool)

Tool Name

Description

Parameters

docs-search

Search PostHog documentation (fallback when other tools can't help)

query (string)

LLM observability (1 tool)

Tool Name

Description

Parameters

get-llm-total-costs-for-project

Get LLM usage costs by model over time, formatted as markdown table

projectId (positive integer), days (optional, defaults to 7)

Deploying on Cloudflare Workers

Cloudflare makes this stupidly easy. During their MCP Demo Day, companies like Atlassian, Asana, Webflow, Linear, Sentry, PayPal, Stripe, and Intercom all built their MCP servers on Cloudflare. There's a reason for that.

Here's the step-by-step (and yes, it really is this simple):

  • Create a Cloudflare account if you don't have one

  • Click this magic deploy link: https://deploy.workers.cloudflare.com/?url=https://github.com/PostHog/mcp

  • Connect your Git account when prompted

  • Give your project a name like 'posthog-mcp'

  • Click 'Create and deploy'

  • Add your environment variable: Go to Settings → Variables and Secrets, then add: POSTHOG_BASE_URL=https://eu.posthog.com

That's it. You now have your own PostHog MCP server running in the cloud.

For the full details on remote MCP servers, check out Cloudflare's guide. And if you need more info on environment variables, they've got you covered.

What's this going to cost me?

Probably nothing. Cloudflare's free plan gives you 100,000 requests per day or 1,000 requests per minute. Unless you're planning to interrogate your data every few seconds, you're good.

Check out their pricing page if you want the full breakdown, but for most teams, free is plenty.

Connecting to your PostHog MCP server

Once your worker is deployed, you'll get a URL like 'https://posthog-mcp.xxxxxx-xxx.workers.dev'. Plug that into any MCP client:

Want more options? PulseMCP has a huge list of clients.

Quick note on auth: PostHog doesn't have OAuth support yet, but you can create an API key easily. Just go to your user API keys page and use the 'MCP Server' preset. It gives you read access to everything and write access to feature flags.

Additional notes

PostHog keeps their OpenAPI schema up to date, but it doesn't cover every endpoint (like the MaxAI tools). The MCP tools aren't exposed via OpenAPI either - you explore them through the standard MCP endpoint.

If you need current Cloudflare docs, they run their own documentation server at https://docs.mcp.cloudflare.com/sse that any MCP client can access in real-time.

Getting started: questions to ask

Once you're connected, start having conversations with your data:

  • How many website visitors have we had in the last 28 days?

  • How has our bounce rate been trending over the last 6 months?

  • The opposite of bounce rate is engagement rate, show me overall website engagement rate for the last 28 days

  • Which pages have the lowest engagement rate based on data for the last 28 days?

  • What was the split of traffic between desktop, tablet and mobile last month?

  • In the last 28 days which pages have users experienced the most frustration on? Show rage clicks, dead clicks and errors

  • Which were our most popular landing pages last month?

  • Show me a breakdown of our top referring domains by total sessions

  • What was the average number of page views per session last month?

  • Give me a breakdown of the top 5 countries visitors are coming from with a % of the total for each one

  • What % of users performed the 'clicked get started' action last month? Was this more or less than the previous month?

  • According to web vitals (INP, LCP, FCP, CLS) which of our website pages need attention right now?

PostHog MCP Server in action

Resources

The best part? You're not just getting answers - you're having actual conversations with your data. No more hunting through dashboards or waiting for someone else to run reports. Just ask what you want to know, and get answers that help you make better decisions.

"We are on-track to deliver a 43% increase in inbound leads this year. There is no doubt the adoption of Growth Method is the primary driver behind these results."

Laura Perrott, Colt Technology Services

Growth Method is the GrowthOS built for marketing teams focused on pipeline — not projects. Book a call at https://cal.com/stuartb/30min.


Stuart Brameld, Founder at Growth Method
Stuart Brameld, Founder at Growth Method
Stuart Brameld, Founder at Growth Method

Article written by

Stuart Brameld

Category:

Acquisition Channels

Real experiments. Shared monthly.

Join 500+ growth professionals