Can an AI agent use Mixpanel?
As of 6 Oct 2026, an AI agent gets into Mixpanel on its own and does 50% of the core work.
- Find: Docs for agents: llms.txt, an OpenAPI and an MCP server.
- Access: Sign-up in a browser.
- Use: 50% of the work.
- Pay: Reaches the checkout: Stopped at the card form.
- Leave: Nothing to cancel: Can't delete its account.
To reach L4 · Runs on its own: do 80% of the core work (now 50%).
What the levels meanDriven 6 Oct 20261 drive so farRules of 15 Oct 2026Claim this page
Written and checked by our agents from this drive's record. How we write.
Who gets in
- Agents on a serverGet in on their own.
- Signed agentsThe sign-up page opens.
- Agents in a person's browserNot measured yet.
Sign-up page checked 12 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from
What an agent can do in Mixpanel.
On its own
- Sign up and verify an account by itself in a browser, no CAPTCHA
- Send and read back event and user data automatically
- Turn feature flags on/off and target them to specific users automatically
3 more
- Document what each event and property means, and read it back automatically
- Build a simple dashboard automatically
- Start and launch a basic A/B test automatically, though with no way to see results without manual setup
What it can't, and why
- Get its very first API key without a browseronly available through the website dashboard, not any automated process
- Run any trend, funnel, retention, or cohort analysisthe free plan blocks all analysis queries with an error asking to upgrade
- Upgrade the plan by itselfeven a free upgrade needs a human to enter a credit card
1 more
- Fully delete the account by itselfdeletion is a button in the dashboard, and the organization is only deleted after 90 days
Can an AI agent sign up for Mixpanel on its own?
Yes, in a browser, without a human. No sign-up API or agent registration. Web form at /register/ (email + terms), then a 3-question onboarding and an organization form; no CAPTCHA met.
Does Mixpanel have an MCP server, and can an agent connect to it?
Yes. Mixpanel has an official MCP server. The server lists 66 tools and speaks the older 25 Nov 2025 MCP spec.
A new agent can get in on its own: in the drive of 6 Oct 2026, our agent signed up, verified and got its key without a person. Through the MCP server, 2 of our agent's 5 attempts worked.
What the drive found
APIOpenAPIMCP · official–CLISDKllms.txtWebhooks–SandboxHow does an AI agent get a Mixpanel API key?
In the drive of 6 Oct 2026, our agent got its Mixpanel API key in a browser, without a person. First credential needs the web UI: service account (secret shown once) in Project Settings > Service Accounts, project token in Project Settings. MCP OAuth needs a browser consent page (DCR only, no device flow). The GDPR API needs a separate personal token generated in the UI.
Can an AI agent delete its Mixpanel account?
Not on its own: blocked. No delete API exists (14 OpenAPI specs and docs MCP search confirm this is UI-only). Settings > Org > Delete Organization > Submit queues deletion, with a confirmation mail saying data is deleted after 90 days. Right after submitting, the service account still got 200 from /api/app/me and the export API still returned the ingested events: login/API access was not rejected during the drive, so deletion cannot be confirmed as done.
Can an AI agent pay for Mixpanel?
Reaches the checkout: stopped at the card form.
- Stripe card form card checkout
- Card checkout
It has a free plan.
What would let agents pay on their own
- Accept x402 or MPP on your API. Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card.Step-by-step guide
- List your plans on Stripe Projects. Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev).Step-by-step guide
No x402/MPP/L402 (subdomains do not resolve, Query API 402 carries no payment header, not in Bazaar or mpp.dev). Growth costs $0.00 for the first 1M events but asks for a card ('Why is a credit card required if my plan costs $0?'). No billing API or MCP billing tool. Stopped at the card form.
From the drive of 6 Oct 2026.
For the team behind Mixpanel.
Where agents stop in Mixpanel today, and the fixes that get them further, highest impact first.
The fixes, highest impact first
- Allow a small Query API quota on freeStep-by-step guide
- Let an agent get its first credential headlessStep-by-step guide
- Move the MCP server to the 28 Jul 2026 spec
3 more fixes
- Add CIMD or device flow to MCP OAuth Step-by-step guide
- Document cohort_definition and validate experiment launch
- Offer an API to delete an organization
- Claim it free and reply next to the result.
- A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
- Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
Details
Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.
Already claimed it? Open it in your dashboard.
Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.
Embed the badge on your site
Behind the level.
The part scores and the measures behind them.
Part scores and the measures · paid plans
Part scores
Agent-ready setup
- llms.txt: found
- OpenAPI: found
- MCP server: found
- CLI: not found
Not measured in this drive: Holds up, Docs match (part of an Audit).
The measures
- Work done50
- Reliability100
- Crash test–
Needs a paid plan
Not counted in the level. Our drive used free plan.
| Capability | Plan |
|---|---|
| Build an Insights (trend) report | Growth |
| Analyze funnels and drop-off | Growth |
| Analyze retention | Growth |
| Segment users into cohorts | Growth |
| Record and watch session replays | Growth (API) |
| Build a Metric Tree | add-on |
| Query raw/aggregated data via API | Growth |
For agents and builders.
The drive as data, every checkpoint and all 47 attempts.
How an agent connects · 6 tips
/api/tools/mixpanel.json/tools/mixpanel.mdMCP get_tool {"slug":"mixpanel"}
- Create a service account in the web UI (Project Settings > Service Accounts, role Admin); it works for REST (basic auth) and for MCP as 'Authorization: Bearer Basic <base64 user:secret>'.
- Ingestion /import needs time, distinct_id and $insert_id; with strict=1 errors name the failing field.
- On the free plan every Query API and MCP query tool returns 402: ingest, export, flags, experiments, lexicon and boards still work.
- MCP tool schemas are opaque objects: call Get-Query-Schema / Describe-Cohort-Schema first and expect to learn field names from validation errors.
- Flag evaluation (api.mixpanel.com/flags) needs the project token as basic auth and can take 1-2 minutes to reflect a change; disable a flag before deleting it.
- The GDPR API takes only a personal GDPR token from Profile > Data & Privacy, not a service account.
Every checkpoint, in detail · 9 checkpoints
- DocsHeadlessdocs.mixpanel.com/llms.txt (65 KB) lists every page as .md and 14 OpenAPI specs; Accept: text/markdown returns markdown; docs MCP at docs.mixpanel.com/mcp speaks 28 Jul 2026.
- Sign upIn a browserNo sign-up API or agent registration. Web form at /register/ (email + terms), then a 3-question onboarding and an organization form; no CAPTCHA met.
- VerifyIn a browserMagic-link mail arrived within a minute; the link opens a 'Log in to Mixpanel' page with a Log In button.
- KeyIn a browserFirst credential needs the web UI: service account (secret shown once) in Project Settings > Service Accounts, project token in Project Settings. MCP OAuth needs a browser consent page (DCR only, no device flow). The GDPR API needs a separate personal token generated in the UI.
- First callHeadlessGET /api/app/me with service-account basic auth -> 200.
- First actionHeadlessPOST api.mixpanel.com/import -> num_records_imported 6, read back by the export API.
- PayIn a browserNo x402/MPP/L402 (subdomains do not resolve, Query API 402 carries no payment header, not in Bazaar or mpp.dev). Growth costs $0.00 for the first 1M events but asks for a card ('Why is a credit card required if my plan costs $0?'). No billing API or MCP billing tool. Stopped at the card form.
- CancelNot neededNothing to cancel: our agent used the free plan.
- DeleteBlockedNo delete API exists (14 OpenAPI specs and docs MCP search confirm this is UI-only). Settings > Org > Delete Organization > Submit queues deletion, with a confirmation mail saying data is deleted after 90 days. Right after submitting, the service account still got 200 from /api/app/me and the export API still returned the ingested events: login/API access was not rejected during the drive, so deletion cannot be confirmed as done.
The attempt log · 47 attempts
| Capability | Route | Result | Evidence |
|---|---|---|---|
| MCP version: POST server/discover to https://mcp.mixpanel.com/mcp (no auth) | mcp | done ✓ | HTTP 200 JSON-RPC error -32601 'Method not found: server/discover'; sets mcp-session-id header -> legacy server. initialize offering 2026-07-28 without token -> 401 WWW-Authenticate Bearer resource_metadata=https://mcp.mixpanel.com/.well-known/oauth-protected-resource/mcp |
| MCP auth metadata: GET PRM + AS metadata on mcp.mixpanel.com | api | done ✓ | PRM /.well-known/oauth-protected-resource/mcp 200 application/json, authorization_servers [https://mcp.mixpanel.com/mcp]; AS metadata at https://mcp.mixpanel.com/.well-known/oauth-authorization-server: registration_endpoint https://mixpanel.com/oauth/mcp/register/ (DCR), no client_id_metadata_document_supported, grants authorization_code+refresh_token, S256. No device flow. Note: PRM names issuer path .../mcp but AS metadata is served at root (path-suffixed /mcp/.well-known/oauth-authorization-server 404). |
| Docs MCP: server/discover on https://docs.mixpanel.com/mcp | mcp | done ✓ | result.supportedVersions ["2026-07-28"]: modern docs MCP (Mintlify), tools search_mixpanel etc. |
| Cards: server-card, ai-catalog, agent-card on mixpanel.com, mcp.mixpanel.com, docs.mixpanel.com | api | done ✓ | mixpanel.com: all /.well-known/* 404 HTML. mcp.mixpanel.com/mcp/server-card 404. docs.mixpanel.com/.well-known/agent-card.json 200 JSON protocolVersion 0.3 (docs only); docs.mixpanel.com/.well-known/mcp/server-card.json 200 (docs MCP card, legacy path); /.well-known/agent-skills/index.json 200; ai-catalog.json 404 |
| aipref / markdown: robots.txt and Accept: text/markdown | api | done ✓ | mixpanel.com/robots.txt: no Content-Usage line; docs.mixpanel.com/robots.txt: 'Content-Signal: ai-train=yes, search=yes, ai-input=yes' (Cloudflare Content Signals, parses). Accept: text/markdown on docs page -> content-type text/markdown, vary includes Accept; .md URL also 200 text/markdown. llms.txt at docs.mixpanel.com/llms.txt lists 14 OpenAPI specs. |
| Find docs: GET docs.mixpanel.com/llms.txt and .md pages | api | done ✓ | llms.txt 200 (65 KB), OpenAPI specs listed under /openapi/*.yaml, per-page .md 200 text/markdown |
| Sign up: Find a headless/documented sign-up API | none | failed | No sign-up API, auth.md, agent registration or claimable resource: mixpanel.com/auth.md 404, /.well-known/oauth-* on mixpanel.com 404; /register/ is a JS app (form: email + terms checkbox). |
| Sign up: Web form at mixpanel.com/register/ (email + terms) | browser | done ✓ | Form accepted the agent's inbox; page shows 'We sent a verification email to the agent's inbox'. No CAPTCHA signals detected. |
| Verify email: Open magic link from inbox in browser | browser | done ✓ | Mail 'Verify your email to start using Mixpanel' arrived within ~1 min; magic link -> 'Log in to Mixpanel' page -> Log In -> /onboarding?from_register=True |
| Onboarding: Complete onboarding (name, work, role, organization AgentDrives, US data center) | browser | done ✓ | Landed on https://mixpanel.com/project/[redacted]/view/[redacted]/app/home 'Welcome, AgentDrives'. Organization size '1', industry 'Other'. No CAPTCHA. |
| API credentials: Create a service account (Admin role) in Project Settings > Service Accounts | browser | done ✓ | Service account [redacted] created in web UI; secret shown once. Project token read from Project Settings. No documented headless path to the first credential (Service Accounts API itself needs an existing SA/user auth; OAuth for MCP needs browser consent). |
| First API call: GET https://mixpanel.com/api/app/me with service account basic auth | api | done ✓ | 200 JSON user object for [redacted] |
| Track events and user properties: Import 6 events (Sign Up, Create Report) for 3 users via POST api.mixpanel.com/import?strict=1, set a profile via /engage | api | done ✓ | import -> {"code":200,"num_records_imported":6}; engage -> 1; Raw export returned the events with their properties (source=agentdrives, $insert_id) |
| First real action: Ingest events via /import | api | done ✓ | num_records_imported 6, read back by export API |
| Export raw event data: GET data.mixpanel.com/api/2.0/export for last 3 days | api | done ✓ | 200 newline-delimited JSON with the 6 imported events and their properties |
| Query raw/aggregated data via API: Segmentation, events/names, funnels/list, retention via Query API on free plan | api | plan_gated | HTTP 402 application/json {"error": "Your plan does not allow API calls. Upgrade at mixpanel.com/pricing"} on /api/query/segmentation, /events/names, /funnels/list, /retention; MCP Run-Query -> isError "Failed to execute Run-Query: Your plan does not allow API calls. Upgrade at mixpanel.com/pricing". No PAYMENT-REQUIRED / WWW-Authenticate payment header. |
| Build an Insights (trend) report: MCP Run-Query insights: total Sign Up per day, last 7 days | mcp | plan_gated | HTTP 402 application/json {"error": "Your plan does not allow API calls. Upgrade at mixpanel.com/pricing"} on /api/query/segmentation, /events/names, /funnels/list, /retention; MCP Run-Query -> isError "Failed to execute Run-Query: Your plan does not allow API calls. Upgrade at mixpanel.com/pricing". No PAYMENT-REQUIRED / WWW-Authenticate payment header. |
| Segment users into cohorts: MCP Create-Cohort: users with plan=free (after 2 schema-validation retries) | mcp | plan_gated | Create-Cohort isError 'Failed to execute Create-Cohort: plan does not allow saving cohorts'. Earlier tries got clear validation errors (missing format discriminator; groups[0].event and behavioralFiltersOperator required). |
| Create a dashboard/board of saved reports: MCP Create-Dashboard 'AgentDrives test board' with a text card (one retry after validation error) | mcp | done ✓ | Create-Dashboard -> id 11567640 url https://mixpanel.com/project/[redacted]/app/boards#id=11567640; List-Dashboards and Get-Dashboard return it with creator agentdrives-drive SA. Report tiles not added: saved reports need Query API (402 on free). |
| Create and toggle a feature flag: POST Feature Flags Management API (create disabled flag agentdrives_test_flag, 100% 'on'), PUT status=enabled, evaluate via GET api.mixpanel.com/flags for ad-user-1 | api | done ✓ | POST -> 201 id [id]; PUT -> 200 status enabled; GET flag -> status enabled; GET api.mixpanel.com/flags?token=..&context={distinct_id:ad-user-1} -> {"agentdrives_test_flag":{"variant_key":"on","variant_value":true}} (first evaluations right after enabling returned {} for ~1-2 min: propagation delay) |
| Manage event/property definitions in Lexicon: POST Lexicon Schemas API /projects/[redacted]/schemas/event/Sign Up (description, displayName, tag, 2 property descriptions); read back via GET and MCP Get-Events | api | done ✓ | POST -> 200 {"status":"ok"}; GET returns description 'A user created an account (AgentDrives test)', displayName 'Sign Up (AD)', tags ['agentdrives']; MCP Get-Events shows same |
| Run an A/B experiment: Experiments API: POST create 'AgentDrives test experiment', PUT /launch; read back with MCP Get-Experiment (compute_exposures, compute_metrics) | api | partial ✓ | POST -> 201 id b2368e2b-...; PUT launch -> 200 status active, start_date set; MCP Get-Experiment shows status active, variants [], metrics [] -- no variant assignment counts or significance readout (no variants/metrics/flag linked, no exposure data). API launched an experiment with no variants and no metrics without any validation error. |
| Retrieve or delete a user's data for GDPR/CCPA: POST /api/app/data-deletions/v3.0/?token=… for distinct_id ad-user-3 with service-account basic auth; then look for the GDPR OAuth token in Settings > Profile > Data & Privacy (browser) | api | failed | SA auth -> 401 {"status": "error", "error": "You do not have the required scope(s) for this request"}. The GDPR API takes only a personal GDPR OAuth token (spec security: OAuthToken), generated in the web UI under Settings > Profile > Data & Privacy > GDPR API (we first missed the Generate control on that page; see next attempt). |
| Pay step: Probe 402 rails (x402./mpp./agents. subdomains, Bazaar, mpp.dev, docs text), then in-app Upgrade Plan flow in browser up to the payment step (no card entered) | browser | done ✓ | x402./mpp./agents.mixpanel.com do not resolve; Query API 402 is a plain JSON plan error with no PAYMENT-REQUIRED or WWW-Authenticate Payment header; no Mixpanel listing in x402 Bazaar (352 KB) or mpp.dev/api/services (514 KB); llms.txt has no x402/MPP/machine payments. Upgrade Plan modal: Growth $0.00/month for first 1M events, steps Events > Session Replay > Experiments > Add-ons > 'Select payment details': Stripe Elements card form (Card Number, Expiration, CVV, Country) with Stripe invisible hCaptcha frame; text 'Why is a credit card required if my plan costs $0?'. No billing API or MCP billing tool (66 MCP tools, none billing). |
| Analyze funnels and drop-off: GET /api/query/funnels/list and /funnels on free plan | api | plan_gated | HTTP 402 application/json {"error": "Your plan does not allow API calls. Upgrade at mixpanel.com/pricing"} on /api/query/segmentation, /events/names, /funnels/list, /retention; MCP Run-Query -> isError "Failed to execute Run-Query: Your plan does not allow API calls. Upgrade at mixpanel.com/pricing". No PAYMENT-REQUIRED / WWW-Authenticate payment header. |
| Analyze retention: GET /api/query/retention born_event=Sign Up event=Create Report | api | plan_gated | HTTP 402 application/json {"error": "Your plan does not allow API calls. Upgrade at mixpanel.com/pricing"} on /api/query/segmentation, /events/names, /funnels/list, /retention; MCP Run-Query -> isError "Failed to execute Run-Query: Your plan does not allow API calls. Upgrade at mixpanel.com/pricing". No PAYMENT-REQUIRED / WWW-Authenticate payment header. |
| Target an experiment or flag by cohort: Create flag agentdrives_targeted_flag via Feature Flags Management API with a rollout cohort_definition (user property plan == free); evaluate for ad-user-1 (plan=free profile) and ad-user-2 (no profile) | api | done ✓ | POST -> 201; GET flag shows rollout cohort_definition with cohort_hash; GET api.mixpanel.com/flags: ad-user-1 gets agentdrives_targeted_flag 'on', ad-user-2 does not (only the untargeted flag). |
| Record and watch session replays: MCP Get-User-Replays-Data for ad-user-1, last 3 days | mcp | plan_gated | isError 'Failed to execute Get-User-Replays-Data: Your plan does not allow API calls. Upgrade at mixpanel.com/pricing'. Recording replays needs the browser SDK on a website we do not have; the replay player is web UI only. |
| Remove created objects: DELETE flags (after disabling), DELETE experiment, MCP Delete-Dashboard, DELETE lexicon schema | api | done ✓ | Flags: first DELETE 400 {"error": "Unable to delete enabled feature flag", "type": "CannotDeleteEnabledFlag"}; PUT status disabled then DELETE 200, list []. Experiment DELETE 200, GET 404 ExperimentDoesNotExist. Dashboard deleted, List-Dashboards empty. Lexicon DELETE 200 delete_count 1. Ingested events cannot be removed except by GDPR deletion (blocked) or deleting the project/org. |
| Retrieve or delete a user's data for GDPR/CCPA: Generate GDPR OAuth token in web UI (Profile > Data & Privacy > Generate), then POST /api/app/data-deletions/v3.0/?token=… for ad-user-3 and GET the job status | api | partial ✓ | POST -> 201 {"status": "ok", "results": {"task_id": "[id]"}}; GET status -> PENDING (compliance_type gdpr, distinct_ids [ad-user-3]). Not Complete within the drive (docs: deletions can take multiple weeks). |
| Delete account and data: Look for a documented delete-org/project API, then Settings > Org > Overview > Delete Organization > Submit in browser | browser | done ✓ | No delete API in the 14 OpenAPI specs or docs (docs MCP search: 'Deleting an Organization' is a UI button). UI showed 'Users will maintain access to your organization for 90 days, after which it will be deleted' -> Submit -> 'Okay, we have queued your account for deletion.' Mail 'Mixpanel Account Deletion for AgentDrives' 02:50 UTC: 'After 90 days, your organization and all organization-owned projects will be deleted.' Right after, the service account still answered /api/app/me 200 and the export API still returned our events (90-day grace period). |
| Cancel plan: No paid plan was started (free plan); nothing to cancel | none | skipped | Free plan only; the Growth upgrade stopped at the Stripe card form. |
| Build a Metric Tree connecting KPIs: Check plan for Metric Trees | none | plan_gated | mixpanel.com/pricing lists 'Metric Trees Add-on' (not in Free); no API or MCP tool for metric trees |
| Create a threshold or anomaly-detection alert: not attempted | none | skipped | paid; no API or MCP tool for alerts |
| Run root cause analysis on a metric change: not attempted | none | skipped | paid; no API |
| Filter replays into a playlist by events/cohorts: not attempted | none | skipped | no replays (needs browser SDK on a website); MCP replay tool 402 on free |
| Get an AI-generated replay summary: not attempted | none | skipped | paid |
| View heatmaps and clickmaps: not attempted | none | skipped | no heatmap data (needs browser SDK on a website) |
| Run a visual web experiment (no-code editor): not attempted | none | skipped | paid, Coming Soon |
| Sync a data warehouse connector: not attempted | none | skipped | paid; needs a warehouse we do not have |
| Export data to own warehouse via Data Pipelines: not attempted | none | skipped | paid add-on; needs a bucket/warehouse |
| Analyze grouped entities (Group Analytics): not attempted | none | skipped | paid add-on (Group Analytics, seen in the upgrade modal) |
| Build data apps with Mixpanel Headless (Python): not attempted | none | skipped | paid |
| Manage organizations and projects programmatically: not attempted | none | skipped | paid (Platform API) |
| Manage roles, permissions, and SSO/SCIM: not attempted | none | skipped | paid |
| View audit log of account activity: not attempted | none | skipped | paid; MCP Get-Audit-Log limited beta |
| Install a marketplace integration: not attempted | none | skipped | not tried in the time |
Also in Product analytics.
AmplitudeL1Can't sign up on its ownMixpanel vs Amplitude
HeapL1Can't sign up on its ownMixpanel vs Heap
PostHogL1Can't sign up on its ownMixpanel vs PostHog