NewAgent Observability is live.
Back to directory
PostHog logo

PostHog MCP server: 899 tools, and how to scope them

The largest documented tool list in this guide, the query parameter that makes it usable, and what the free hosted endpoint costs.

Connector
Official, hosted, free
Coverage
Analytics, flags, experiments, errors, replay, warehouse, surveys
Tools
899 documented, in 69 categories
Biggest risk for an agent
Loading everything is not possible; a session must be scoped

Last verified 1 September 2026 · from PostHog's own MCP documentation and the GitHub record for its repositories

This page is one of 90 in a directory of monitoring and developer tools. Each page checks what an AI coding agent can get out of the tool through its MCP server, the connector that lets the agent query the tool directly.

Summary

The PostHog MCP server is hosted and free, at mcp.posthog.com/mcp, and it documents by far the largest tool list in this guide. Its tools reference renders 899 distinct tool names across 69 categories.

On that reading the page's own category counts summed to 899, matching the distinct names it listed exactly.

No agent loads that list. PostHog's answer is a tools query parameter that scopes a session to a named subset. The documentation states that tool names are stable, so you can rely on them in that parameter.

What is the PostHog MCP server?

It is PostHog's server for the Model Context Protocol. PostHog covers product analytics, feature flags, experiments, error tracking, session replay, surveys and a data warehouse, and the tool list follows all of it.

The categories give the shape better than the total. AI observability carries 81 tools, customer analytics 65, signals 60, experiments 39, workflows 30 and replay vision 29.

319 of the 899 names are shaped for writing. They contain create, update, delete, destroy, launch, stop, archive, merge or split, and 66 of those are deletions.

PostHog has one live MCP server and one archived repository:

ServerToolsState
Hosted MCP · mcp.posthog.com/mcp899 documentedThe real connector. Free, browser sign-in, region chosen from the account
PostHog/mcp on GitHubNot counted hereArchived 19 January 2026 after the code moved into the PostHog monorepo. 151 stars

The archived repository is still what a search for the package name finds. The living code is in the monorepo under services/mcp, and the endpoint above is what clients connect to.

It is strongest in production observability and reaches agent observability and AI cost through its own analytics products.

Part of the workWhat PostHog has hereCan an agent reach it
Code, tests & reviewNoneNothing for code or review. Errors reference releases, not diffs
CI & releaseFeature flags, experimentsPartial. Flags and experiments gate a release; nothing runs or reads a pipeline
Production observabilityError tracking, logs, session replay, product analyticsYes. Core strength. Errors, logs, replays and analytics queries are all reachable as tools
Agent observability & evalsLLM analytics, traces, datasets, evaluationsYes, through the AI observability category, which the documentation counts at 81 tools
AI cost managementModel cost per projectPartial. get-llm-total-costs-for-project returns daily cost by model; there is no cloud or vendor billing surface

For an agent, PostHog is the widest single connector in this guide, and the width is the problem rather than the point. It answers questions about users, errors, flags and model spend. Deciding which of the 69 categories a session needs is the work that makes it usable.

What can an AI agent do with PostHog?

TaskToolsWorksWatch out for
Triage the week's errorsquery-error-tracking-issues-list query-error-tracking-issue query-error-tracking-issue-eventsYesIssues and their events are separate tools
Ship a flag from a promptcreate-feature-flag feature-flag-get-all feature-flag-get-definitionYesdelete-feature-flag sits in the same category
Run an analytics questionquery-funnel query-lifecycle insight-queryYesQuery tools are per analysis type rather than one general endpoint
Check what models costget-llm-total-costs-for-projectYesDaily cost per model for a project, over a number of days you pass
Look something up in the documentationdocs-searchYesIt searches PostHog's documentation, not your project
Manage an experimentexperiment-create experiment-archive experiment-calculate-running-timeYesexperiment-create-from-prompt is one of the tools that uses a model internally
Work with session replayssession-recording-get session-recording-playlists-list session-recording-deleteYesDeletion tools sit beside the reading ones in the same category

Every row above is reachable only if its category is in the session's scope. The tools query parameter is what puts it there, and PostHog states that tool names are stable so a scope can be written once.

