Invoice generator for AI agents
AI agents, such as Meta’s Muse, can make invoices with the FluxFina invoice generator through an MCP server. It has one tool, create_invoice, that returns the invoice as a PDF. No account is needed and nothing is stored.
Contents
Connect
Add this server to your MCP client:
https://fluxfina.com/api/mcp- Transport: streamable HTTP. Send every request with POST.
- No sign-in, API key, or OAuth.
- Stateless: there are no sessions, so GET and DELETE on the endpoint return 405.
The create_invoice tool
Makes one invoice from the details you pass. It changes nothing and can be called again with the same input to get the same invoice. The result has two parts:
- A text summary, such as “Invoice INV-0042 for Contoso LLC, total $3,293.99”, followed by a link that opens the same invoice in the generator so the user can edit it. The link is left out when it would be longer than 8,000 characters.
- The PDF, as an embedded resource of type
application/pdf. It is the PDF the web generator makes, with a small “Made with FluxFina” line at the foot of each page.
Invalid input returns a tool error that names each field to fix, and no PDF. Ask the user for anything required you don’t know rather than inventing it.
Input
Four fields are required: currency, companyName, clientName, and at least one entry in productLines. Everything else is optional. Labels fall back to the generator’s, the issue date to today, and the due date to 30 days later. Unknown fields are ignored.
| Field | Type | Description |
|---|---|---|
currencyRequired | One of USD, EUR, GBP, CAD, AUD, CHF, JPY, PLN, UAH | ISO 4217 code for every amount on the invoice |
timeZone | Text, up to 64 characters | The user's IANA time zone, like America/New_York. Sets which day "today" is for the default dates; without it, UTC. |
companyNameRequired | Text, up to 256 characters | Who is sending the invoice |
companyAddress | Text, up to 256 characters | Sender's street address |
companyAddress2 | Text, up to 256 characters | Sender's city, region and postal code |
companyCountry | Text, up to 256 characters | Sender's country |
logo | Image data URL, up to 4 KB | Sender logo as a base64 data:image URL, at most 4 KB |
logoWidth | Number | Logo width in points |
clientNameRequired | Text, up to 256 characters | Who the invoice is for |
clientAddress | Text, up to 256 characters | Client's street address |
clientAddress2 | Text, up to 256 characters | Client's city, region and postal code |
clientCountry | Text, up to 256 characters | Client's country |
invoiceTitle | Text, up to 256 characters | Invoice number, like INV-0042 |
invoiceDate | Text, up to 256 characters | Issue date as it should appear, like "Sep 25, 2026". Defaults to today. |
invoiceDueDate | Text, up to 256 characters | Due date as it should appear. Defaults to 30 days after today. |
paymentTermsStart | Text, up to 256 characters | Start of the service period, if any |
paymentTermsEnd | Text, up to 256 characters | End of the service period, if any |
customFields | List, up to 200 | Extra header fields, like a PO number |
customFields[].labelRequired | Text, up to 80 characters | |
customFields[].valueRequired | Text, up to 256 characters | |
productLinesRequired | List, 1 to 200 | The line items |
productLines[].descriptionRequired | Text, up to 10,000 characters | What is being billed |
productLines[].quantityRequired | Number, or a number as text | Quantity, as a number without a currency symbol |
productLines[].rateRequired | Number, or a number as text | Unit price, as a number without a currency symbol |
adjustments | List, up to 200 | Discounts, tax, shipping or custom rows after the subtotal |
adjustments[].kindRequired | One of discount, tax, shipping, custom | |
adjustments[].modeRequired | One of currency, percent | "percent" applies the amount as a percentage of the subtotal |
adjustments[].label | Text, up to 80 characters | Overrides the default label for this kind |
adjustments[].amountRequired | Number, or a number as text | Adjustment amount, as a number without a currency symbol |
notes | Text, up to 10,000 characters | Notes shown under the totals, like payment instructions |
term | Text, up to 10,000 characters | Terms shown at the bottom |
title | Text, up to 80 characters | Document heading. Defaults to the generator's label. |
billTo | Text, up to 80 characters | Label above the client. Defaults to the generator's label. |
invoiceTitleLabel | Text, up to 80 characters | Label for the invoice number. Defaults to the generator's label. |
invoiceDateLabel | Text, up to 80 characters | Label for the issue date. Defaults to the generator's label. |
paymentTermsLabel | Text, up to 80 characters | Label for the service period. Defaults to the generator's label. |
invoiceDueDateLabel | Text, up to 80 characters | Label for the due date. Defaults to the generator's label. |
productLineDescription | Text, up to 80 characters | Line items column: description. Defaults to the generator's label. |
productLineQuantity | Text, up to 80 characters | Line items column: quantity. Defaults to the generator's label. |
productLineQuantityRate | Text, up to 80 characters | Line items column: unit price. Defaults to the generator's label. |
productLineQuantityAmount | Text, up to 80 characters | Line items column: amount. Defaults to the generator's label. |
subTotalLabel | Text, up to 80 characters | Label for the subtotal. Defaults to the generator's label. |
totalLabel | Text, up to 80 characters | Label for the total. Defaults to the generator's label. |
notesLabel | Text, up to 80 characters | Label for the notes. Defaults to the generator's label. |
termLabel | Text, up to 80 characters | Label for the terms. Defaults to the generator's label. |
template | One of default, classic, minimal, bold, editorial, ledger, letter, studio, folio, checkout, banner, cards, rails, poster, remittance, wide, receipt, clean, plain, airy, swiss, blank, freelance, corporate, consulting, agency, counsel, accountant, clinic, software, harbor, canvas, block, pulse, metro, horizon, startup, heritage, continental, ivory, royal, bistro, atelier, spotlight, lens, palette, zine, stage, petal, spreadsheet, itemized, contractor, workshop, panorama, freight, statement, utility, rent, trades, export, fiscal, pocket, memo, job, till, cafe, ticket | How the invoice looks. One of: "default" (clean sans-serif, the sender opposite the title, and a dark band over the line items); "classic" (a serif letterhead, centred at the top, with the line items between rules); "minimal" (black and one grey on white, the title at the top left, no fills, only hairlines); "bold" (a large Montserrat title on a teal-tinted header, a teal band over the line items); "editorial" (a display serif title in forest green, with the line items between green rules); "ledger" (monospace figures in compact, ruled rows, for invoices with many lines); "letter" (a European business letter, the client placed for a windowed envelope, the title as the subject); "studio" (a navy sidebar down the left with the seller, title, amount due, client and dates, the items beside it); "folio" (a cream rail down the right with the amount due, dates and client, a display serif title); "checkout" (the amount due first, large on a soft card with its due date, like a payment page); "banner" (a full-width slate banner with the seller and title in white, a sky strip for the client and dates); "cards" (the client and the dates in outlined cards side by side, the sum on a filled card); "rails" (a large title, then seller, client and dates side by side on black rails, numbered line items); "poster" (the title huge in a red display serif across the top, the parties in a quiet grid under it); "remittance" (a traditional serif invoice ending in a tear-off remittance slip to return with the payment); "wide" (US Letter in landscape, for long tables, with numbered line items); "receipt" (an 80mm till-roll receipt, one centred column, the items stacked); "clean" (plain sans-serif, a blue rule over the line items and under the totals); "plain" (black on white on US Letter, no fills, hairlines between the rows); "airy" (generous white space, a light title and a teal accent, no row lines); "swiss" (a bold geometric title in red at the top left, the parties in three columns); "blank" (the plainest page: one grey, no lines, nothing but the figures, on US Letter); "freelance" (the amount due large under the header, a violet accent, the rest quiet); "corporate" (a navy band across the top with the seller and title in white, a navy table header); "consulting" (a pale slate band behind the header, the client and dates on rails, on US Letter); "agency" (a bold geometric title, the client and dates in outlined cards, the amount due on a tinted card); "counsel" (a centred serif letterhead in burgundy, ruled tables and a double rule under the total); "accountant" (compact, numbered lines between strong green rules, a double rule under the total); "clinic" (a soft teal band behind the header, the client and dates in rounded cards); "software" (an indigo band across the top, the amount due first, clean sans-serif); "harbor" (a teal sidebar down the left with the seller, title, amount due and client); "canvas" (a pale coral rail down the right with the client and dates, a geometric title); "block" (an orange band across the top, the amount due on a tinted card, an orange table header); "pulse" (the amount due first on a pink card, a large pink title, round corners); "metro" (the client and dates in cards, a green table header and total band); "horizon" (a sky-blue band across the top, the client and dates on rails, on US Letter); "startup" (a violet sidebar down the right with the amount due, dates and client); "heritage" (a centred serif letterhead in brown, ruled tables, a double rule under the total); "continental" (a bookish serif laid out as a business letter, the sender at the right, in pine green); "ivory" (warm ivory paper, a serif title in bronze, fine rules); "royal" (a centred serif header on a pale navy band, formal, with a double rule under the total); "bistro" (a serif title in wine red, the client and dates in cards, soft corners); "atelier" (a large light serif title in charcoal across the top, no row lines); "spotlight" (the title huge in magenta across the top, a black band over the line items); "lens" (a large serif title in black, a plain rail down the right with the client and dates); "palette" (a coral sidebar down the left, a big title, round corners); "zine" (monospace throughout, a huge title, a mustard band over the line items); "stage" (a deep plum band across the top with a large title, the amount due below it); "petal" (a blush band behind the header, a rose serif title, rounded cards); "spreadsheet" (monospace figures in compact numbered rows between strong rules); "itemized" (compact numbered lines under a blue band, on US Letter); "contractor" (numbered lines under an orange band, strong rules, a bold industrial title); "workshop" (the client and dates on red rails, numbered lines, a red total band); "panorama" (A4 in landscape, numbered lines under a green band); "freight" (US Letter in landscape, compact numbered lines between slate rules); "statement" (a formal page on US Letter with the client and dates on rails, ending in a remittance slip); "utility" (the amount due first on a blue card, a tear-off slip at the foot, like a utility bill); "rent" (a serif page with the amount due first, ending in a remittance slip for the tenant); "trades" (an amber band across the top, numbered lines, and a tear-off remittance slip); "export" (a formal ruled page with numbered lines and the parties side by side, for goods sent abroad); "fiscal" (a clear, ruled page: title and number first, dates prominent, a double rule under the total); "pocket" (an A5 half sheet, compact, a blue title and a blue rule over the line items); "memo" (a 5.5 × 8.5 in half sheet, compact, the amount due first); "job" (an A5 half sheet with numbered lines under an amber rule); "till" (an 80mm till receipt in clean sans-serif, the total on a band); "cafe" (an 80mm receipt with a serif title in espresso brown); "ticket" (a 58mm till slip in monospace, as a handheld printer prints it). Defaults to "default". |
JSON Schema
The same input is published as JSON Schema in the tool listing (tools/list). An input version only grows by new templates; a change that could break an agent ships as a new version instead. Calls without template, as agents made before templates, still work.
Templates
Pass template to choose how the invoice looks. It changes only the design, never what the invoice says. Without it the invoice uses Default, and the link opens the generator in the same template.
| Value | Looks like |
|---|---|
default | Default: clean sans-serif, the sender opposite the title, and a dark band over the line items |
classic | Classic: a serif letterhead, centred at the top, with the line items between rules |
minimal | Minimal: black and one grey on white, the title at the top left, no fills, only hairlines |
bold | Bold: a large Montserrat title on a teal-tinted header, a teal band over the line items |
editorial | Editorial: a display serif title in forest green, with the line items between green rules |
ledger | Ledger: monospace figures in compact, ruled rows, for invoices with many lines |
letter | Letter: a European business letter, the client placed for a windowed envelope, the title as the subject |
studio | Studio: a navy sidebar down the left with the seller, title, amount due, client and dates, the items beside it |
folio | Folio: a cream rail down the right with the amount due, dates and client, a display serif title |
checkout | Checkout: the amount due first, large on a soft card with its due date, like a payment page |
banner | Banner: a full-width slate banner with the seller and title in white, a sky strip for the client and dates |
cards | Cards: the client and the dates in outlined cards side by side, the sum on a filled card |
rails | Rails: a large title, then seller, client and dates side by side on black rails, numbered line items |
poster | Poster: the title huge in a red display serif across the top, the parties in a quiet grid under it |
remittance | Remittance: a traditional serif invoice ending in a tear-off remittance slip to return with the payment |
wide | Wide: US Letter in landscape, for long tables, with numbered line items |
receipt | Receipt: an 80mm till-roll receipt, one centred column, the items stacked |
clean | Clean: plain sans-serif, a blue rule over the line items and under the totals |
plain | Plain: black on white on US Letter, no fills, hairlines between the rows |
airy | Airy: generous white space, a light title and a teal accent, no row lines |
swiss | Swiss: a bold geometric title in red at the top left, the parties in three columns |
blank | Blank: the plainest page: one grey, no lines, nothing but the figures, on US Letter |
freelance | Freelance: the amount due large under the header, a violet accent, the rest quiet |
corporate | Corporate: a navy band across the top with the seller and title in white, a navy table header |
consulting | Consulting: a pale slate band behind the header, the client and dates on rails, on US Letter |
agency | Agency: a bold geometric title, the client and dates in outlined cards, the amount due on a tinted card |
counsel | Counsel: a centred serif letterhead in burgundy, ruled tables and a double rule under the total |
accountant | Accountant: compact, numbered lines between strong green rules, a double rule under the total |
clinic | Clinic: a soft teal band behind the header, the client and dates in rounded cards |
software | Software: an indigo band across the top, the amount due first, clean sans-serif |
harbor | Harbor: a teal sidebar down the left with the seller, title, amount due and client |
canvas | Canvas: a pale coral rail down the right with the client and dates, a geometric title |
block | Block: an orange band across the top, the amount due on a tinted card, an orange table header |
pulse | Pulse: the amount due first on a pink card, a large pink title, round corners |
metro | Metro: the client and dates in cards, a green table header and total band |
horizon | Horizon: a sky-blue band across the top, the client and dates on rails, on US Letter |
startup | Startup: a violet sidebar down the right with the amount due, dates and client |
heritage | Heritage: a centred serif letterhead in brown, ruled tables, a double rule under the total |
continental | Continental: a bookish serif laid out as a business letter, the sender at the right, in pine green |
ivory | Ivory: warm ivory paper, a serif title in bronze, fine rules |
royal | Royal: a centred serif header on a pale navy band, formal, with a double rule under the total |
bistro | Bistro: a serif title in wine red, the client and dates in cards, soft corners |
atelier | Atelier: a large light serif title in charcoal across the top, no row lines |
spotlight | Spotlight: the title huge in magenta across the top, a black band over the line items |
lens | Lens: a large serif title in black, a plain rail down the right with the client and dates |
palette | Palette: a coral sidebar down the left, a big title, round corners |
zine | Zine: monospace throughout, a huge title, a mustard band over the line items |
stage | Stage: a deep plum band across the top with a large title, the amount due below it |
petal | Petal: a blush band behind the header, a rose serif title, rounded cards |
spreadsheet | Spreadsheet: monospace figures in compact numbered rows between strong rules |
itemized | Itemized: compact numbered lines under a blue band, on US Letter |
contractor | Contractor: numbered lines under an orange band, strong rules, a bold industrial title |
workshop | Workshop: the client and dates on red rails, numbered lines, a red total band |
panorama | Panorama: A4 in landscape, numbered lines under a green band |
freight | Freight: US Letter in landscape, compact numbered lines between slate rules |
statement | Statement: a formal page on US Letter with the client and dates on rails, ending in a remittance slip |
utility | Utility: the amount due first on a blue card, a tear-off slip at the foot, like a utility bill |
rent | Rent: a serif page with the amount due first, ending in a remittance slip for the tenant |
trades | Trades: an amber band across the top, numbered lines, and a tear-off remittance slip |
export | Export: a formal ruled page with numbered lines and the parties side by side, for goods sent abroad |
fiscal | Fiscal: a clear, ruled page: title and number first, dates prominent, a double rule under the total |
pocket | Pocket: an A5 half sheet, compact, a blue title and a blue rule over the line items |
memo | Memo: a 5.5 × 8.5 in half sheet, compact, the amount due first |
job | Job: an A5 half sheet with numbered lines under an amber rule |
till | Till: an 80mm till receipt in clean sans-serif, the total on a band |
cafe | Cafe: an 80mm receipt with a serif title in espresso brown |
ticket | Ticket: a 58mm till slip in monospace, as a handheld printer prints it |
Any other value returns a tool error that lists these, and no PDF.
Limits
- Each IP address can send 600 requests at once and then 600 a minute. Over that, requests get a 429 with a
Retry-Afterheader. - Each IP address can make 120 invoices at once and then 120 a minute, within 300 a minute for all callers together. Over either,
create_invoicereturns a tool error that says how many seconds to wait. - A request body can be up to 256 KB. A larger one gets a 413.
- Up to 200 line items, 200 extra rows after the subtotal, and 200 custom fields per invoice. A logo must be a PNG or JPEG data URL of up to 4 KB; web addresses are not fetched. Any other logo is left out of the PDF, and the result says so.
Privacy
The invoice details are used only to make the PDF and the link. They are held in memory while the request runs and are never stored or logged. The link carries the invoice after the “#”, which browsers don’t send to servers. Our servers record only that a request was made (IP address, time, and the address called) and a per-IP request count that expires within two minutes. Read more in the Privacy Policy.
Example prompts
- “Make an invoice from Northwind Studio to Contoso LLC for two days of design work at $750 a day, due in 14 days.”
- “Invoice Globex GmbH for September hosting, €49.99, add 19% VAT, and put our IBAN DE89 3704 0044 0532 0130 00 in the notes.”
- “Create invoice INV-0042 in pounds for Acme Ltd: 3 hours of consulting at £120 an hour and a £25 travel fee.”
- “Bill Initech $2,400 for the October retainer, on the classic template.”