Mixpanel MCP Server
Overview
Mixpanel provides a hosted Model Context Protocol (MCP) server that gives AI assistants direct access to your Mixpanel data. Once connected, you can query events, funnels, flows, retention, session replays, and more using natural language — no dashboard navigation required.
A typical workflow looks like:
- Discover: Find your projects, events, and properties
- Query: Run insights, funnels, flows, or retention analyses
- Create: Build dashboards, organize Lexicon, or manage data quality issues
- Iterate: Refine with follow-up questions in the same conversation
Available Tools
| Category | Tool | Description |
|---|---|---|
| Analytics | Run-Query | Execute insights, funnels, flows, and retention queries |
Get-Query-Schema | Get the full JSON schema for building a query | |
Get-Report | Retrieve a saved report, optionally including results | |
| Dashboards | Create-Dashboard | Create a new dashboard with text cards and reports |
List-Dashboards | Browse dashboards in a project | |
Get-Dashboard | Retrieve a specific dashboard | |
| Data Discovery | Get-Projects | List your projects and workspaces |
Get-Events | Browse all events in a project | |
Get-Property-Names | Explore properties for events or users | |
Get-Property-Values | Discover values for a specific property | |
Get-Event-Details | Retrieve full event metadata | |
Get-Issues | Get data quality issues filtered by event, property, type, or date | |
Get-Lexicon-URL | Get a direct link to an event or property in Lexicon | |
| Data Management | Edit-Event | Update event description, display name, tags, or visibility |
Edit-Property | Update property description, display name, hidden status, or PII classification | |
Create-Tag | Create a new tag in Lexicon | |
Rename-Tag | Rename an existing tag across all associated events and properties | |
Delete-Tag | Remove a tag from your project | |
Dismiss-Issues | Bulk-dismiss data quality issues by event, property, or type | |
| Session Replays | Get-User-Replays-Data | Analyze a specific user’s replays alongside their event data |
MCP Server URLs
| Region | URL |
|---|---|
| US | https://mcp.mixpanel.com/mcp |
| EU | https://mcp-eu.mixpanel.com/mcp |
| IN | https://mcp-in.mixpanel.com/mcp |
Permissions & Access
Admin setup required. An organization admin must enable MCP in Settings → Org → Overview before anyone can connect. Changes can take up to 15 minutes to take effect.
Once enabled, any Mixpanel user in your organization can connect. Users authenticate with their own Mixpanel credentials, so all existing project permissions and roles apply — users can only see data from projects they already have access to.
Connecting to the MCP Server
Claude
- Go to claude.ai/customize/connectors and search for Mixpanel. Click Connect and complete the Mixpanel OAuth flow.
- For EU or IN regions, use Settings → Connectors → Add Custom Connector instead, and enter your MCP Server URL.
ChatGPT
- Go to Settings → Connectors → Advanced and enable Developer Mode
- Add a new connector — set the MCP Server URL to your regional endpoint and Authentication to OAuth
- Complete the Mixpanel OAuth flow
- Optionally publish the connector to your workspace so teammates can use it
Codex
- Go to Settings → MCP Servers → + Add Server
- Provide a name (e.g. Mixpanel) and select Streamable HTTP
- Enter your MCP Server URL and click Save
Codex CLI
Add the following to ~/.codex/config.toml (use the EU or IN URL if needed):
[mcp_servers.mixpanel]
url = "https://mcp.mixpanel.com/mcp"Then authorize:
codex mcp login mixpanelNotion
- Go to Settings → Connections → + Add custom MCP
- Enter your MCP Server URL and give it a name
- Click Connect and complete the Mixpanel OAuth flow
Cursor
- Go to Settings → Tools & MCP → New MCP Server to open
~/.cursor/mcp.json - Add the following (use the EU or IN URL if needed):
{
"mcpServers": {
"mixpanel": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.mixpanel.com/mcp"]
}
}
}- Save the file — Cursor will prompt you to authorize with Mixpanel on first connect
Gemini CLI
gemini mcp add mixpanel npx -y mcp-remote https://mcp.mixpanel.com/mcpOr edit ~/.gemini/settings.json manually and add:
{
"mcpServers": {
"mixpanel": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.mixpanel.com/mcp"]
}
}
}Other JSON-configured clients
Any client that supports the MCP JSON config format can connect using the same JSON snippet from the Cursor section above. The first time it connects it will prompt you to authorize with Mixpanel.
Example Queries
Once connected, try asking your AI assistant:
Understand your data
- “What projects do I have access to?”
- “What are the most fired events this week?”
- “Which properties on
checkout_completedare marked as PII?”
Query & analyze
- “How many sign ups did we have in February?”
- “What’s our signup-to-purchase conversion rate this month vs last month?”
- “Show 7-day retention for users who completed onboarding in Q1”
- “Which acquisition channels have the best 30-day retention?”
Create & build
- “Create a board of purchase metrics”
- “Build a weekly growth dashboard with signups, activations, and churn”
Automate Lexicon work
- “Add descriptions to any events that don’t have one”
- “Tag all checkout-related events with ‘Checkout’”
- “Hide any events that haven’t fired in the last 90 days”
- “Find all properties that look like PII but aren’t flagged yet”
Triage data quality
- “Show me all open data quality issues for the Signup event”
- “Dismiss all issues for events we deprecated last quarter”
Investigate users
- “This user reported a bug — what happened in their last 3 sessions?”
- “Walk me through what [user ID] did before they churned”
Security Considerations
The MCP server does not currently support HIPAA requirements. Mixpanel’s Business Associate Agreement (BAA) does not cover this feature.
When connected, the AI assistant can both read and write to Mixpanel on your behalf. Your Mixpanel data is also sent to whichever AI provider you’re using (Claude, ChatGPT, etc.), so review that provider’s data handling policies before connecting.
Access controls
- MCP must be explicitly enabled by an org admin. It is off by default
- Users can only access projects they already have permission to view in Mixpanel
- All existing roles and project-level permissions remain in effect
Other considerations
- Check applicable compliance requirements (GDPR, CCPA, etc.) before connecting to projects with personal data
- If using a shared AI environment (e.g., a team workspace), be aware that conversation history may be visible to others
Troubleshooting
- “MCP access is not enabled for this project”: Ask your org admin to enable MCP in Settings → Org → Overview.
- “Missing scope” error: Your cached auth token was created with an outdated scope list. Delete the
.mcp-authfolder in the directory where you ran the authorization command, then re-authorize. - Authorization fails: Ensure your Mixpanel account has access to at least one project and that MCP is enabled at the org level.
- Desktop app doesn’t pick up config changes: Restart the application after editing the config file.
Building Custom Integrations (OAuth)
If you’re building a third-party MCP client or custom integration, use the following OAuth configuration.
OAuth Discovery
Discover the full OAuth configuration at:
https://mcp.mixpanel.com/.well-known/oauth-authorization-serverDynamic Client Registration
| Region | Registration Endpoint |
|---|---|
| US | https://mixpanel.com/oauth/mcp/register/ |
| EU | https://eu.mixpanel.com/oauth/mcp/register/ |
| IN | https://in.mixpanel.com/oauth/mcp/register/ |
Authorization Code Flow with PKCE
Mixpanel uses Authorization Code + PKCE (S256):
- Authorization endpoint:
https://{mixpanel_domain}/oauth/authorize - Token endpoint:
https://{mixpanel_domain}/oauth/token/ - Grant types:
authorization_code,refresh_token - Code challenge method:
S256 - Token endpoint auth methods:
none,client_secret_basic,client_secret_post
Required OAuth Scopes
Mandatory:
projects analysis events insights segmentation retention data:read funnels flows data_definitionsOptional:
dashboard_reports bookmarks user_detailsTo request a specific subset of scopes, pass --static-oauth-client-metadata '{ "scope": "..." }' to npx mcp-remote. Otherwise all available scopes are requested automatically.
Was this page useful?