899 distinct tool names documented across 69 categories; the page's own counts sum to 899

Errors3
query-error-tracking-issues-listquery-error-tracking-issuequery-error-tracking-issue-events
Analytics queries4
query-funnelquery-lifecyclequery-funnel-actorsinsight-query
Insights and dashboards4
insight-getinsights-listdashboard-getdashboards-get-all
Flags3
feature-flag-get-allfeature-flag-get-definitionfeature-flags-status-retrieve
Experiments3
experiment-get-allexperiment-activityexperiment-calculate-running-time
Model analytics3
get-llm-total-costs-for-projectllma-clustering-job-listllma-dataset-list
Replay2
session-recording-getsession-recording-playlists-list
Documentation1
docs-search
Changing things5Write
create-feature-flagdelete-feature-flagexperiment-archivesession-recording-deletesurvey-launch

Groups are a reader's map of a 69-category list, not the server's own grouping. Counts come from PostHog's tools reference, read 28 August 2026; the hosted endpoint answers tools/list only after authenticating.

What connecting costs before the first question

A context window is the amount of text a model can hold at once. 899 tools is the largest documented surface in this guide, about three and a half times the next largest, and connecting to all of them costs 38,690 to 51,946 tokens on Claude. That is a quarter of a 200,000-token window spent before the agent has asked anything. The count comes from PostHog's published reference; the largest surface captured from a live tools/list here is Rootly, at 252.

The descriptions are what keep it from being worse. PostHog writes one terse line per tool, often three words, so 899 definitions cost about what a hundred verbose ones would. Scoping the session with the tools parameter is still the whole job.

Tool setToolsTokens (GPT-5.6, GPT-5.5)Tokens (GPT-4, GPT-3.5)Tokens (Claude Haiku 4.5 to Opus 5)Share of a 200,000-token window
Every tool documented89914,409 to 23,27914,281 to 23,15138,690 to 51,9467.1% to 26.0%

Encodings: GPT-5.6, GPT-5.5 o200k_base; GPT-4, GPT-3.5 cl100k_base; Claude Haiku 4.5 to Opus 5 count_tokens. Counted from the 899 tool entries in the vendor's own documentation, read on 28 August 2026. That is the only public inventory. The reference renders through JavaScript, so the count could not be re-taken on 1 September 2026 and stands with its own date.

The server could not be run for a live tools/list. So no input schemas are available. These figures cover each tool's name and description only. They are a floor, not the figure.

The Claude columns are measured through the API's count_tokens endpoint, with an empty schema per tool. So they cover the same content as the GPT columns. The range there is two tokenizer generations. Haiku 4.5 and Opus 4.6 sit at the low end. Opus 5 and Sonnet 5 sit at the high end. The gap between them is about a third.

Can PostHog watch your own AI agents?

PostHog counts 81 tools in its AI observability category alone, so this table asks which agent signals those actually cover. Read from PostHog's own tools reference on 28 August 2026.

SignalCoveredNotes
Trace and session trackingYesapm-trace-get and the apm-spans-tree family reach traces and their spans
Eval scores on recorded trafficPartialllma-trace-review-create records a review. The clustering job tools group traffic rather than scoring it
Prompt version trackingPartialNo tool names a prompt version, but seven llma-prompt-* tools cover creation, listing, updating and labelling
Offline experimentsYesThe llma-dataset-create and llma-dataset-item-create family covers datasets and their items
Token and cost trackingYesget-llm-total-costs-for-project returns daily cost for each model over a period

PostHog MCP server limits: where answers come back incomplete

Every limit below follows from a documented surface more than three times the size of any other here.

The agent says: PostHog does not support that. It may be outside the session's scope.

899 distinct tool names are documented across 69 categories, and no client holds all of them. A scoped session sees only what its tools parameter named.

To the agent, a tool outside the scope and a capability that does not exist look identical.

Guard: Write the scope explicitly and have the agent state which tools the session carries before reporting a capability as missing.

The agent says: There are no error-tracking rules. There are twenty tools with similar names.

Error tracking alone documents alert, assignment, bypass, grouping and suppression rule tools, each with their own list and create variants. Names differ by one word.

