You can install the MCP server automatically into popular clients by running the following command:
npx @posthog/wizard@latest mcp add
-
Obtain a personal API key using the MCP Server preset here.
-
Add the MCP configuration to your desktop client (e.g. Cursor, Windsurf, Claude Desktop) and add your personal API key
{
"mcpServers": {
"posthog": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://mcp.posthog.com/sse",
"--header",
"Authorization:${POSTHOG_AUTH_HEADER}"
],
"env": {
"POSTHOG_AUTH_HEADER": "Bearer {INSERT_YOUR_PERSONAL_API_KEY_HERE}"
}
}
}
}
If you're using PostHog EU cloud or a self-hosted instance, you can specify a custom base URL by adding the POSTHOG_BASE_URL
environment variable when running the MCP server locally or on your own infrastructure, e.g. POSTHOG_BASE_URL=https://eu.posthog.com
Here are some examples of prompts you can use:
- What feature flags do I have active?
- Add a new feature flag for our homepage redesign
- What are my most common errors?
To run the MCP server locally, run the following command:
pnpm run dev
And replace https://mcp.posthog.com/sse
with http://localhost:8787/sse
in the MCP configuration.
This repository is organized to support multiple language implementations:
typescript/
- TypeScript implementation (current)python/
- Python implementation (planned)schema/
- Shared schema files generated from TypeScript for cross-language compatibility
pnpm run dev
- Start development serverpnpm run schema:build:json
- Generate JSON schema for other language implementationspnpm run lint:fix
- Format and lint code
- Create
.dev.vars
in the root - Add Inkeep API key to enable
docs-search
tool (seeInkeep API key - mcp
)
INKEEP_API_KEY="..."
During development you can directly inspect the MCP tool call results using the MCP Inspector.
You can run it using the following command:
npx @modelcontextprotocol/inspector npx -y mcp-remote@latest http://localhost:8787/sse --header "\"Authorization: Bearer {INSERT_YOUR_PERSONAL_API_KEY_HERE}\""
Alternatively, you can use the following configuration in the MCP Inspector:
Use transport type STDIO
.
Command:
npx
Arguments:
-y mcp-remote@latest http://localhost:8787/sse --header "Authorization: Bearer {INSERT_YOUR_PERSONAL_API_KEY_HERE}"