Skip to main content
Glama

Mixpanel MCP by usefulapi

Server Details

Query Mixpanel events, funnels, retention, segmentation and insights (JQL).

Ownership verified
Status
Healthy
Uptime
84.5% over 75 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation4/5

Each tool maps to a distinct Mixpanel analysis type: JQL escape hatch, funnels, insights, retention, segmentation, and top events. There is mild overlap between segmentation and query_insights (both return event counts) and between query_funnel/segmentation, but descriptions clearly steer the agent (saved reports vs ad-hoc).

Naming Consistency4/5

All tools share the mixpanel_ prefix and snake_case, which is predictable. Verb usage is slightly mixed (query_funnel, query_insights use verbs; retention, segmentation, jql, top_events are noun-style), but the set reads consistently overall.

Tool Count5/5

Seven tools is well-scoped for a Mixpanel analytics server, with each tool covering a distinct query endpoint rather than redundant wrappers. Nothing feels padded or missing at the count level.

Completeness4/5

Covers the major analysis workflows: event segmentation, funnels (list+query), retention, saved insights, top events, and a JQL escape hatch. Minor gaps exist—no event/property metadata listing, no raw export, no cohort/people management or saved-insights listing—but core querying is well covered.

Available Tools

7 tools
mixpanel_jqlRun a JQL queryA
Read-only
Inspect

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.)

NameRequiredDescriptionDefault
paramsNoOptional JSON string exposed to the script as the `params` global.
scriptYesJQL script defining function main(){ ... } that returns rows.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true, so the description usefully adds operational constraints the agent would otherwise not know: upstream maintenance mode, a 2-minute timeout, a 5GB-per-query ceiling, and the POST /jql endpoint. It does not describe return shape or failure behavior, so it stops short of full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short, front-loaded sentences with no filler, and the operational limits are packed into a single parenthetical. Minor redundancy in restating 'Run a JQL query' from the title prevents a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a power-user escape hatch with full schema coverage and no output schema, the description supplies the constraints an agent needs to avoid failed invocations (timeout, size limit, maintenance mode). It omits script examples and error-return behavior, so it is strong but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (script and params) are already documented in the schema. The description's mention that the script must define main() and that params is a global echoes the schema rather than adding new syntax or format guidance, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (run a JQL script) and clarifies the scope as 'arbitrary analysis' via a 'power-user escape hatch,' which cleanly distinguishes it from the canned-analysis siblings like mixpanel_segmentation or mixpanel_query_funnel. An agent can tell this is the raw-script tool without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'For arbitrary analysis' plus 'power-user escape hatch' conveys the context: reach for this when the predefined query tools can't express the analysis. However, it never names an alternative or states an explicit exclusion (e.g., 'prefer mixpanel_segmentation for standard event queries'), so the routing is implied rather than spelled out.

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 funnelsA
Read-only
Inspect

Get the funnel_id and name of every saved funnel in the project. Query API: GET /funnels/list.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already covers the safety profile, so the description's job is to add context beyond that. It does so by disclosing project scope ('in the project') and the exact return fields, which is valuable given the absence of an output schema. Pagination and ordering behavior remain unstated, keeping it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the primary purpose front-loaded. The API endpoint detail ('GET /funnels/list') is not strictly necessary for an agent's invocation decision but is brief and harmless.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only listing tool with no output schema, the description covers project scope and the exact fields returned. It stops short of mentioning pagination or ordering, which are minor omissions for this tool type.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline score of 4 applies. No parameter semantics are needed, and the description does not need to compensate for any schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('every saved funnel in the project'), and goes further by naming the exact fields returned ('funnel_id and name'). It does not explicitly name the sibling query_funnel, but the 'saved funnels' scope is distinct enough from the analytics-querying siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance, prerequisites, or alternative routing are provided. The workflow of listing funnel IDs before calling mixpanel_query_funnel is only implicit and left for the agent to infer.

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 funnelB
Read-only
Inspect

