Skip to main content
Glama

Clone invoice to draft

clone_invoice

Clone any invoice (factura) into a new DRAFT (borrador) with today's dates. Good for 'invoice like last time'. Not finalized, no number yet. Returns the new draft's id.

Input Schema

NameRequiredDescriptionDefault
invoice_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare this is a non-read-only, non-destructive write; the description adds real context on top: the output is unfinalized, has no invoice number yet, is dated today, and the call returns the new draft's id. It stops short of stating source-invoice preconditions (e.g. whether finalized or paid invoices can be cloned).

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?

Four short, front-loaded fragments with no filler: the operation and result come first, then the usage cue, then the draft caveats, then the return value. Every sentence contributes new information.

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 one-parameter tool with no output schema, the description covers the essential outcome, the draft state, and the return value. Missing only edge-case behavior around which source invoices are eligible and how failures surface.

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?

There is one parameter (invoice_id) with 0% schema description coverage, so the description carries the burden. 'Clone any invoice' implies invoice_id identifies the source, but it adds nothing on validity constraints, such as whether the id must reference an existing, non-cancelled invoice.

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 (clone) and resource (invoice) plus the concrete outcome: a new DRAFT with today's dates. It implicitly separates cloning from create_invoice by saying it starts from an existing invoice, though it never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Good for "invoice like last time"' gives a clear, concrete usage context that an agent can match against a user request. It offers no exclusions or named alternatives (e.g. create_invoice for a from-scratch invoice), which keeps it below the top score.

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