Alder Invoices
Free invoice drafts, templates and direct PDF generation for AI agents. No account needed.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"invoice-generator": {
"url": "https://alderinvoices.com/mcp"
}
}
}Remote endpoints
https://alderinvoices.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢draft_invoice(allowPartial, billTo, currency, discount, dueDate, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"allowPartial": {
"description": "Let the payer pay part of the balance now",
"type": "boolean"
},
"billTo": {
"description": "The customer. name is required; email is prefilled at checkout.",
"properties": {
"address": {
"description": "Multi-line postal address",
"maxLength": 500,
"type": "string"
},
"email": {
"format": "email",
"type": "string"
},
"name": {
"maxLength": 200,
"type": "string"
}
},
"type": "object"
},
"currency": {
"default": "usd",
"enum": [
"usd",
"cad",
"eur",
"gbp",
"aud",
"nzd"
],
"type": "string"
},
"discount": {
"description": "Minor units, taken off the subtotal",
"minimum": 0,
"type": "integer"
},
"dueDate": {
"description": "YYYY-MM-DD. The invoice reads overdue the day after.",
"format": "date",
"type": "string"
},
"from": {
"description": "The business sending the invoice. On create, leave it out to use the connected Stripe business's name and email.",
"properties": {
"address": {
"description": "Multi-line postal address",
"maxLength": 500,
"type": "string"
},
"email": {
"format": "email",
"type": "string"
},
"name": {
"maxLength": 200,
"type": "string"
}
},
"type": "object"
},
"issueDate": {
"description": "YYYY-MM-DD",
"format": "date",
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"maxLength": 500,
"type": "string"
},
"quantity": {
"description": "May be fractional, e.g. 1.5 hours",
"minimum": 0,
"type": "number"
},
"unitPrice": {
"description": "Minor units (cents)",
"minimum": 0,
"type": "integer"
}
},
"required": [
"description",
"quantity",
"unitPrice"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"minPayment": {
"description": "Smallest partial payment in minor units (e.g. a deposit). The full balance is always payable.",
"minimum": 0,
"type": "integer"
},
"notes": {
"maxLength": 2000,
"type": "string"
},
"number": {
"description": "Your invoice number, e.g. INV-1042",
"maxLength": 40,
"type": "string"
},
"shipTo": {
"description": "Optional shipping address",
"properties": {
"address": {
"description": "Multi-line postal address",
"maxLength": 500,
"type": "string"
},
"email": {
"format": "email",
"type": "string"
},
"name": {
"maxLength": 200,
"type": "string"
}
},
"type": "object"
},
"shipping": {
"description": "Minor units, added after tax",
"minimum": 0,
"type": "integer"
},
"taxRate": {
"description": "Percent. Applied after discount, not to shipping.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"terms": {
"maxLength": 2000,
"type": "string"
}
},
"required": [
"items"
]
}🟢list_invoice_templates
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.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢prepare_invoice_template(billTo, dueDate, from, issueDate, number, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"billTo": {
"description": "The customer. name is required; email is prefilled at checkout.",
"properties": {
"address": {
"description": "Multi-line postal address",
"maxLength": 500,
"type": "string"
},
"email": {
"format": "email",
"type": "string"
},
"name": {
"maxLength": 200,
"type": "string"
}
},
"type": "object"
},
"dueDate": {
"description": "YYYY-MM-DD. The invoice reads overdue the day after.",
"format": "date",
"type": "string"
},
"from": {
"description": "The business sending the invoice.",
"properties": {
"address": {
"description": "Multi-line postal address",
"maxLength": 500,
"type": "string"
},
"email": {
"format": "email",
"type": "string"
},
"name": {
"maxLength": 200,
"type": "string"
}
},
"type": "object"
},
"issueDate": {
"description": "YYYY-MM-DD",
"format": "date",
"type": "string"
},
"number": {
"description": "Your invoice number, e.g. INV-1042",
"maxLength": 40,
"type": "string"
},
"templateId": {
"enum": [
"consulting_hourly",
"consulting_retainer",
"consulting_milestone",
"contractor_labor",
"contractor_deposit"
],
"type": "string"
}
},
"required": [
"templateId"
]
}🟢render_invoice_pdf(billTo, currency, discount, dueDate, from, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"billTo": {
"description": "The customer. name is required; email is prefilled at checkout.",
"properties": {
"address": {
"description": "Multi-line postal address",
"maxLength": 500,
"type": "string"
},
"email": {
"format": "email",
"type": "string"
},
"name": {
"maxLength": 200,
"type": "string"
}
},
"type": "object"
},
"currency": {
"default": "usd",
"enum": [
"usd",
"cad",
"eur",
"gbp",
"aud",
"nzd"
],
"type": "string"
},
"discount": {
"description": "Minor units, taken off the subtotal",
"minimum": 0,
"type": "integer"
},
"dueDate": {
"description": "YYYY-MM-DD. The invoice reads overdue the day after.",
"format": "date",
"type": "string"
},
"from": {
"description": "The business sending the invoice.",
"properties": {
"address": {
"description": "Multi-line postal address",
"maxLength": 500,
"type": "string"
},
"email": {
"format": "email",
"type": "string"
},
"name": {
"maxLength": 200,
"type": "string"
}
},
"type": "object"
},
"issueDate": {
"description": "YYYY-MM-DD",
"format": "date",
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"maxLength": 500,
"type": "string"
},
"quantity": {
"description": "May be fractional, e.g. 1.5 hours",
"minimum": 0,
"type": "number"
},
"unitPrice": {
"description": "Minor units (cents)",
"minimum": 0,
"type": "integer"
}
},
"required": [
"description",
"quantity",
"unitPrice"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"notes": {
"maxLength": 2000,
"type": "string"
},
"number": {
"description": "Your invoice number, e.g. INV-1042",
"maxLength": 40,
"type": "string"
},
"shipTo": {
"description": "Optional shipping address",
"properties": {
"address": {
"description": "Multi-line postal address",
"maxLength": 500,
"type": "string"
},
"email": {
"format": "email",
"type": "string"
},
"name": {
"maxLength": 200,
"type": "string"
}
},
"type": "object"
},
"shipping": {
"description": "Minor units, added after tax",
"minimum": 0,
"type": "integer"
},
"taxRate": {
"description": "Percent. Applied after discount, not to shipping.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"terms": {
"maxLength": 2000,
"type": "string"
}
},
"required": [
"from",
"billTo",
"number",
"issueDate",
"dueDate",
"items"
],
"description": "Direct PDF input. Western European (Windows-1252) text only, no logos, no payment ledger. Unknown text is rejected, never silently replaced."
}Community
Evidence