Get conversion data for a saved funnel (use mixpanel_list_funnels to find funnel_id). Query API: GET /funnels.

NameRequiredDescriptionDefault
unitNoBucketing unit.
limitNoLimit on segmentation breakdown.
lengthNoConversion window length.
to_dateYesEnd date yyyy-mm-dd (inclusive).
intervalNoNumber of days per bucket.
from_dateYesStart date yyyy-mm-dd (inclusive).
funnel_idYesSaved funnel id (from mixpanel_list_funnels).
length_unitNoUnit for `length`.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds only 'Query API: GET /funnels,' which restates the endpoint rather than disclosing anything behavioral. It says nothing about auth requirements, rate limits, or the shape/cost of returned conversion data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the purpose front-loaded and no wasted words. The trailing 'Query API: GET /funnels' is mildly redundant but cheap.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter read-only query tool with full schema coverage and no output schema, the definition covers the core action and the funnel_id sourcing. It leaves conversion-window semantics to the schema, which is acceptable, though a bit more guidance on interpretation would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (unit, limit, length, interval, length_unit, dates) is already documented in the schema. The description adds no parameter meaning beyond that, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Get conversion data for a saved funnel.' It also points to mixpanel_list_funnels as the source of funnel_id, which helps an agent place it in the workflow. It does not explicitly contrast with mixpanel_segmentation or mixpanel_retention, so it falls just short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides one useful prerequisite: use mixpanel_list_funnels to obtain funnel_id. However, it gives no guidance on when to choose this over mixpanel_segmentation or mixpanel_retention, which analyze related but different things.

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 reportA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
bookmark_idYesInsights report id (bookmark_id) from the report URL.
workspace_idNoWorkspace id, if applicable.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, so the bar is lower. The description adds that the report must already be saved (bookmark_id) and that this is the non-deprecated path, plus the underlying endpoint, but says nothing about rate limits, response shape, or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and required identifier, then the recommendation, then the endpoint. No filler or hedging; every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only query with no output schema and annotations covering safety, the definition supplies enough to call it correctly. It could say more about what the returned computed data looks like, but nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both bookmark_id and workspace_id are already documented. The description's parenthetical on bookmark_id largely repeats the schema's 'from the report URL', and workspace_id is not addressed at all, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Fetch) and resource (computed data behind a saved Insights report) and anchors it to the required identifier via '(the report id in the board URL)'. This clearly separates it from funnel, retention, and segmentation siblings that compute different report types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Mixpanel's recommended, non-deprecated path for programmatic reporting' gives a positive-use signal, but it never names a sibling or states conditions under which an agent should prefer mixpanel_segmentation, mixpanel_retention, or mixpanel_query_funnel instead. Usage is implied rather than prescribed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mixpanel_retentionRetention reportA
Read-only
Inspect

Cohort retention: of users who did born_event, how many came back and did event over subsequent intervals. Query API: GET /retention.

NameRequiredDescriptionDefault
unitNoInterval unit. Default day.
eventNoReturning event to measure. If omitted, any event counts.
whereNoFilter expression applied to the returning event.
to_dateYesEnd date yyyy-mm-dd (inclusive).
intervalNoUnits per bucket (<=90 if days). Default 1.
from_dateYesStart date yyyy-mm-dd (inclusive).
born_eventNoThe defining first event for a birth cohort. Required when retention_type=birth.
born_whereNoFilter expression applied to born_event.
interval_countNoNumber of intervals to report.
retention_typeNobirth = first-time retention (default), compounded = recurring.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes this as a safe read operation, so the bar is lower. The description adds the backend endpoint (GET /retention), which is minor context, but says nothing about return shape, pagination, or query limits. With safety already covered by annotations, this is adequately but not richly informative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight clauses: the retention definition first, the endpoint second. Nothing is wasted and the core meaning is front-loaded. It is brief enough to be efficient without being cryptic.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter tool, the schema fully documents every parameter, and annotations cover the safety profile, so the description's job is mainly to convey the analytical intent. It does that well, and no output schema exists that would need explaining. It is complete enough to call correctly, though not exhaustively descriptive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 10 parameters – including the non-obvious born_event, retention_type, and interval semantics – are already documented in the schema. The description adds no syntax, format, or default detail beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific analytical operation: cohort retention measuring how many users who did `born_event` returned to do `event` over subsequent intervals. It maps cleanly to the retention concept and the GET /retention endpoint. It does not explicitly contrast itself with siblings like mixpanel_segmentation or mixpanel_query_funnel, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the retention framing but there is no explicit statement of when to reach for this tool versus segmentation or funnel analysis, nor any exclusions or prerequisites. An agent must infer from the name and description that this is the cohort-retention-report choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mixpanel_segmentationSegment an eventA
Read-only
Inspect

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.)

