Skip to main content
Glama

Nachfrage und wirtschaftlichen Verlauf lesen

get_business_funnel
Read-onlyIdempotent

Read inquiry-to-paid-work progression and evidenced bottlenecks. Use get_business_goals for target progress and get_business_budgets for spending controls; neither reconstructs an unavailable funnel.

Choose a comparison

Use explicit boundaries for a repeatable reporting question. For example, from=2026-10-08T00:00:00Z and until=2026-10-15T00:00:00Z cover October 8–14; the comparison covers October 1–7. An inclusive end date therefore needs the following midnight. Changing either boundary changes both interval length and its immediately preceding equal-length baseline.

Interpret the evidence

Reports are live, so corrections can alter earlier results. Embedded goal progress is the current observation, not a historical snapshot. Inquiry creation, scheduled service and payment use different dates and populations; these are not one conversion cohort. Missing progression is not rejection, and reach counts are not people.

Original gross can include later refunds; it is neither retained cash nor profit. Payment can precede fulfillment. Keep unavailable-source reasons rather than inventing zeros or reconstructing them from another tool.

Requires accounting:read, operations:read and a supported tenant source adapter. Optional provider reach uses existing reports under current read rights and consent.

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_business_funnel"
  }
}

Input Schema

NameRequiredDescriptionDefault
fromNoIncluded UTC window start in ISO-8601 Z format. Omission uses 30 days before until; total window must not exceed 366 days.
untilNoExcluded UTC window end, later than from and not in the future. Results cover [from, until), not an inclusive end day; omission uses the current observation time.

Output Schema

