Skip to main content
Glama

schedule-iii

Generate Schedule III statements

generate_schedule_iii

Queue the Schedule III workbook build (returns a job_id to poll with get_job — the build runs as a background job). Supply a fresh request_id UUID for a new request; retain that UUID and unchanged arguments when retrying after an uncertain response. Changing an acknowledgment or other argument requires a new UUID. REFUSES when ungrouped accounts exist unless acknowledged: before acknowledging, present the ungrouped accounts to your user and obtain their explicit go-ahead; record it in acknowledge_reason and pass the exact count in acknowledge_count — an acknowledgement WITHOUT its count is always re-demanded. For a multi-month P&L window, acknowledge_multi_month_pnl is required only when the refusal reports period-activity or basis-not-captured inputs; show your user the exact reported risky-month count and confirm only the P&L figures for that subset. Declared cumulative inputs have already been normalized and must not be described as period movements. If the refusal reports invalid cumulative normalization, do not acknowledge it away: correct and re-upload the affected input. Never acknowledge anything the user has not seen. Once queued, the build usually completes in a few minutes — tell your user their statements are being prepared and poll get_job periodically; do not present the wait as a problem.

Input Schema

NameRequiredDescriptionDefault
client_idYesThe entity (client) id — from list_clients.
period_idYes
request_idNo
template_idYes
acknowledge_countNo
acknowledge_reasonNo
acknowledge_month_countNo
acknowledge_unclassifiedNo
acknowledge_multi_month_pnlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / request_id
      Added value: +{
      +  "format": "uuid",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only say readOnlyHint=false, destructiveHint=false, openWorldHint=false. The description adds the async job contract (job_id + polling), the refusal conditions, idempotency semantics for request_id, and that acks without counts are re-demanded — far beyond what annotations cover. It also warns against acknowledging invalid cumulative normalization, which is important operational context.

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 core action and job_id/polling behavior are front-loaded, and most sentences earn their place by covering refusal and idempotency edge cases. It is dense and long, and the repeated 'never acknowledge anything the user has not seen' style guidance could be trimmed, but nothing is clearly wasteful.

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?

With no output schema, the description correctly explains the return (job_id to poll). It covers the async lifecycle, refusal paths, and ack requirements thoroughly. The main gap is incomplete coverage of all nine parameters, notably template_id and acknowledge_month_count/unclassified.

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 coverage is only 11%, so the description must carry parameter meaning, and it does explain the non-obvious ones: request_id idempotency, acknowledge_count pairing with acknowledge_reason, and acknowledge_multi_month_pnl's conditional trigger. However, several parameters remain unexplained: template_id, period_id, acknowledge_month_count, and acknowledge_unclassified are never addressed. Meaningful partial compensation, but clear gaps remain.

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?

Opens with a specific verb+resource: 'Queue the Schedule III workbook build.' It immediately clarifies this is an async build and names the sibling (get_job) used to poll. An agent can distinguish it from siblings like finalise_statement or get_schedule3_workspace without opening schemas.

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?

Explicit when-to-use is embedded: call this to queue a build, poll with get_job, retry with the same request_id. It also spells out when NOT to proceed (REFUSES when ungrouped accounts exist) and the exact alternative path (acknowledge with count). This is a full routing decision tree.

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