NameRequiredDescriptionDefault
onNoProperty expression to segment on, e.g. properties["$city"].
typeNogeneral | unique | average. Default general.
unitNoBucket size. Default day.
eventYesSingle event name to analyze (not an array).
limitNoTop N property values (only if `on` set). Default 60.
whereNoFilter expression, e.g. properties["$os"]=="iOS".
to_dateYesEnd date yyyy-mm-dd (inclusive).
from_dateYesStart date yyyy-mm-dd (inclusive).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint already declaring safety, the description still adds real operational context: the underlying endpoint (GET /segmentation), the expression dialect for `on`/`where`, and an upstream maintenance-mode warning that steers toward alternatives. It does not cover rate limits or the shape of the returned time series, which keeps it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short clauses, each carrying distinct information: purpose, example, expression syntax, endpoint, and the maintenance caveat. Front-loaded with the verb phrase and free of filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an eight-parameter read tool with no output schema, the description supplies purpose, syntax dialect, endpoint, and a fallback alternative. It omits any indication of the response structure (time-bucketed counts vs. breakdown series), which is the one thing an agent might still guess at.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 eight parameters including enums, defaults, and limits. The description only restates that `on`/`where` take segmentation expressions, adding essentially no semantics beyond the schema's own examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb set (count/segment/filter) on a single named resource (event) over a date range, and the concrete example "'Signed up' by country last week" makes the scope unambiguous. It is clearly distinguishable from the funnel/retention/JQL siblings the agent might otherwise pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a routing rule: for saved reports prefer mixpanel_query_insights, and the worked example shows the intended use case. It does not state when to reach for mixpanel_jql or retention instead, so the alternative coverage is partial rather than exhaustive.

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)A
Read-only
Inspect

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.

NameRequiredDescriptionDefault
typeNogeneral (totals), unique (per-user), or average. Default general.
limitNoMax events to return. Default 100.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the agent knows this is a safe read. The description adds the comparison window (today vs yesterday) and the underlying HTTP endpoint, which help set expectations about the data shape. But it says nothing about rate limits, result freshness, or pagination behavior for the list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences plus an endpoint reference. The most decision-relevant fact (what it returns) is front-loaded. No filler or repetition of the name/title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, no-required-parameter read tool with full schema coverage and annotations covering safety, the description covers purpose, scope, and a usage hint adequately. It lacks any note on output fields or pagination, but with no output schema that gap is minor given how straightforward the call is.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – both parameters (type enum and limit) are already documented in the schema with defaults. The description adds no parameter-level detail beyond what the schema provides. Baseline 3 is appropriate when the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: lists today's top events with counts and % change vs yesterday. Clearly distinguishable from siblings like mixpanel_segmentation (trends over time) and mixpanel_query_funnel (funnel analysis). The 'Good first call to discover what events a project tracks' phrase further disambiguates its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly frames itself as a discovery/onboarding call: 'Good first call to discover what events a project tracks.' This tells the agent when to reach for it. However, it doesn't name any alternative or say when not to use it (e.g., for custom date ranges use segmentation instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.
    19
    19
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Mixpanel product analytics that enables natural language querying of events, funnels, retention, cohorts, and user profiles, plus JQL support.
    33 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    249 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.