Skip to content

Connectors · Observability & analytics

Mixpanel MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Mixpanel and the rest of your systems. It gives your agent 176 Mixpanel actions (58 reads, 97 writes and 21 that wait for a confirmation) and holds the Mixpanel credential itself, so the agent never does. It paces Mixpanel's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "mixpanel.annotations.list",  intent: "check which Mixpanel account is connected"}# List annotations · read · 1 upstream call
  • 176actionsin one signed file
  • 58readlook, never change
  • 97writecreate and update
  • 21wait for a yesdestructive, confirmed first

Set up

Connect Mixpanel in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Mixpanel.

    Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • usernameMixpanel service account username
    • secretMixpanel service account secret (blank when authenticating with a project secret)
    • hostWhere your Mixpanel lives: your host
    • project_idYour Mixpanel project id
    • project_tokenYour Mixpanel project token
    account { op: "connections.requirements", service: "mixpanel" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "mixpanel.annotations.list" }# list annotations · read · 1 upstream callcheck { action: "mixpanel.events.track", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Mixpanel at a glance

Sign-in
Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
usernamesecret
Setup fields
hostproject_idproject_token
Limits we pace to
60 calls an hour, at most 5 at a time, per connection
API covered
Mixpanel API 2026-09mixpanel.com
Built from
Mixpanel's documentation, read 20 September 2026GitHub
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
58 of 58 reads, for up to an hour; a write clears what it affects
Ready-made plans
8 in the store
Shared entities
3, so ask can line Mixpanel up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Mixpanel.

176 actions in 14 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 58readlook, never change
  • 97writecreate and update
  • 21destructivewait for a confirmation
  1. Profiles

    29

    2 read · 24 write · 3 destructive

    Query user profiles · Query user profiles, one page with its session · Batch update user profiles (US) · Set profile properties once (US)

  2. Pipelines

    24

    9 read · 12 write · 3 destructive

    Create a data pipeline (US) · Pause a data pipeline (US) · Resume a data pipeline (US) · Edit a data pipeline (US)

  3. Groups

    21

    0 read · 18 write · 3 destructive

    Batch update group profiles (US) · Set group profile properties once (US) · Batch update group profiles (EU) · Set group profile properties once (EU)

  4. Ingestion

    21

    0 read · 18 write · 3 destructive

    Track an event (US) · Track a batch of events (US) · Track an event (EU) · Track a batch of events (EU)

  5. Query

    18

    18 read · 0 write · 0 destructive

    List saved cohorts · List event names · List today's top events · Query a saved Insights report

  6. Feature flags

    11

    8 read · 2 write · 1 destructive

    List feature flags (management) · List feature flag definitions (US) · List feature flag definitions (EU) · List feature flag definitions (India)

  7. Experiments

    10

    2 read · 7 write · 1 destructive

    Create an experiment · List experiments · Get an experiment · Decide an experiment

  8. Warehouse

    10

    3 read · 6 write · 1 destructive

    Update a warehouse import · Delete a warehouse import · Create an event-stream warehouse import · Create a groups warehouse import

6 more areas · 32 actions
  • Lexicon 8
  • Annotations 7
  • Service accounts 7
  • Lookup tables 6
  • Audit 3
  • Account 1

Top actions

The Mixpanel API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 60 of Mixpanel's 63 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
mixpanel.service_accounts.listList service accountsList an organization's service accounts.readidentity.service_account.list35 connectors
mixpanel.profiles.queryQuery user profilesSearch user (or group) profiles by distinct_id, a filter expression, or a cohort, returning profile properties (page 0).readanalytics.profile.search2 connectors
mixpanel.annotations.listList annotationsList a project's annotations (dated notes on charts), optionally within a date range.readmonitoring.event.list14 connectors
mixpanel.lookup_tables.listList lookup tables (US)List the project's lookup tables (id, name).readanalytics.dataset.list28 connectors
mixpanel.lookup_tables_eu.listList lookup tables (EU)List the project's lookup tables (id, name).readanalytics.dataset.list28 connectors
mixpanel.service_accounts.list_for_projectList a project's service accountsList the service accounts with access to a project.readidentity.service_account.list35 connectors
mixpanel.profiles.query_pageQuery user profiles, one page with its sessionSearch profiles and return the whole envelope (results, session_id, page, page_size, total) so the caller can request the next page with page+session_id.readanalytics.profile.search2 connectors
mixpanel.cohorts.listList saved cohortsList the project's saved cohorts with member counts (a POST that reads).readanalytics.segment.list17 connectors
mixpanel.events.trackTrack an event (US)Send one event to /track, attributed to a distinct_id, using the project token.writeanalytics.tracked_event.create12 connectors
mixpanel.events_eu.trackTrack an event (EU)Send one event to /track, attributed to a distinct_id, using the project token.writeanalytics.tracked_event.create12 connectors
mixpanel.experiments.createCreate an experimentCreate an experiment in a workspace.writeanalytics.experiment.create12 connectors
mixpanel.warehouse_imports.deleteDelete a warehouse importDelete a warehouse import.destructiveanalytics.dataset.delete23 connectors

