Skip to main content
Glama

Draft invoice

solo_draft_invoice

Start an invoice as an editable draft. Nothing is final until you issue it. Gather the lines as the person describes the work — description, quantity or hours, rate — and SHOW them the numbers before issuing. Timing is their agreement with the client: ahead of the work, partial, or after — never question it (S-5). Never invent an amount or a rate (S-6). If there is no client yet, ask for the client's name, billing address, email, and the agreed terms — one question at a time — and create the customer first. The draft comes back with doc_url: a preview link that renders the real document marked DRAFT. Call solo_get_document to see that render yourself and hand the person the link BEFORE asking whether to issue; never hand-roll the document yourself. Effects: draft created with computed totals; preview link minted.

Input Schema

NameRequiredDescriptionDefault
linesYesThe work being billed.
notesNoPrinted on the document (project reference, thanks, PO number they gave you).
subjectNoOne line above the table — project, period. Printed on the document.
currencyNoCurrency of this invoice, ISO 4217. Defaults to the company default; must be one of the company's currencies.
customer_idYesThe client. An existing customer id.
due_in_daysNoDays until due. Defaults to the customer's payment terms (net7 = 7, net30 = 30, immediate = 0); pass it only to depart from them for this invoice. Freezes into the due date at issue.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false) by disclosing the effects block: draft created with computed totals, a preview link minted, and doc_url returned as a DRAFT render. It also clarifies non-destructiveness substantively ('nothing is final until you issue it') and warns against hand-rolling the document.

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?

Purpose is front-loaded in the first sentence and the workflow guidance is ordered sensibly. It runs long with some internal repetition (the 'call solo_get_document' and 'never hand-roll the document' instructions overlap) and parenthetical rule codes (S-5, S-6) that add little for a reader.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter mutation tool with no output schema, the description covers the prerequisites, the sequencing, the safety profile, and the return value (doc_url preview link). Nothing an agent needs in order to call it correctly 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 100%, so the description holds to the baseline; the line fields mentioned (description, quantity/hours, rate) and the due-date/timing point only restate what the schema already documents. It adds no format, unit, or edge-case detail the schema lacks.

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?

States a specific verb and resource ('Start an invoice as an editable draft') and immediately distinguishes it from the issuing step ('Nothing is final until you issue it'), which maps to the solo_issue_invoice sibling. An agent can tell draft vs. issue apart without opening either schema.

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?

Gives explicit sequencing rules: gather lines as the person describes the work, SHOW the numbers before issuing, create the customer first if none exists, call solo_get_document before asking whether to issue. It also names constraints ('never question timing', 'never invent an amount or a rate'), leaving little to inference.

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.