Guard: Require the agent to name the exact tool it called alongside any answer.

The agent says: I have cleaned that up. Sixty-six of the names delete.

319 of the 899 documented names create, update or delete, and 66 of those delete or destroy a resource. They appear in the same categories as the tools that read it.

Guard: Scope the session to reading tools by name when the task is investigation rather than change.

How to configure PostHog MCP for agents

  1. 1

    Scope the session

    The tools query parameter narrows a connection to a named subset, and with 899 documented names that is not optional.

  2. 2

    Decide about AI data processing

    Some tools use models internally and are only available when AI data processing is enabled in the organization settings.

  3. 3

    Expect model usage to be billed

    Connecting and calling tools is free, and PostHog states that the tools using models internally may be billed as PostHog AI spend.

  4. 4

    Let the region follow the account

    PostHog's authentication server routes to the US or EU region based on the account signing in, so the endpoint is the same either way.

Paste this into your agent’s instructions

With 899 documented names, an agent that cannot find a capability may simply be outside the session's scope. The block makes that distinction visible.

Terminal
When you answer using PostHog MCP tools, state:
- The project the answer covers.
- The tool you called. Many names differ by one word across
  69 categories and return different resources.
- Whether a capability was missing because the session's
  tools scope excludes it, rather than because it does not exist.
Never state that data does not exist. State that no results
were returned for the project and tool above.
Write your answer in ASD-STE100 Simplified Technical
English. Use short sentences with one idea in each.

Do you need the MCP server at all?

Not for one known query. PostHog has a documented API, and calling it directly costs nothing in context.

The connector earns its place on breadth an API does not organize. An agent can move from an error to the flag that caused it to the replay that shows it, inside one session.

For a narrower question, a narrower connector is usually the better answer. Nothing else here documents 899 tools, and that width is a cost as much as a capability.

Connect a scoped session for cross-product investigation. Call the API for a single known query.

PostHog MCP server setup

The server is hosted and free to connect to. The fastest route is PostHog's own wizard, which writes the configuration for seven clients.

Sign-in happens in a browser, and PostHog's authentication server sends the session to the US or EU region based on the account.

PostHog wizard

One command configures PostHog Desktop, Cursor, Claude Code, Claude Desktop, Codex, VS Code and Zed. Authorization happens in a browser.

Terminal
npx @posthog/wizard mcp add

Claude Code

Adding the endpoint directly works too. The browser handles sign-in, so no credential is stored here.

Terminal
claude mcp add --transport http posthog \
  https://mcp.posthog.com/mcp

Cursor

In ~/.cursor/mcp.json. Authorization runs in the browser on first connection.

Terminal
{"mcpServers":{"posthog":{
  "url":"https://mcp.posthog.com/mcp"}}}

Every other client

Each block below is the configuration for one client, with the file path and the key that client expects.

Claude Desktop

macOS ~/Library/Application Support/Claude/claude_desktop_config.json. Windows %APPDATA%\Claude\claude_desktop_config.json. There is no CLI. Edit through Settings, Developer, Edit Config.

Quit and restart fully for changes to load. Paths in args must be absolute. Logs at ~/Library/Logs/Claude/mcp.log.

No credentials appear in the file. Sign-in happens in a browser, and the region follows the account used.

Terminal
{"mcpServers":{"posthog":{"url":"https://mcp.posthog.com/mcp"}}}
Gemini CLI

~/.gemini/settings.json globally, or .gemini/settings.json per project. Key mcpServers. CLI: gemini mcp add.

No credentials appear in the file. Sign-in happens in a browser, and the region follows the account used.

Terminal
{"mcpServers":{"posthog":{"url":"https://mcp.posthog.com/mcp"}}}
VS Code Copilot

.vscode/mcp.json per workspace, or your user profile. CLI: code --add-mcp.

No credentials appear in the file. Sign-in happens in a browser, and the region follows the account used.

Terminal
{"servers":{"posthog":{"url":"https://mcp.posthog.com/mcp"}}}

The key is `servers`, not `mcpServers`. VS Code is the only client that uses that name, and copying a config from anywhere else fails silently.

Windsurf

