MCP Server

Alder Invoices

com.alderinvoices/invoice-generator
Business & Operations Finance & Investing Public & reachable MCP 2026-07-28

What this MCP does

Drafts invoices, calculates totals, provides invoice templates, and generates downloadable invoice PDFs.

draft_invoice
Draft an invoice (no account needed)
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['items'], 'properties': {'from': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 200}, 'email': {'type': 'string', 'format': 'email'}, 'address': {'type': 'string', 'maxLength': 500, 'description': 'Multi-line postal address'}}, 'description': "The business sending the invoice. On create, leave it out to use the connected Stripe business's name and email."}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'quantity', 'unitPrice'], 'properties': {'quantity': {'type': 'number', 'minimum': 0, 'description': 'May be fractional, e.g. 1.5 hours'}, 'unitPrice': {'type': 'integer', 'minimum': 0, 'description': 'Minor units (cents)'}, 'description': {'type': 'string', 'maxLength': 500}}}, 'maxItems': 100, 'minItems': 1}, 'notes': {'type': 'string', 'maxLength': 2000}, 'terms': {'type': 'string', 'maxLength': 2000}, 'billTo': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 200}, 'email': {'type': 'string', 'format': 'email'}, 'address': {'type': 'string', 'maxLength': 500, 'description': 'Multi-line postal address'}}, 'description': 'The customer. name is required; email is prefilled at checkout.'}, 'number': {'type': 'string', 'maxLength': 40, 'description': 'Your invoice number, e.g. INV-1042'}, 'shipTo': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 200}, 'email': {'type': 'string', 'format': 'email'}, 'address': {'type': 'string', 'maxLength': 500, 'description': 'Multi-line postal address'}}, 'description': 'Optional shipping address'}, 'dueDate': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD. The invoice reads overdue the day after.'}, 'taxRate': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Percent. Applied after discount, not to shipping.'}, 'currency': {'enum': ['usd', 'cad', 'eur', 'gbp', 'aud', 'nzd'], 'type': 'string', 'default': 'usd'}, 'discount': {'type': 'integer', 'minimum': 0, 'description': 'Minor units, taken off the subtotal'}, 'shipping': {'type': 'integer', 'minimum': 0, 'description': 'Minor units, added after tax'}, 'issueDate': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD'}, 'minPayment': {'type': 'integer', 'minimum': 0, 'description': 'Smallest partial payment in minor units (e.g. a deposit). The full balance is always payable.'}, 'allowPartial': {'type': 'boolean', 'description': 'Let the payer pay part of the balance now'}}}
list_invoice_templates
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.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
prepare_invoice_template
Prepare an invoice from a template
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['templateId'], 'properties': {'from': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 200}, 'email': {'type': 'string', 'format': 'email'}, 'address': {'type': 'string', 'maxLength': 500, 'description': 'Multi-line postal address'}}, 'description': 'The business sending the invoice.'}, 'billTo': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 200}, 'email': {'type': 'string', 'format': 'email'}, 'address': {'type': 'string', 'maxLength': 500, 'description': 'Multi-line postal address'}}, 'description': 'The customer. name is required; email is prefilled at checkout.'}, 'number': {'type': 'string', 'maxLength': 40, 'description': 'Your invoice number, e.g. INV-1042'}, 'dueDate': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD. The invoice reads overdue the day after.'}, 'issueDate': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD'}, 'templateId': {'enum': ['consulting_hourly', 'consulting_retainer', 'consulting_milestone', 'contractor_labor', 'contractor_deposit'], 'type': 'string'}}}
render_invoice_pdf
Generate an invoice PDF
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['from', 'billTo', 'number', 'issueDate', 'dueDate', 'items'], 'properties': {'from': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 200}, 'email': {'type': 'string', 'format': 'email'}, 'address': {'type': 'string', 'maxLength': 500, 'description': 'Multi-line postal address'}}, 'description': 'The business sending the invoice.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'quantity', 'unitPrice'], 'properties': {'quantity': {'type': 'number', 'minimum': 0, 'description': 'May be fractional, e.g. 1.5 hours'}, 'unitPrice': {'type': 'integer', 'minimum': 0, 'description': 'Minor units (cents)'}, 'description': {'type': 'string', 'maxLength': 500}}}, 'maxItems': 100, 'minItems': 1}, 'notes': {'type': 'string', 'maxLength': 2000}, 'terms': {'type': 'string', 'maxLength': 2000}, 'billTo': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 200}, 'email': {'type': 'string', 'format': 'email'}, 'address': {'type': 'string', 'maxLength': 500, 'description': 'Multi-line postal address'}}, 'description': 'The customer. name is required; email is prefilled at checkout.'}, 'number': {'type': 'string', 'maxLength': 40, 'description': 'Your invoice number, e.g. INV-1042'}, 'shipTo': {'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 200}, 'email': {'type': 'string', 'format': 'email'}, 'address': {'type': 'string', 'maxLength': 500, 'description': 'Multi-line postal address'}}, 'description': 'Optional shipping address'}, 'dueDate': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD. The invoice reads overdue the day after.'}, 'taxRate': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Percent. Applied after discount, not to shipping.'}, 'currency': {'enum': ['usd', 'cad', 'eur', 'gbp', 'aud', 'nzd'], 'type': 'string', 'default': 'usd'}, 'discount': {'type': 'integer', 'minimum': 0, 'description': 'Minor units, taken off the subtotal'}, 'shipping': {'type': 'integer', 'minimum': 0, 'description': 'Minor units, added after tax'}, 'issueDate': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD'}}, 'description': 'Direct PDF input. Western European (Windows-1252) text only, no logos, no payment ledger. Unknown text is rejected, never silently replaced.'}
Added
render_invoice_pdf
Sept. 28, 2026, 2:40 a.m.
Added
prepare_invoice_template
Sept. 28, 2026, 2:40 a.m.
Added
list_invoice_templates
Sept. 28, 2026, 2:40 a.m.
Added
draft_invoice
Sept. 28, 2026, 2:40 a.m.