mixpanel
Server Details
Query Mixpanel events, funnels, retention, segmentation and insights (JQL).
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: custom JQL, funnel listing/querying, insights, retention, segmentation, and top events. No overlap exists.
All tools follow the 'mixpanel_verb_noun' pattern consistently (e.g., list_funnels, query_funnel, query_insights), with only minor exceptions like 'jql' and 'top_events' still fitting the pattern.
With 7 tools, the server covers the core Mixpanel analytics capabilities without being overwhelming or insufficient.
The set covers major query types (JQL, funnels, insights, retention, segmentation, top events) but lacks user profile or cohort management tools, which are secondary for analytics.
Available Tools
7 toolsmixpanel_jqlRun a JQL queryARead-onlyInspect
Run a custom JQL (JavaScript Query Language) script for arbitrary analysis. Power-user escape hatch. Script must define main(). Query API: POST /jql. (Upstream maintenance mode; 2-min timeout, 5GB/query limit.)
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Optional JSON string exposed to the script as the `params` global. | |
| script | Yes | JQL script defining function main(){ ... } that returns rows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses 'Upstream maintenance mode; 2-min timeout, 5GB/query limit' which adds valuable constraints beyond the readOnlyHint annotation. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no wasted words: purpose, usage hint, and technical constraints are front-loaded and efficiently presented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a custom script tool, the description covers purpose, constraints (timeout, size), and input requirements. No output schema exists, but return value is implied. Could mention error handling, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions; description adds 'Script must define main()' for the script parameter, which slightly enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'Run a custom JQL script for arbitrary analysis' and labels it as 'Power-user escape hatch', clearly distinguishing it from sibling tools like mixpanel_segmentation or mixpanel_retention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates it's a 'power-user escape hatch' implying use when other tools are insufficient, and mentions 'Script must define main()' as a prerequisite. However, it lacks explicit when-not-to-use or direct comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mixpanel_list_funnelsList saved funnelsARead-onlyInspect
Get the funnel_id and name of every saved funnel in the project. Query API: GET /funnels/list.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnlyHint=true, and the description reinforces this with 'Get'. It adds specific behavioral context: what fields are returned (funnel_id, name) and the HTTP method/endpoint, which goes beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core purpose. Every word is informative; no fluff or redundancy. Ideal length for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's trivial nature (no parameters, no output schema), the description provides sufficient information: what is returned and how to call it. It could mention that it returns all funnels without filtering, but the current description is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100%. Per the baseline rule for 0 parameters, score starts at 4. Since there are no parameters to describe, the description does not need to add parameter semantics, and no additional context is missed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and the exact data returned ('funnel_id and name of every saved funnel'). It also specifies the scope ('in the project') and mentions the underlying API endpoint, making the purpose unambiguous and distinct from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., mixpanel_query_funnel for detailed funnel data). The description only states what it does, without context for appropriate usage or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mixpanel_query_funnelQuery a saved funnelARead-onlyInspect
Get conversion data for a saved funnel (use mixpanel_list_funnels to find funnel_id). Query API: GET /funnels.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | Bucketing unit. | |
| limit | No | Limit on segmentation breakdown. | |
| length | No | Conversion window length. | |
| to_date | Yes | End date yyyy-mm-dd (inclusive). | |
| interval | No | Number of days per bucket. | |
| from_date | Yes | Start date yyyy-mm-dd (inclusive). | |
| funnel_id | Yes | Saved funnel id (from mixpanel_list_funnels). | |
| length_unit | No | Unit for `length`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the tool uses a GET request, consistent with the readOnlyHint annotation. Annotations already declare readOnlyHint=true, so the burden is lower. The description adds no further behavioral notes (e.g., rate limits, pagination, or default values), but the combination of annotations and schema covers basic behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence plus a short API note. Every piece of information is essential, and it is front-loaded with the primary action. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters (3 required) and no output schema. The description does not explain the return format or typical response, which could be important for an agent. While the high schema coverage partially compensates, the lack of output behavior is a gap. Still, the description provides enough context for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already documents all 8 parameters. The description adds value by indicating that funnel_id comes from mixpanel_list_funnels, but does not elaborate on other parameters beyond what the schema provides. Baseline 3 is appropriate given high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool 'Get conversion data for a saved funnel', linking it to a specific resource (saved funnel) and verb (get conversion data). It also references the sibling tool mixpanel_list_funnels to find the funnel_id, clearly distinguishing its purpose from other Mixpanel tools like mixpanel_segmentation or mixpanel_retention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear prerequisite: use mixpanel_list_funnels to obtain the funnel_id. It also mentions the underlying API call (GET /funnels). While it does not explicitly list when not to use or name alternatives, the context of sibling tools and the specific reference to list_funnels gives sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mixpanel_query_insightsQuery a saved Insights reportARead-onlyInspect
Fetch the computed data behind a saved Insights report by bookmark_id (the report id in the board URL). Mixpanel's recommended, non-deprecated path for programmatic reporting. Query API: GET /insights.
| Name | Required | Description | Default |
|---|---|---|---|
| bookmark_id | Yes | Insights report id (bookmark_id) from the report URL. | |
| workspace_id | No | Workspace id, if applicable. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true. Description adds that data is pre-computed (not live querying) and mentions the API endpoint. No contradiction. Could mention auth or error handling but not required given annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. First sentence front-loads purpose; second adds context. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description clarifies the result is 'computed data'. Could specify response format or pagination, but for a simple fetch it's adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so schema already documents both parameters. Description only repeats 'by bookmark_id' without adding extra semantics for workspace_id. No improvement over schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb ('fetch'), resource ('computed data behind a saved Insights report'), and identifier ('bookmark_id'). It also distinguishes from siblings by highlighting this is Mixpanel's recommended path for programmatic reporting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description mentions 'Mixpanel's recommended, non-deprecated path', implying preference over alternatives, but lacks explicit 'when not to use' or comparison with sibling tools like segmentation or funnels.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mixpanel_retentionRetention reportARead-onlyInspect
Cohort retention: of users who did born_event, how many came back and did event over subsequent intervals. Query API: GET /retention.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | Interval unit. Default day. | |
| event | No | Returning event to measure. If omitted, any event counts. | |
| where | No | Filter expression applied to the returning event. | |
| to_date | Yes | End date yyyy-mm-dd (inclusive). | |
| interval | No | Units per bucket (<=90 if days). Default 1. | |
| from_date | Yes | Start date yyyy-mm-dd (inclusive). | |
| born_event | No | The defining first event for a birth cohort. Required when retention_type=birth. | |
| born_where | No | Filter expression applied to born_event. | |
| interval_count | No | Number of intervals to report. | |
| retention_type | No | birth = first-time retention (default), compounded = recurring. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations (readOnlyHint=true) by explaining the query formula and API endpoint. It is consistent with read-only behavior. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences), front-loaded with the core purpose, and includes an API reference. Efficient use of words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters, no output schema, and complex retention logic, the description is insufficient. It does not explain the output format (e.g., retention percentages or table structure), which is needed for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds a brief summary but no additional meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes cohort retention, specifying the key events (born_event and event). It distinguishes from siblings by focusing on retention, but does not explicitly differentiate from other Mixpanel tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for cohort retention analysis but does not provide guidance on when to use this tool versus siblings like mixpanel_segmentation or mixpanel_query_funnel. No when-not-to-use or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mixpanel_segmentationSegment an eventARead-onlyInspect
Count/segment/filter a single event over a date range. e.g. 'Signed up' by country last week. Params on/where use Mixpanel segmentation expressions like properties["$country_code"]. Query API: GET /segmentation. (Upstream maintenance mode — for saved reports prefer mixpanel_query_insights.)
| Name | Required | Description | Default |
|---|---|---|---|
| on | No | Property expression to segment on, e.g. properties["$city"]. | |
| type | No | general | unique | average. Default general. | |
| unit | No | Bucket size. Default day. | |
| event | Yes | Single event name to analyze (not an array). | |
| limit | No | Top N property values (only if `on` set). Default 60. | |
| where | No | Filter expression, e.g. properties["$os"]=="iOS". | |
| to_date | Yes | End date yyyy-mm-dd (inclusive). | |
| from_date | Yes | Start date yyyy-mm-dd (inclusive). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds value by mentioning the underlying API endpoint ('Query API: GET /segmentation'). No contradictory statements, but no additional behavioral traits like rate limits or destructive actions are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences efficiently convey purpose, example, and usage notes. No redundant words; the most critical information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters (3 required), 100% schema explanation, and no output schema, the description covers the core function and provides context for expression syntax and tool preference. Could briefly mention output format, but not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described in the schema. The description adds minimal extra semantic value beyond noting the expression format for `on` and `where`. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('Count/segment/filter') and resource ('a single event over a date range'), includes a concrete example, and distinguishes from the sibling tool mixpanel_query_insights by noting maintenance mode preference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance on when to use this tool (for segmentation queries) and when to prefer an alternative (saved reports using mixpanel_query_insights). Also explains the expression syntax for parameters `on` and `where`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mixpanel_top_eventsTop events (today)ARead-onlyInspect
List today's top events with counts and % change vs yesterday. Good first call to discover what events a project tracks. Query API: GET /events/top.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | general (totals), unique (per-user), or average. Default general. | |
| limit | No | Max events to return. Default 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's job is lighter. It adds that the output includes counts and percentage change, but does not disclose potential rate limits, auth requirements, or behavior when no events exist. Adequate but not above baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, directly to the point. Every sentence adds value: the first explains what the tool does, the second suggests use case and exposes the API endpoint. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 2 optional parameters, no output schema, and readOnlyHint annotation, the description covers purpose and usage adequately. It might benefit from a brief note on return format, but it is complete enough for a simple discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – both 'type' and 'limit' have clear descriptions in the input schema. The tool description adds no extra parameter information beyond what is already structured, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'List today's top events with counts and % change vs yesterday' – a specific verb and resource. Suggests its role as a first call for discovery, distinguishing it from more complex query tools like mixpanel_segmentation or mixpanel_jql.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Good first call to discover what events a project tracks' provides clear usage context. However, it does not explicitly exclude alternatives or mention when not to use it, which prevents a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
mixpanel_jql - First observed
mixpanel_list_funnels - First observed
mixpanel_query_funnel - First observed
mixpanel_query_insights - First observed
mixpanel_retention - First observed
mixpanel_segmentation - First observed
mixpanel_top_events
Related MCP Connectors
Mixpanel MCP — wraps Mixpanel Data Export API (mixpanel.com/api)
Query PanDev Metrics analytics and reporting data
Query Honeycomb observability data: traces, events, metrics, SLOs, triggers, and boards.
Read-only Yandex Metrika MCP. Query visits, sources, geo, devices and more in plain language.
Related MCP Servers
- AlicenseAqualityFmaintenanceConnect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.1919MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Mixpanel product analytics that enables natural language querying of events, funnels, retention, cohorts, and user profiles, plus JQL support.33 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to query Mixpanel event data, funnel conversion rates, and retention cohorts via MCP tools or natural language.MIT
- AlicenseNot gradedqualityBmaintenanceEnables asking product analytics questions in English and receiving answers as real SQL along with the resulting numbers, through read-only MCP tools for funnels, retention, trends, paths, and event counts.161 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.