~/.codeium/windsurf/mcp_config.json, which is the path Windsurf documents. Key mcpServers, the same JSON shape as Cursor, carrying the same OAuth sign-in.

Zed

~/.config/zed/settings.json, carrying the same OAuth sign-in as the blocks above.

The key is `context_servers`. Zed does not call them MCP servers in config, so searching its settings for mcp finds nothing.

Google Antigravity

~/.gemini/config/mcp_config.json globally, or .agents/mcp_config.json per project. Key mcpServers. There is no CLI. Use the /mcp overlay in the editor. Supports stdio, streamable HTTP, SSE and websocket.

No credentials appear in the file. Sign-in happens in a browser, and the region follows the account used.

Terminal
{"mcpServers":{"posthog":{"url":"https://mcp.posthog.com/mcp"}}}
Amp (Sourcegraph)

~/.config/amp/settings.json or .amp/settings.json, carrying the same OAuth sign-in. The amp mcp CLI covers approve, doctor and oauth.

The key is `amp.mcpServers`, namespaced. A bare mcpServers block is ignored.

Cline

~/.cline/mcp.json per the docs. The source also reads ~/.cline/data/settings/cline_mcp_settings.json. Key mcpServers, standard JSON shape, carrying the same OAuth sign-in. Supports stdio, streamable HTTP and SSE.

Goose (Block)

~/.config/goose/config.yaml, carrying the same OAuth sign-in.

YAML, and servers are called `extensions`. Goose does not use the MCP vocabulary in config at all. Add one interactively with goose configure, or per session with goose session --with-extension.

Kiro (AWS)

.kiro/settings/mcp.json per workspace, or ~/.kiro/settings/mcp.json globally. Key mcpServers, standard JSON shape, carrying the same OAuth sign-in.

Warp

~/.warp/.mcp.json or .warp/.mcp.json. Key mcpServers, standard shape, carrying the same OAuth sign-in. Also addable through the /agent-add-mcp skill.

JetBrains Junie

.junie/mcp/mcp.json per project, or ~/.junie/mcp/mcp.json. Key mcpServers, carrying the same OAuth sign-in. Use /mcp in the CLI to manage.

Roo Code

.roo/mcp.json per project. The global file is mcp_settings.json, opened from the Roo Code MCP settings view with Edit Global MCP. Key mcpServers, carrying the same OAuth sign-in.

Continue

