Skip to main content
Glama

Funnel conversion

get_funnel
Read-onlyIdempotent

Compute a funnel: each step counts visitors who reached it after the step before. Pass steps like ["page:/pricing", "goal:signup", "goal:checkout"] ("page:blog" = any page that contains blog, "page:/docs*" = any page that starts with /docs; a bare name is a goal; "not:upgrade" = a "did not complete" step: people who did not do the goal before the next step, never the first step), or name a funnel saved in the dashboard or in analytics.yaml. With neither, all saved funnels are computed. The result names the weakest step. revenue is the payments made after people reached a step (last touch); revenue_stopped_here is the part from people whose last step it is.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_funnel"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoLast day, inclusive (YYYY-MM-DD).
fromNoFirst day (YYYY-MM-DD, site time zone). Use with to instead of period.
nameNoName of a saved or planned funnel.
siteNoSite domain (example.com), id or public id (tb_…). Optional with a site key, or when the account has one site.
stepsNo2 to 8 steps: page:/path, page:*text*, page:/prefix*, goal:name or not:goal_name (did not complete; not the first step).
periodNoTime range. Default 30d. today, yesterday, 24h, 7d, 30d, 90d, 12m, wtd, mtd, ytd, all.
filtersNoOnly visits that match every filter. A value is "is": {"country": "US"}; a list is "is any of": {"country": ["PT", "ES"]}; an object picks the operator: {"page": {"contains": "/blog"}}, {"channel": {"is_not": ["Direct", "Email"]}}, {"page": {"not_contains": "/admin"}}. Operators: is, is_not, contains, not_contains (case-insensitive). "visitor" is "new" or "returning". "ad" is an ad campaign as "google:<campaign id>" or "meta:<campaign id>" (the visits that the Ads page counts for it). Use "(none)" for empty values; countries take ISO codes or English names.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the read-only, idempotent, non-destructive annotations, the description explains the funnel counting model, the "not:" step semantics including that it cannot be first, and how revenue and revenue_stopped_here are attributed. This gives the agent meaningful behavioral context for interpreting results.

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?

The description is front-loaded with the core action and then supplies dense but relevant syntax and output semantics. It avoids filler, though the single long paragraph packs multiple concepts together and duplicates some schema detail.

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 7-parameter tool with nested filters and no output schema, the description covers the main computation model, step/name usage, default saved-funnel behavior, and key result fields. It could say more about the output shape and complex filters, but the schema carries those details well.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds useful examples and semantics for steps, wildcard page matching, bare goal names, and saved funnel lookup. It adds less for filters and period because the schema already documents those thoroughly.

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?

The description opens with a specific verb and resource: "Compute a funnel," then defines the core counting semantics. It clearly distinguishes this from funnel management siblings such as create_funnel, list_funnels, update_funnel, and delete_funnel.

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?

It explains when to pass explicit steps, when to use a saved funnel name, and that omitting both computes all saved funnels. However, it does not explicitly name alternatives such as list_funnels for discovering funnel names or get_journey for path exploration, so usage relative to siblings is only implied.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources