Alder Invoices
Server Details
Free invoice drafts, templates and direct PDF generation for AI agents. No account needed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 4 tools
draft_invoice and prepare_invoice_template both compute subtotal/tax/total and both return a builderUrl, so an agent must work out that one is ad-hoc pricing and the other seeds from a template. The distinction is real but only implied by the descriptions, leaving genuine room for misselection. list_invoice_templates and render_invoice_pdf are clearly distinct.
All four names follow the same verb_noun snake_case pattern (draft_invoice, list_invoice_templates, prepare_invoice_template, render_invoice_pdf) with no stylistic deviations. Predictable and readable throughout.
Four tools is lean but maps cleanly onto the intended flow: browse templates, price a draft, prepare from a template, render a PDF. Slightly thin because draft and prepare could arguably be one tool.
The generate/price/template/render lifecycle is covered, and sending/payment collection is explicitly delegated to the web builder and Stripe rather than being a gap. Minor missing pieces: no tool to revise or re-price an existing invoice, and no non-Western-European text support is acknowledged as out of scope.
Available Tools
4 toolsdraft_invoiceDraft an invoice (no account needed)ARead-onlyIdempotentInspect
Price an invoice (subtotal, tax after discount, shipping, total) and get a builderUrl that opens the free AI Invoice Generator builder prefilled. The human can download a PDF there, or connect Stripe to get a pay link that accepts partial payments. Nothing is stored or sent.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | The business sending the invoice. On create, leave it out to use the connected Stripe business's name and email. | |
| items | Yes | ||
| notes | No | ||
| terms | No | ||
| billTo | No | The customer. name is required; email is prefilled at checkout. | |
| number | No | Your invoice number, e.g. INV-1042 | |
| shipTo | No | Optional shipping address | |
| dueDate | No | YYYY-MM-DD. The invoice reads overdue the day after. | |
| taxRate | No | Percent. Applied after discount, not to shipping. | |
| currency | No | usd | |
| discount | No | Minor units, taken off the subtotal | |
| shipping | No | Minor units, added after tax | |
| issueDate | No | YYYY-MM-DD | |
| minPayment | No | Smallest partial payment in minor units (e.g. a deposit). The full balance is always payable. | |
| allowPartial | No | Let the payer pay part of the balance now |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is covered. The description still adds real context beyond them: 'Nothing is stored or sent' confirms a stateless, side-effect-free call, and it explains the post-call flow (PDF download in the builder, optional Stripe pay link with partial payments), which is behavior the agent cannot get from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences: purpose and output first, downstream flow second, the no-storage guarantee last. No filler and nothing buried at the end that belongs at the front.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 parameters, nested objects, and no output schema, the description usefully compensates by naming the primary return value (builderUrl) and the human follow-up path. It omits mention of the only required parameter (items) and currency default, but those are adequately covered by the schema, leaving the definition complete enough to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 73%, so the schema largely documents itself, including taxRate ('applied after discount, not to shipping'), discount, and shipping in minor units. The description's parenthetical '(subtotal, tax after discount, shipping, total)' restates that ordering rather than adding new meaning, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Price an invoice') and names the concrete return artifact ('builderUrl that opens the ... builder prefilled'), which is more than a restatement of the name. It implies a distinction from render_invoice_pdf by pushing PDF download into the builder UI, but it never names that sibling, so the differentiation is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use this to price/draft an invoice and hand the human a builder link, with PDF export and Stripe pay links happening downstream. There is no explicit when-to-use guidance or when to prefer render_invoice_pdf or prepare_invoice_template instead, so the agent must infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_invoice_templatesList invoice templatesARead-onlyIdempotentInspect
List five editable sample invoices: hourly consulting, retainers, milestones, contractor labor/materials and deposit requests. Example rates in USD cents, not pricing advice. No account needed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe, idempotent, closed-world read profile, so the description's added value matters: it discloses the exact count (five), the template contents, that rates are illustrative USD cents rather than pricing advice, and that no account is required. That is useful context beyond the annotations, though return format or pagination is not discussed (not applicable here).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first front-loads the core purpose and contents, the second carries the two caveats (cents, not advice) and the no-account note. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only listing tool with no output schema, the description covers what is returned and how to interpret the numbers. It could say more about the response structure, but that gap is minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description goes slightly further by clarifying that embedded rate values are in USD cents and are examples, which helps interpret the returned data even though no inputs exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (editable sample invoice templates), and enumerates the five template types so an agent knows exactly what it will get back. It doesn't explicitly contrast itself with siblings like prepare_invoice_template, but 'sample' and 'editable' make the read-only example-listing role reasonably distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the fixed set of sample invoices and the note 'No account needed' suggest exploratory/browsing use, but there is no explicit when-to-use or when-to-prefer-a-sibling such as prepare_invoice_template or draft_invoice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_invoice_templatePrepare an invoice from a templateARead-onlyIdempotentInspect
Select a template by ID and add sender, customer and dates. Returns invoice JSON, calculated totals and an editable builderUrl. Example amounts need review. Nothing stored or sent.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | The business sending the invoice. | |
| billTo | No | The customer. name is required; email is prefilled at checkout. | |
| number | No | Your invoice number, e.g. INV-1042 | |
| dueDate | No | YYYY-MM-DD. The invoice reads overdue the day after. | |
| issueDate | No | YYYY-MM-DD | |
| templateId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so 'Nothing stored or sent' largely restates them. The description still adds real context beyond the structured data: the returned artifacts (JSON, calculated totals, editable builderUrl) and the warning that 'Example amounts need review'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the action, then the outputs, then the two caveats. No filler; each clause carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, nested from/billTo objects, and no output schema, the description usefully describes the return shape (invoice JSON, totals, builderUrl) and the non-persistence guarantee. The main omission is routing guidance among the three sibling tools, but for a single read-only preparation step the coverage is solid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, above the 80% threshold, so the schema already documents the from/billTo/number/date fields. The description only groups them as 'sender, customer and dates' without adding format or constraint detail beyond what the schema provides, which is the baseline case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Select a template by ID and add sender, customer and dates') and describes the return payload (invoice JSON, totals, builderUrl), which implicitly separates it from render_invoice_pdf and list_invoice_templates. It never names those siblings explicitly, so the differentiation is inferential rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The caveat 'Nothing stored or sent' hints this is a safe preview step, and the templateId enum shows the required selection. However, there is no explicit guidance on when to use this versus draft_invoice or render_invoice_pdf, nor any stated prerequisite such as listing templates first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_invoice_pdfGenerate an invoice PDFARead-onlyIdempotentInspect
Generate a downloadable PDF artifact without a browser, account or storage. Requires sender/customer names, invoice number, dates and complete line items. Western European text only; unsupported characters or logos return an explicit error, use the web builder for those. Does not send invoices or process payments.
| Name | Required | Description | Default |
|---|---|---|---|
| from | Yes | The business sending the invoice. | |
| items | Yes | ||
| notes | No | ||
| terms | No | ||
| billTo | Yes | The customer. name is required; email is prefilled at checkout. | |
| number | Yes | Your invoice number, e.g. INV-1042 | |
| shipTo | No | Optional shipping address | |
| dueDate | Yes | YYYY-MM-DD. The invoice reads overdue the day after. | |
| taxRate | No | Percent. Applied after discount, not to shipping. | |
| currency | No | usd | |
| discount | No | Minor units, taken off the subtotal | |
| shipping | No | Minor units, added after tax | |
| issueDate | Yes | YYYY-MM-DD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds real behavioral context beyond them: no browser/account/storage needed, unknown/unsupported text is rejected rather than silently replaced, and it does not send invoices or take payments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the capability and immediately followed by constraints. Minor redundancy where it re-lists required inputs already captured by the schema, but no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter nested tool with no output schema, the description conveys the crucial edges: input text restrictions, explicit error behavior, and non-goals. The return (a downloadable PDF) is named. It could say more about the error payload or the checkout-preload behavior, but it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 69%, and the nested item fields (quantity, unitPrice, currency, taxRate, discount, shipping) are documented in the schema. The description only restates the required inputs at a high level ('sender/customer names, invoice number, dates and complete line items'), adding little syntax or unit detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Generate a downloadable PDF artifact', and adds useful scope boundaries ('without a browser, account or storage', 'Does not send invoices or process payments'). It does not, however, explicitly differentiate itself from the siblings draft_invoice or prepare_invoice_template, so the agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit alternative for the unsupported case ('unsupported characters or logos return an explicit error, use the web builder for those') and negative scope ('Does not send invoices or process payments'). It stops short of saying when to pick this over draft_invoice, but the conditional routing is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
draft_invoice - First observed
list_invoice_templates - First observed
prepare_invoice_template - First observed
render_invoice_pdf
Related MCP Connectors
Compliant invoicing for freelancers: create, issue and track invoices from your AI agent.
Let your AI send invoices and take payment — card or ACH. Free.
Make PDF invoices from your AI chat: clients, numbering, VAT, overdue reports. All data is local.
Generate invoice and receipt PDFs from JSON. Agent-callable document API with a free demo quota.
Related MCP Servers
- AlicenseAqualityCmaintenanceCreate free, no-signup invoices from your AI assistant — the create_invoice tool returns a link that opens blankinvoicemaker.com pre-filled, ready to download as a watermark-free PDF.232 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to create and manage e-invoices through natural language, supporting EU compliance formats like ZUGFeRD and XRechnung, as well as US plain PDF invoices.7-

InvoiceXMLofficial
AlicenseNot gradedqualityCmaintenanceInvoiceXML brings e-invoice compliance to your AI agent. Create, validate, convert, render, and extract structured invoices across UBL (Peppol BIS Billing 3.0, used worldwide), CII, Factur-X, ZUGFeRD, and XRechnung, all checked against the EN 16931 standard and official Schematron rules. Ask your assistant to generate a compliant invoice, validate one for errors, or convert between formats, with n5MIT- AlicenseBqualityDmaintenanceEnables the generation of professional PDF invoices and their distribution via email using customizable templates. It allows users to create, manage, and send invoices with standard business fields like tax rates and line items through natural language.32 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.