.continue/mcpServers/*.yaml, one file per server, carrying the same OAuth sign-in.

YAML, and `mcpServers` is a list, not an object. Every JSON client keys servers by name. Continue takes an array, so a converted config will not parse.

Trae

.trae/mcp.json per project, or paste into the UI under Raw Config (JSON). Key mcpServers, standard shape, carrying the same OAuth sign-in.

Devin

Devin has no config file to edit. Servers are added through a web form in the settings UI, and Devin's documentation states you do not need to write or paste JSON. The block below is the shape those fields describe, shown for reference. Either route uses the same OAuth sign-in.

Scoped to a subset

The tools query parameter narrows the session. Browser sign-in is unchanged; only the tool list is smaller.

Terminal
{"mcpServers":{"posthog":{
  "url":"https://mcp.posthog.com/mcp?tools=docs-search,feature-flag-get-all"}}}

Read-only access, permissions and security

  • 319 of the 899 documented names write

    They contain a writing verb, and 66 of those are deletions.

  • Deletion sits beside reading

    session-recording-delete and delete-feature-flag are in the same categories as the tools that read the same resources.

  • Some tools call models

    PostHog states that certain tools use models internally, are billed as AI spend, and are available only when AI data processing is enabled for the organization.

  • Scope is the main control

    The tools query parameter is the documented way to decide what a session can reach, since there is no toolset switch on the server side.

Troubleshooting

The client struggles with the tool list
899 tool names are documented. Use the tools query parameter to scope the session to the categories the task needs.
An AI-powered tool is unavailable
Those tools require AI data processing to be enabled in the organization settings. Until it is, they do not appear.
The bill went up after connecting
Connecting and calling tools is free, but tools that use models internally may be billed as PostHog AI spend.
A guide points at an archived repository
PostHog/mcp was archived on 19 January 2026 when the code moved into the PostHog monorepo. Connect to the hosted endpoint instead.

PostHog MCP server: Reference

ItemValue
Endpointmcp.posthog.com/mcp
PriceFree to connect and call; model-backed tools bill as PostHog AI spend
AuthBrowser sign-in; region chosen from the account
Tools899 distinct names documented, in 69 categories
Category count sum899, matching the distinct names
Writing tools319 names that create, update or delete, including 66 deletions
ScopingThe tools query parameter, on stable tool names
Setupnpx @posthog/wizard mcp add for seven clients
Archived repositoryPostHog/mcp, archived 19 January 2026, 151 stars

What engineers report

PostHog's server is official, hosted, free, and configurable in seven clients by one wizard command. The counts below come from its tools reference.

What was checkedWhat it shows
Distinct documented tool names899
Categories69
Sum of the page's category counts899
Largest categoryAI observability, 81 tools
Next largestCustomer analytics, 65 tools
Write-shaped names319
Deletion-shaped names66
Archived repository stars150

“I have my instance running in EU, so there is currently no way for me to use it. Maybe we could use headers to set the region?”

Ninoks, GitHub issue, 12 June 2025 · A hardcoded US base URL, on an issue since closed.

“Could you please share a detailed list of the capabilities and supported commands for this MCP? I'd like to help document them, but I want to make sure I'm capturing all the key features and use cases.”

baguskto, GitHub issue, 3 June 2025 · A request for the tool inventory, which is the gap this directory exists to fill.

Tool inventory read from PostHog's own MCP tools reference on 28 August 2026, by counting the tool names the page renders and the per-category totals it prints. The hosted endpoint answers tools/list only after authenticating, which is why this page is sourced from documentation rather than from the wire. Repository facts from the GitHub API.

Should you connect an agent to PostHog?

Yes. Best for a scoped session per task, using the tools query parameter on names PostHog documents as stable.

Strongest fit
PostHog teams whose questions cross products, and who are willing to write a tool scope for each kind of session.
Main advantage
The widest documented surface in this guide, free to connect, with a wizard that configures seven clients.
Main weakness
899 documented tools cannot be loaded at once, so an unscoped connection is not a working configuration.
Operational risk
319 tools that create, update or delete, including 66 deletions, sitting in the same categories as the tools that read.

From Oodle

One platform for agent traces and infrastructure

Agent traces usually sit in a different product from the rest of your telemetry, so when a slow database makes an agent slow the symptom is in one tool and the cause is in another. Oodle keeps both in one query surface, from $10 per million spans.

See agent observability

Frequently asked questions

How many tools does the PostHog MCP server have?

Its tools reference renders 899 distinct names across 69 categories, and the page's own category counts sum to the same. Read on 28 August 2026.

Can an agent load all of them?

No. PostHog documents a tools query parameter for scoping a session to a subset, and states that tool names are stable so a scope can be reused.

Is it free?

Connecting and calling tools is free. Tools that use models internally may be billed as PostHog AI spend, and need AI data processing enabled.

Which region does it use?

The endpoint is the same. PostHog's authentication server routes to the US or EU region based on the account that signs in.

What happened to the GitHub repository?

PostHog/mcp was archived on 19 January 2026 when the code moved into the PostHog monorepo under services/mcp.

Changelog

  • 19 January 2026. Repository archived. It accepts no further changes.
  • 12 September 2025. PostHog/mcp published posthog_agent_toolkit-v0.1.0, then v0.1.1 and v0.1.2 the same day. v0.1.2 is the most recent.
  • 14 May 2025. PostHog/mcp created on GitHub.

Sources

Every number on this page traces to one of these

  1. PostHog MCP overview and tools reference, read 28 August 2026. The tool count carries that date, not the page's verified date: the reference renders through JavaScript and could not be recounted on 1 September 2026
  2. Repository facts from the GitHub API · PostHog/mcp and PostHog/posthog, retrieved 1 September 2026
  3. Official MCP registry searched for PostHog on 27 August 2026: the only match, com.mcparmory/posthog, is third-party

PostHog’s own MCP documentation

Also production observability:

Also flags and experiments: