Skip to main content
Glama

Draft an invoice

create_invoice
Destructive

Creators only, on their own Piku account (asks them to connect). Prepare an invoice to one of the creator's clients as a Draft, paid in full or split. client.email is where the link goes: without it (and send_by email or both) the tool answers needs_client_email. send_by self emails nothing. Nothing is sent and no number is used: a Draft goes to the client only through send_draft, after the creator has seen it and said yes. The invoice number is given only when it is sent. Piku's fee is 1% of each paid invoice, never more than $10, paid by the client by default; the creator can choose to cover it in Settings.

Input Schema

NameRequiredDescriptionDefault
briefNoNotes for the creator's own record
linesYesThe priced parts. The total is always their sum.
splitNoHow a one-off invoice is paid. Default in_full. For a deposit of your own, use deposit instead.
titleYes
clientYesWho the quote or invoice is for
depositNoA custom deposit then the rest: a whole percent 1 to 99, or an amount
send_byNoHow the client gets it once sent. Default email. self: nothing goes to the client; the creator downloads the PDF from Piku and sends it themselves, so no email is needed.
currencyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Adds real context beyond the annotations: the account must be connected, nothing is emailed and no invoice number is consumed at creation time, and delivery is a separate send_draft step. That is valuable given destructiveHint=true and idempotentHint=false, which on their own would suggest a riskier operation than creating a pending draft. It does not address duplicate drafts on repeated calls or what the returned draft contains.

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?

Front-loads the key constraint (creators only) and the no-send/no-number guarantee, then the fee. It is dense but every clause carries information, though the fee sentence is slightly tangential to the calling decision and the email-condition clause is grammatically tangled.

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 8-parameter nested tool with no output schema, it covers permissions, the draft lifecycle, error behavior, and the delivery handoff. Missing pieces are minor: what the draft response contains and whether re-invocation duplicates a draft.

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 coverage is 75%, and the description still adds meaning the schema does not: client.email is the delivery target and its absence (with send_by email or both) produces needs_client_email, and send_by self emails nothing. It does not explain split versus deposit at the top level, leaving that guidance to the schema text.

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 and resource ('Prepare an invoice to one of the creator's clients as a Draft') and pins the resulting state as a Draft rather than a sent invoice. It clearly separates itself from the send_draft sibling but says nothing about create_quote, so the quote-vs-invoice split is left to the name alone.

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 context: creators only, on their own account, and the draft becomes visible to the client only via send_draft after the creator approves. It also states the client.email precondition with the needs_client_email outcome. It stops short of naming create_quote as the alternative for pre-sale documents, and the deposit-vs-split choice is only covered inside the schema.

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.