Skip to main content
Glama

Void Invoice

void_invoice

Void a draft or sent invoice. Cannot be applied to an already-paid invoice (issue a credit note instead). invoice_id is required. No delete tool is exposed over MCP — void is the terminal non-destructive state.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
invoice_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "text": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "text"
      -  ],
      -  "type": "object"
      -}New value: +null
  2. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the description doesn't need to restate those. It adds valuable context: the operation is terminal ('void is the terminal non-destructive state'), cannot be applied to paid invoices, and no delete tool exists. It could have disclosed more about side effects (e.g., whether the invoice remains visible, whether lines are affected), but the provided context is strong.

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 sentences, each carrying distinct information: what the tool does, a critical exclusion with an alternative, and a note about the absence of a delete tool. No filler or repetition of schema details.

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?

For a single-parameter mutation tool with no output schema, the description covers the essential invocation details: target state, exclusions, and the alternative path. It doesn't describe the return value or post-void visibility, but the annotations and simple schema make this a minor gap.

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 description coverage is 0%, so the description must compensate. It explicitly states that invoice_id is required, which matches the schema's required field. It doesn't add format or source details for invoice_id, but with a single string parameter and the clear statement of requirement, the agent has enough to invoke the tool correctly.

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?

The description states a specific verb ('Void') and resource ('a draft or sent invoice'), and immediately distinguishes the tool from related invoice operations by noting it cannot be applied to paid invoices and that no delete tool is exposed. This clearly differentiates void_invoice from siblings like mark_invoice_paid, send_invoice, and update_invoice.

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?

The description explicitly states when to use the tool (draft or sent invoices) and when not to use it (already-paid invoices), and provides the alternative action ('issue a credit note instead'). It also clarifies that void is the terminal non-destructive state, which guides the agent away from looking for a delete 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