report_revenue
Calculate revenue for a period grouped by day, week, month, service, or provider.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| dateTo | No | ||
| groupBy | No | ||
| orgSlug | Yes | ||
| dateFrom | No |
Calculate revenue for a period grouped by day, week, month, service, or provider.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| dateTo | No | ||
| groupBy | No | ||
| orgSlug | Yes | ||
| dateFrom | No |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states 'calculate revenue' without addressing whether this is a read-only operation, how it handles date ranges, whether it returns aggregated rows, or any limitations. This leaves significant room for misinterpretation.
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 a single, front-loaded sentence that communicates the core purpose efficiently. Every word contributes to understanding the tool's function without unnecessary fluff.
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 5 parameters, no output schema, and no annotations, yet the description only provides a minimal overview. It does not explain parameter semantics, output structure, or usage constraints, leaving the agent with insufficient information to confidently invoke the tool correctly.
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 0%, so the description should explain parameters. It mentions period and grouping, which loosely maps to dateFrom/dateTo and groupBy, but it does not clarify the required orgSlug parameter, apiKey, or date format. The description adds little value beyond the schema's enum values.
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 uses a specific verb ('Calculate') and clearly identifies the resource ('revenue') along with the supported groupings ('day, week, month, service, or provider'). This distinguishes it from sibling reporting tools like report_occupancy or report_no_shows by focusing exclusively on revenue calculations.
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 context is implied: this tool is for calculating revenue over a period with grouping options. However, there is no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites, so the agent must infer applicability from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Multiple parallel booking creation flows (booking_create, scheduling_book, public_booking_create) and session state transition tools (booking_update_status, lifecycle_transition) create ambiguity. While descriptions are detailed, an agent could easily select the wrong tool for a given task, especially with 111 tools to choose from.
Most tools follow a consistent domain_action pattern (e.g., client_create, service_update, comms_list_campaigns). Minor deviations include Spanish/English mixing (cierre_*, report_deuda_real) and a few noun-only names like org_summary, but the overall structure is predictable.
With 111 tools, the server is massively over-scoped for an MCP surface. Even for a broad service business domain, this exceeds reasonable limits and will overwhelm agents, making tool selection slower and more error-prone.
The tool surface is extremely thorough, covering org setup, services, providers, booking (internal/public/spec), finance, payroll, closing, disputes, clinical notes, treatment plans, and reporting. Gaps are rare and often intentional (e.g., no deliver via MCP, read-only treatment plans), so agents can complete most workflows end-to-end.