NameRequiredDescriptionDefault
ceoNoNative structured analysis; source-specific fields remain extensible. Missing metrics are not implied zeros or comparable cohorts.
periodNo
reasonNo
statusYes
windowNo
sourcesNo
decisionNoNative structured analysis; source-specific fields remain extensible. Missing metrics are not implied zeros or comparable cohorts.
tenantIdNo
unknownsNoThese all-channel totals or financial quantities are not established by this reader. Null means unknown, never zero.
observedAtNo
attributionNoNative structured analysis; source-specific fields remain extensible. Missing metrics are not implied zeros or comparable cohorts.
limitationsNo
channelEventsNo
permitsMutationNo
websiteOfferCohortNo
serviceContributionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "allOf": [
      +    {
      +      "else": {
      +        "required": [
      +          "reason"
      +        ]
      +      },
      +      "if": {
      +        "properties": {
      +          "status": {
      +            "const": "ok"
      +          }
      +        }
      +      },
      +      "then": {
      +        "required": [
      +          "status",
      +          "tenantId",
      +          "observedAt",
      +          "window",
      +          "period",
      +          "ceo",
      +          "serviceContribution",
      +          "attribution",
      +          "websiteOfferCohort",
      +          "channelEvents",
      +          "decision",
      +          "unknowns",
      +          "limitations",
      +          "sources",
      +          "permitsMutation"
      +        ]
      +      }
      +    }
      +  ],
      +  "properties": {
      +    "attribution": {
      +      "additionalProperties": {},
      +      "description": "Native structured analysis; source-specific fields remain extensible. Missing metrics are not implied zeros or comparable cohorts.",
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "ceo": {
      +      "additionalProperties": {},
      +      "description": "Native structured analysis; source-specific fields remain extensible. Missing metrics are not implied zeros or comparable cohorts.",
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "channelEvents": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "description": "Native structured analysis; source-specific fields remain extensible. Missing metrics are not implied zeros or comparable cohorts.",
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "decision": {
      +      "additionalProperties": {},
      +      "description": "Native structured analysis; source-specific fields remain extensible. Missing metrics are not implied zeros or comparable cohorts.",
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "limitations": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "observedAt": {
      +      "type": "string"
      +    },
      +    "period": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "description": "Native structured analysis; source-specific fields remain extensible. Missing metrics are not implied zeros or comparable cohorts.",
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "permitsMutation": {
      +      "const": false,
      +      "type": "boolean"
      +    },
      +    "reason": {
      +      "type": "string"
      +    },
      +    "serviceContribution": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "description": "Native structured analysis; source-specific fields remain extensible. Missing metrics are not implied zeros or comparable cohorts.",
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "sources": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "attribution": {
      +          "enum": [
      +            "ok",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        },
      +        "channels": {
      +          "enum": [
      +            "ok",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        },
      +        "contribution": {
      +          "enum": [
      +            "ok",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        },
      +        "period": {
      +          "enum": [
      +            "ok",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        },
      +        "website": {
      +          "enum": [
      +            "ok",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "period",
      +        "contribution",
      +        "attribution",
      +        "website",
      +        "channels"
      +      ],
      +      "type": "object"
      +    },
      +    "status": {
      +      "enum": [
      +        "ok",
      +        "unavailable"
      +      ],
      +      "type": "string"
      +    },
      +    "tenantId": {
      +      "type": "string"
      +    },
      +    "unknowns": {
      +      "additionalProperties": {},
      +      "description": "These all-channel totals or financial quantities are not established by this reader. Null means unknown, never zero.",
      +      "properties": {
      +        "basis": {
      +          "const": "unified_all_channel_totals_not_established",
      +          "type": "string"
      +        },
      +        "cancellationEventsInPeriod": {
      +          "type": "null"
      +        },
      +        "contactAccountLifetime": {
      +          "type": "null"
      +        },
      +        "customerAcceptedOffers": {
      +          "type": "null"
      +        },
      +        "declinedOffers": {
      +          "type": "null"
      +        },
      +        "formSubmissionsAllChannels": {
      +          "type": "null"
      +        },
      +        "fullContribution": {
      +          "type": "null"
      +        },
      +        "netRevenue": {
      +          "type": "null"
      +        },
      +        "paymentFees": {
      +          "type": "null"
      +        },
      +        "searchClicks": {
      +          "type": "null"
      +        },
      +        "searchImpressions": {
      +          "type": "null"
      +        },
      +        "supplierCosts": {
      +          "type": "null"
      +        }
      +      },
      +      "required": [
      +        "basis",
      +        "searchImpressions",
      +        "searchClicks",
      +        "formSubmissionsAllChannels",
      +        "customerAcceptedOffers",
      +        "declinedOffers",
      +        "cancellationEventsInPeriod",
      +        "supplierCosts",
      +        "paymentFees",
      +        "netRevenue",
      +        "fullContribution",
      +        "contactAccountLifetime"
      +      ],
      +      "type": "object"
      +    },
      +    "websiteOfferCohort": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "description": "Native structured analysis; source-specific fields remain extensible. Missing metrics are not implied zeros or comparable cohorts.",
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "window": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "from": {
      +          "type": "string"
      +        },
      +        "semantics": {
      +          "const": "half_open_utc",
      +          "type": "string"
      +        },
      +        "until": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "from",
      +        "until",
      +        "semantics"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "status"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / from / description
      Added value: +"Included UTC window start in ISO-8601 Z format. Omission uses 30 days before until; total window must not exceed 366 days."
    • addedInput schema / properties / until / description
      Added value: +"Excluded UTC window end, later than from and not in the future. Results cover [from, until), not an inclusive end day; omission uses the current observation time."
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes far beyond the annotations: reports are live and can be retroactively corrected, embedded goal progress is a current observation rather than a snapshot, differing populations mean the counts are not one conversion cohort, and gross can include later refunds. It also discloses the auth surface (accounting:read, operations:read, tenant source adapter, consent for provider reach), which annotations cannot convey.

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?

Well front-loaded with headed sections and a clear lead sentence. It is long, and a few interpretation bullets ('Missing progression is not rejection, and reach counts are not people') are dense; each still carries a distinct semantic caveat, so the length is mostly justified rather than padding.

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

Completeness5/5

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

An output schema exists, so return values need not be described; the description instead covers the things the schema cannot: permissions, live-data caveats, cohort mismatches, refund treatment, and how to handle unavailable sources. Nothing an agent needs to call or interpret this tool correctly is missing.

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; the description earns above that by explaining a behavior the schema does not state — that changing either boundary changes both the window and its immediately preceding equal-length baseline, and that an inclusive end date requires the next midnight.

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 and resource ('Read inquiry-to-paid-work progression and evidenced bottlenecks') and immediately contrasts itself with get_business_goals and get_business_budgets, so the agent can separate funnel reading from goal/budget reading without opening a schema.

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

Usage Guidelines5/5

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

Explicitly routes sibling usage ('Use get_business_goals for target progress and get_business_budgets for spending controls') and gives concrete construction guidance for a repeatable reporting window with a worked example. It also tells the agent what not to do: don't rebuild unavailable sources from another tool.

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