Skip to main content
Glama

Otis

Check invoice readiness

invoice_check
Read-onlyIdempotent

Check issuance readiness. Read blockers and their next_tool; ask the user for missing facts. Success validates recorded fields, not legal tax compliance.

Input Schema

NameRequiredDescriptionDefault
invoice_idYes
business_idNoOmit for your own business; use businesses_list for shared business IDs.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/non-destructive/closed-world, so the description's value is in the substantive caveat: 'Success validates recorded fields, not legal tax compliance' — a real expectation-setter about what a pass means. It also discloses the shape of the result (blockers plus a next_tool), 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.

Conciseness5/5

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

Three short sentences, no filler, with the core action and the result shape front-loaded. Every clause carries information the agent cannot get from structured fields.

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?

No output schema exists, so the description must signal return content — it does at a high level (blockers, next_tool) and flags the compliance caveat. It stops short of describing what a blocker entry looks like or the behavior on a failed check, which leaves a small gap.

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?

With schema coverage at 50%, the schema documents business_id (omit for own business; use businesses_list) but leaves invoice_id bare, and the description adds nothing about either parameter. Baseline 3 applies since the ambiguity that matters is already handled in the schema.

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 and object: 'Check issuance readiness', returning blockers and their next_tool. It is clearly a pre-flight validation step distinct from invoice_issue, though the description itself never says 'invoice' — that only comes from the tool name and title.

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 rather than stated: 'Read blockers and their next_tool' points at a follow-up chain, and 'ask the user for missing facts' tells the agent what to do with results. But it never says explicitly to call this before invoice_issue, nor when it can be skipped.

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.