Try it

Prompts to paste into Claude.

Each one names the Mixpanel actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    List annotations in Mixpanel and tell me what stands out.

    callsmixpanel.annotations.list

  2. Planwrite

    Stitch an anonymous visitor to a new signed-up account in Mixpanel.

    callsmixpanel.identities.identifymixpanel.identities.create_aliasmixpanel.profiles.setmixpanel.profiles.set_oncemixpanel.groups.set+1 more

  3. Planwrite

    Read an experiment's results and call it in Mixpanel. Ask me before anything is sent or changed.

    callsmixpanel.experiments.getmixpanel.segmentation.querymixpanel.experiments.decidemixpanel.experiments.force_concludemixpanel.experiments.archive

  4. Writewrite

    Track an event (US) in Mixpanel. Show me exactly what you will send before you save it.

    callsmixpanel.events.track

The plan store

Ready-made plans for Mixpanel.

8 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.

  1. Report on every saved funnel for the last week

    Use it when Someone wants the week's conversion numbers for all saved funnels, marked on the project timeline.

    Effect
    write
    Steps
    4 · loops
    Needs
    from date and to date
    Install
    mixpanel-weekly-funnel-report
  2. Create an A/B experiment and launch it after sign-off

    Use it when A team wants a Mixpanel experiment set up and turned on, but not turned on without a person agreeing.

    A person decidesLaunch experiment 'name' (created) and begin serving its variants to live traffic.

    Effect
    write
    Steps
    5
    Needs
    workspace id, name and hypothesis
    Install
    mixpanel-launch-experiment
  3. Check every export pipeline and flag the stalled ones

    Use it when You want to know whether any Mixpanel export pipeline has stalled before someone downstream notices missing data.

    Effect
    write
    Steps
    5 · loops
    Install
    mixpanel-pipeline-health-sweep
  4. Drill into retention for a cohort's key event

    Use it when Someone asks why retention moved for a particular event and wants the supporting breakdown, not just the headline number.

    Effect
    write
    Steps
    5
    Needs
    event, from date, to date and breakdown property
    Install
    mixpanel-retention-drilldown
  5. Read an experiment's results and call it

    Use it when An experiment has run long enough and someone needs to declare the winner and shut it down.

    A person decidesDeclare variant 'variant' the outcome of experiment experiment id and conclude it, ending traffic to all variants.

    Effect
    write
    Steps
    6
    Needs
    workspace id, experiment id, metric event, from date, to date and variant
    Install
    mixpanel-conclude-experiment
  6. Stitch an anonymous visitor to a new signed-up account

    Use it when A visitor has just created an account and their pre-signup activity needs to follow them into the identified profile.

    Effect
    write
    Steps
    6
    Needs
    distinct id, anon id, email and company id
    Install
    mixpanel-signup-identity-stitch
  7. Trigger a warehouse import and wait for it to finish

    Use it when A warehouse import needs to be run now rather than on its schedule, and someone must confirm the backfill before it starts.

    A person decidesRun warehouse import import id now, outside its schedule, writing its rows into the project. Requested by requested by.

    Effect
    write
    Steps
    6
    Needs
    import id
    Install
    mixpanel-warehouse-import-run
  8. Erase a person from Mixpanel on request

    Use it when A user has asked to be deleted and every residency region must be cleared with a signed-off audit trail.

    A person decidesPermanently erase Mixpanel profile distinct id from the US, EU and India regions, requested by requested by. This cannot be undone.

    Effect
    destructive
    Steps
    6
    Needs
    distinct id, from date and to date
    Install
    mixpanel-gdpr-delete-profile
