Skip to main content
Glama

Billomat MCP by usefulapi

billomat_create_draft_invoice

Destructive

WRITE: create an invoice as a DRAFT (Entwurf) for a client, with optional line items. The invoice is NOT completed, has no number yet and is NOT sent; review and complete it in Billomat. Nothing is charged.

Input Schema

NameRequiredDescriptionDefault
dateNoDocument date (yyyy-mm-dd; today when omitted).
noteNoClosing note.
introNoIntroduction text.
itemsNoLine items (up to 200). More can be added to the draft later.
labelNoLabel / subject.
titleNoDocument title.
due_daysNoDays until payment is due.
client_idYesThe client id (from billomat_list_clients).
net_grossNoWhether prices are net or gross.
contact_idNoA contact of that client.
currency_codeNoISO currency code, e.g. EUR (account default when omitted).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare write/non-idempotent/destructive; the description adds substantive behavior the annotations do not convey: the document has no number yet, is not sent, is not finalized, and nothing is charged. It omits duplicate-creation/idempotency guidance, which matters given idempotentHint=false.

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?

Front-loaded WRITE marker, then the outcome-critical constraints in two tight sentences. Every clause earns its place; nothing is repeated from the schema or annotations.

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 an 11-parameter create tool with full schema coverage and no output schema, the description sufficiently frames the result (draft, unsent, unnumbered) so the agent understands the object it produced. It does not mention what identifier comes back for later add_invoice_item calls, a minor 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?

Schema description coverage is 100%, so every parameter including nested item fields is already documented with defaults, constraints and cross-references (article_id usage). The description only adds that line items are optional and that more can be added later, so baseline 3 is appropriate.

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 (create an invoice as a DRAFT) with the exact scope: for a client, optional line items. It clearly separates this from the other create siblings (create_draft_offer, create_client, create_article) and from the read siblings (get_invoice, list_invoices) in one sentence.

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?

Gives clear workflow context: the result is unfinished, so the agent should review and complete it in Billomat rather than treat it as final, and line items can be added later. It does not explicitly name the alternative for post-creation edits (billomat_add_invoice_item) or state when-not-to-use, so it stops short of a full routing statement.

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.