Skip to main content
Glama

mark_invoice_sent

Marks an invoice as sent to the client so it is included in overdue reporting.

Instructions

Record that an invoice was sent to the client (it then counts towards overdue reports).

Input Schema

NameRequiredDescriptionDefault
invoice_numberYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-destructive, closed-world mutation, so the safety profile is covered. The description adds genuine value by disclosing the state-transition consequence that the invoice begins counting toward overdue reports. It does not cover idempotency (what happens if the invoice is already marked sent) or failure behavior for a non-existent invoice number.

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?

One sentence, front-loaded with the action, with a parenthetical that earns its place by explaining the downstream effect. No filler.

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?

An output schema exists, so return values need not be explained, and the annotations cover the safety profile. For a simple single-parameter state-change tool, the key behavioral consequence is disclosed; only edge-case behavior (repeat calls, invalid invoice) is missing.

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 description coverage is 0%, so the description must compensate for the single parameter, and it does not mention invoice_number at all. The parameter name and schema title make its meaning largely self-evident, so the practical gap is small, but no format or constraint guidance (e.g., expected invoice number format) is provided.

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?

The description states a specific verb and resource ('Record that an invoice was sent to the client'), which is clearly distinct from siblings like record_payment or void_invoice. It stops short of explicitly differentiating from relatives such as get_document or list_invoices, but the action is unambiguous.

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 by the parenthetical ('it then counts towards overdue reports'), which tells the agent the side effect of calling it. There is no explicit statement of when not to use it, no mention of prerequisites (e.g., the invoice must already exist), and no named alternatives.

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