install a plan
account { op: "plans.install", slug: "mixpanel-weekly-funnel-report" }
# then ask for it by name; a schedule can run it on a timetable

Governance for Mixpanel

Destructive actions wait for a yes.

21 Mixpanel actions are destructive. These are all of them:

  • Delete a warehouse importmixpanel.warehouse_imports.delete
  • Delete a group profile (US)mixpanel.groups.delete
  • Delete a user profile (US)mixpanel.profiles.delete
  • Delete a group profile (EU)mixpanel.groups_eu.delete
  • Delete a group profile (India)mixpanel.groups_in.delete
  • Delete a user profile (EU)mixpanel.profiles_eu.delete
  • Delete a user profile (India)mixpanel.profiles_in.delete
  • Delete a service accountmixpanel.service_accounts.delete
  • Merge two identities ($merge) (US)mixpanel.identities.merge
  • Merge two identities ($merge) (EU)mixpanel.identities_eu.merge
  • Merge two identities ($merge) (India)mixpanel.identities_in.merge
  • Delete an experimentmixpanel.experiments.delete
  • Delete an annotationmixpanel.annotations.delete
  • Cancel a data pipeline (US)mixpanel.pipelines.cancel
  • Cancel a data pipeline (EU)mixpanel.pipelines_eu.cancel
  • Cancel a data pipeline (India)mixpanel.pipelines_in.cancel
  • Delete a feature flagmixpanel.feature_flag_definitions.delete
  • Remove service accounts from projectsmixpanel.service_accounts.remove_from_projects
  • Delete a Lexicon schemamixpanel.schemas.delete
  • Delete all Lexicon schemasmixpanel.schemas.delete_all
  • Delete Lexicon schemas of a typemixpanel.schemas.delete_by_type

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

domixpanel.warehouse_imports.deleteconfirm_policy: human

Delete a warehouse import?

intent: the user asked me to delete a warehouse import

run suspended · waiting for a named person · key mixpanel-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "mixpanel-agent",  allowed_actions: ["mixpanel.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "mixpanel.warehouse_imports.delete", approver: "[email protected]" },    { match: "mixpanel.groups.delete", approver: "[email protected]" },    { match: "mixpanel.profiles.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Mixpanel only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Mixpanel costs on actionlake.

Every Mixpanel action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Mixpanel refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 176 Mixpanel actions
  • 176actions pageeach page of a long list is one call
  • 58reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Mixpanel action.

176 actions by area: the id your agent calls, what it does, and its effect.

Profiles29
  • mixpanel.profiles.appendAppend to profile list properties (US)write
  • mixpanel.profiles.batch_updateBatch update user profiles (US)write
  • mixpanel.profiles.deleteDelete a user profile (US)destructive
  • mixpanel.profiles.incrementIncrement numeric profile properties (US)write
  • mixpanel.profiles.queryQuery user profilesread
  • mixpanel.profiles.query_pageQuery user profiles, one page with its sessionread
  • mixpanel.profiles.removeRemove from profile list properties (US)write
  • mixpanel.profiles.setSet profile properties (US)write
  • mixpanel.profiles.set_onceSet profile properties once (US)write
  • mixpanel.profiles.unionUnion values into profile list properties (US)write
  • mixpanel.profiles.unsetUnset profile properties (US)write
  • mixpanel.profiles_eu.appendAppend to profile list properties (EU)write
  • mixpanel.profiles_eu.batch_updateBatch update user profiles (EU)write
  • mixpanel.profiles_eu.deleteDelete a user profile (EU)destructive
  • mixpanel.profiles_eu.incrementIncrement numeric profile properties (EU)write
  • mixpanel.profiles_eu.removeRemove from profile list properties (EU)write
  • mixpanel.profiles_eu.setSet profile properties (EU)write
  • mixpanel.profiles_eu.set_onceSet profile properties once (EU)write
  • mixpanel.profiles_eu.unionUnion values into profile list properties (EU)write
  • mixpanel.profiles_eu.unsetUnset profile properties (EU)write
  • mixpanel.profiles_in.appendAppend to profile list properties (India)write
  • mixpanel.profiles_in.batch_updateBatch update user profiles (India)write
  • mixpanel.profiles_in.deleteDelete a user profile (India)destructive
  • mixpanel.profiles_in.incrementIncrement numeric profile properties (India)write
  • mixpanel.profiles_in.removeRemove from profile list properties (India)write
  • mixpanel.profiles_in.setSet profile properties (India)write
  • mixpanel.profiles_in.set_onceSet profile properties once (India)write
  • mixpanel.profiles_in.unionUnion values into profile list properties (India)write
  • mixpanel.profiles_in.unsetUnset profile properties (India)write
Pipelines24
  • mixpanel.pipelines.cancelCancel a data pipeline (US)destructive
  • mixpanel.pipelines.createCreate a data pipeline (US)write
  • mixpanel.pipelines.get_statusGet a data pipeline's status (US)read
  • mixpanel.pipelines.listList data pipelines (US)read
  • mixpanel.pipelines.list_timelineList a data pipeline's sync dates (US)read
  • mixpanel.pipelines.pausePause a data pipeline (US)write
  • mixpanel.pipelines.resumeResume a data pipeline (US)write
  • mixpanel.pipelines.updateEdit a data pipeline (US)write
  • mixpanel.pipelines_eu.cancelCancel a data pipeline (EU)destructive
  • mixpanel.pipelines_eu.createCreate a data pipeline (EU)write
  • mixpanel.pipelines_eu.get_statusGet a data pipeline's status (EU)read
  • mixpanel.pipelines_eu.listList data pipelines (EU)read
  • mixpanel.pipelines_eu.list_timelineList a data pipeline's sync dates (EU)read
  • mixpanel.pipelines_eu.pausePause a data pipeline (EU)write
  • mixpanel.pipelines_eu.resumeResume a data pipeline (EU)write
  • mixpanel.pipelines_eu.updateEdit a data pipeline (EU)write
  • mixpanel.pipelines_in.cancelCancel a data pipeline (India)destructive
  • mixpanel.pipelines_in.createCreate a data pipeline (India)write
  • mixpanel.pipelines_in.get_statusGet a data pipeline's status (India)read
  • mixpanel.pipelines_in.listList data pipelines (India)read
  • mixpanel.pipelines_in.list_timelineList a data pipeline's sync dates (India)read
  • mixpanel.pipelines_in.pausePause a data pipeline (India)write
  • mixpanel.pipelines_in.resumeResume a data pipeline (India)write
  • mixpanel.pipelines_in.updateEdit a data pipeline (India)write
Groups21
  • mixpanel.groups.batch_updateBatch update group profiles (US)write
  • mixpanel.groups.deleteDelete a group profile (US)destructive
  • mixpanel.groups.removeRemove from group list properties (US)write
  • mixpanel.groups.setSet group profile properties (US)write
  • mixpanel.groups.set_onceSet group profile properties once (US)write
  • mixpanel.groups.unionUnion values into group list properties (US)write
  • mixpanel.groups.unsetUnset group profile properties (US)write
  • mixpanel.groups_eu.batch_updateBatch update group profiles (EU)write
  • mixpanel.groups_eu.deleteDelete a group profile (EU)destructive
  • mixpanel.groups_eu.removeRemove from group list properties (EU)write
  • mixpanel.groups_eu.setSet group profile properties (EU)write
  • mixpanel.groups_eu.set_onceSet group profile properties once (EU)write
  • mixpanel.groups_eu.unionUnion values into group list properties (EU)write
  • mixpanel.groups_eu.unsetUnset group profile properties (EU)write
  • mixpanel.groups_in.batch_updateBatch update group profiles (India)write
  • mixpanel.groups_in.deleteDelete a group profile (India)destructive
  • mixpanel.groups_in.removeRemove from group list properties (India)write
  • mixpanel.groups_in.setSet group profile properties (India)write
  • mixpanel.groups_in.set_onceSet group profile properties once (India)write
  • mixpanel.groups_in.unionUnion values into group list properties (India)write
  • mixpanel.groups_in.unsetUnset group profile properties (India)write
Ingestion21
  • mixpanel.events.importImport one event (US)write
  • mixpanel.events.import_batchImport a batch of events (US)write
  • mixpanel.events.trackTrack an event (US)write
  • mixpanel.events.track_batchTrack a batch of events (US)write
  • mixpanel.events_eu.importImport one event (EU)write
  • mixpanel.events_eu.import_batchImport a batch of events (EU)write
  • mixpanel.events_eu.trackTrack an event (EU)write
  • mixpanel.events_eu.track_batchTrack a batch of events (EU)write
  • mixpanel.events_in.importImport one event (India)write
  • mixpanel.events_in.import_batchImport a batch of events (India)write
  • mixpanel.events_in.trackTrack an event (India)write
  • mixpanel.events_in.track_batchTrack a batch of events (India)write
  • mixpanel.identities.create_aliasCreate alias ($create_alias) (US)write
  • mixpanel.identities.identifyCreate identity ($identify) (US)write
  • mixpanel.identities.mergeMerge two identities ($merge) (US)destructive
  • mixpanel.identities_eu.create_aliasCreate alias ($create_alias) (EU)write
  • mixpanel.identities_eu.identifyCreate identity ($identify) (EU)write
  • mixpanel.identities_eu.mergeMerge two identities ($merge) (EU)destructive
  • mixpanel.identities_in.create_aliasCreate alias ($create_alias) (India)write
  • mixpanel.identities_in.identifyCreate identity ($identify) (India)write
  • mixpanel.identities_in.mergeMerge two identities ($merge) (India)destructive
Query18
  • mixpanel.activity.queryQuery user activity streamread
  • mixpanel.cohorts.listList saved cohortsread
  • mixpanel.event_properties.list_topList an event's top propertiesread
  • mixpanel.event_properties.list_top_valuesList an event property's top valuesread
  • mixpanel.event_properties.queryQuery event property countsread
  • mixpanel.events.list_namesList event namesread
  • mixpanel.events.list_topList today's top eventsread
  • mixpanel.events.queryQuery event countsread
  • mixpanel.funnels.listList saved funnelsread
  • mixpanel.funnels.queryQuery a saved funnelread
  • mixpanel.insights.queryQuery a saved Insights reportread
  • mixpanel.jql.queryRun a JQL queryread
  • mixpanel.retention.queryQuery retentionread
  • mixpanel.retention.query_frequencyQuery frequency (addiction) reportread
  • mixpanel.segmentation.queryQuery segmentationread
  • mixpanel.segmentation.query_averageQuery segmentation averageread
  • mixpanel.segmentation.query_numericQuery segmentation by numeric bucketsread
  • mixpanel.segmentation.query_sumQuery segmentation sumread
Feature flags11
  • mixpanel.feature_flag_definitions.createCreate a feature flagwrite
  • mixpanel.feature_flag_definitions.deleteDelete a feature flagdestructive
  • mixpanel.feature_flag_definitions.getGet a feature flagread
  • mixpanel.feature_flag_definitions.listList feature flags (management)read
  • mixpanel.feature_flag_definitions.updateUpdate a feature flagwrite
  • mixpanel.feature_flags.get_assignmentsGet feature flag variant assignments (US)read
  • mixpanel.feature_flags.list_definitionsList feature flag definitions (US)read
  • mixpanel.feature_flags_eu.get_assignmentsGet feature flag variant assignments (EU)read
  • mixpanel.feature_flags_eu.list_definitionsList feature flag definitions (EU)read
  • mixpanel.feature_flags_in.get_assignmentsGet feature flag variant assignments (India)read
  • mixpanel.feature_flags_in.list_definitionsList feature flag definitions (India)read
Experiments10
  • mixpanel.experiments.archiveArchive an experimentwrite
  • mixpanel.experiments.createCreate an experimentwrite
  • mixpanel.experiments.decideDecide an experimentwrite
  • mixpanel.experiments.deleteDelete an experimentdestructive
  • mixpanel.experiments.force_concludeForce-conclude an experimentwrite
  • mixpanel.experiments.getGet an experimentread
  • mixpanel.experiments.launchLaunch an experimentwrite
  • mixpanel.experiments.listList experimentsread
  • mixpanel.experiments.unarchiveUnarchive an experimentwrite
  • mixpanel.experiments.updateUpdate an experimentwrite
Warehouse10
  • mixpanel.warehouse_imports.create_event_streamCreate an event-stream warehouse importwrite
  • mixpanel.warehouse_imports.create_groupsCreate a groups warehouse importwrite
  • mixpanel.warehouse_imports.create_lookup_tableCreate a lookup-table warehouse importwrite
  • mixpanel.warehouse_imports.create_peopleCreate a people warehouse importwrite
  • mixpanel.warehouse_imports.deleteDelete a warehouse importdestructive
  • mixpanel.warehouse_imports.getGet a warehouse importread
  • mixpanel.warehouse_imports.listList warehouse importsread
  • mixpanel.warehouse_imports.list_historyList a warehouse import's run historyread
  • mixpanel.warehouse_imports.runRun a warehouse import nowwrite
  • mixpanel.warehouse_imports.updateUpdate a warehouse importwrite
Lexicon8
  • mixpanel.schemas.deleteDelete a Lexicon schemadestructive
  • mixpanel.schemas.delete_allDelete all Lexicon schemasdestructive
  • mixpanel.schemas.delete_by_typeDelete Lexicon schemas of a typedestructive
  • mixpanel.schemas.getGet a Lexicon schemaread
  • mixpanel.schemas.listList Lexicon schemasread
  • mixpanel.schemas.list_by_typeList Lexicon schemas of a typeread
  • mixpanel.schemas.uploadUpload Lexicon schemaswrite
  • mixpanel.schemas.upload_oneUpload a Lexicon schemawrite
Annotations7
  • mixpanel.annotation_tags.createCreate an annotation tagwrite
  • mixpanel.annotation_tags.listList annotation tagsread
  • mixpanel.annotations.createCreate an annotationwrite
  • mixpanel.annotations.deleteDelete an annotationdestructive
  • mixpanel.annotations.getGet an annotationread
  • mixpanel.annotations.listList annotationsread
  • mixpanel.annotations.updateUpdate an annotationwrite
Service accounts7
  • mixpanel.service_accounts.add_to_projectsAdd service accounts to projectswrite
  • mixpanel.service_accounts.createCreate a service accountwrite
  • mixpanel.service_accounts.deleteDelete a service accountdestructive
  • mixpanel.service_accounts.getGet a service accountread
  • mixpanel.service_accounts.listList service accountsread
  • mixpanel.service_accounts.list_for_projectList a project's service accountsread
  • mixpanel.service_accounts.remove_from_projectsRemove service accounts from projectsdestructive
Lookup tables6
  • mixpanel.lookup_tables.listList lookup tables (US)read
  • mixpanel.lookup_tables.replaceReplace a lookup table (US)write
  • mixpanel.lookup_tables_eu.listList lookup tables (EU)read
  • mixpanel.lookup_tables_eu.replaceReplace a lookup table (EU)write
  • mixpanel.lookup_tables_in.listList lookup tables (India)read
  • mixpanel.lookup_tables_in.replaceReplace a lookup table (India)write
Audit3
  • mixpanel.audit_logs.queryQuery organization audit logs (US)read
  • mixpanel.audit_logs_eu.queryQuery organization audit logs (EU)read
  • mixpanel.audit_logs_in.queryQuery organization audit logs (India)read
Account1
  • mixpanel.me.getGet the service account's projects and organizationsread

Questions

The Mixpanel MCP server, answered.

Is there a Mixpanel MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 176 Mixpanel actions across profiles, pipelines, groups and ingestion, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Mixpanel.

What do I need to connect Mixpanel?

Mixpanel service account username and Mixpanel service account secret (blank when authenticating with a project secret). Plus your host, your project id and your project token. The free call account { op: "connections.requirements", service: "mixpanel" } lists exactly what to paste.

Can an AI agent delete or change things in Mixpanel?

Only if its key allows it, and only with an explicit confirmation. 21 Mixpanel actions are destructive, including delete a warehouse import, delete a group profile (US) and delete a user profile (US). Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Mixpanel API limit?

actionlake paces every call to the limits in the Mixpanel service file: 60 calls an hour, at most 5 at a time per connection. Repeated reads are answered from cache (58 Mixpanel actions can be), which never reaches Mixpanel.

What does a Mixpanel action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (176 Mixpanel actions page). Cache hits, searches, dry runs and calls Mixpanel refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Mixpanel API does it cover?

The Mixpanel API 2026-09 at mixpanel.com by default, or the base URL set when you connect. It is built from Mixpanel's documentation as read on 20 September 2026. 176 actions in 14 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Mixpanel data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Mixpanel credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Mixpanel today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.