Skip to content
MCPSTAMP

PDF invoiceHosted URL

Invoice

Turn one sentence into a real, sendable PDF invoice.

Free tier needs no key. See the exact limits.

What you get

Invoice

INV-2026-0001

PDF

Bill to

Acme

Due

in 14 days

Currency

EUR

ItemQtyPriceEUR
API work12 h90.001,080.00
Setup fee1300.00300.00
READY INV-2026-0001
Subtotal
1,380.00
VAT 23%
317.40
Total EUR
1,697.40
Example from "Bill a client in one message". Invented names, real math from the tools.

Say who to bill, for what and at what rate, and get a numbered A4 PDF invoice with VAT lines and your bank details. It keeps your clients, never reuses an invoice number, records payments and tells you what's overdue. On the local install, everything sits in plain files on your machine.

Made for Freelancers, Consultants, Small agencies

3 requests, start to finish

Example chats. Each one uses real tools of this server, named as they run. The people and firms are made up.

Example done on the free tier. Doing this every week? Pro removes the limit for $19, once. Free vs Pro

  1. Example 1 · Freelance API developer in LisbonBill a client in one message

    Invoice Acme for 12 hours of API work at 90 EUR plus a 300 EUR setup fee, 23% VAT, due in 14 days, and give me the PDF.
    • invoice_create Creates INV-2026-0001 with two lines
    • invoice_pdf Renders the A4 PDF

    EUR 1,380.00 subtotal, EUR 317.40 VAT, EUR 1,697.40 total, as a PDF ready to email.

    Saves about 15 min (our estimate)

  2. Example 2 · UX consultant in Warsaw billing a UK clientBill tracked hours

    Bill Beta Ltd for 18.5 hours at PLN 220 an hour, invoice in GBP at the rate I give you.
    • invoice_from_hours Bills hours at the rate in the target currency
    • invoice_pdf Renders the PDF

    An invoice in GBP with the rate you supplied stated, and a PDF to send.

    Saves about 15 min (our estimate)

  3. Example 3 · Design studio owner in BrooklynWho owes me money

    Mark INV-2026-0007 paid, then show me everything overdue.
    • invoice_mark_paid Records the payment and the balance
    • overdue_report Lists unpaid invoices past due

    A list of overdue invoices with days late and totals per currency.

    Saves about 15 min (our estimate)

Free and Pro, line by line

The free column is yours with no key. The Pro column costs $19 once, or comes with the $39 bundle.

Free

$0 no key

Pro

$19 once, lifetime

3 invoices per calendar month
Unlimited invoices
Unlimited clients, overdue report, tax lines, discounts, payments, multi-currency
No branding line on the PDF
PDF carries a 'Generated with mcp-invoice' line
Your logo on the PDF
Fixed INV prefix
Custom invoice prefix

Saw a message that says the free tier allows a set number per month? That's the limit Pro removes. Paste the key where the token goes, or set MCP_LICENSE_KEY.

Or Pro on all 49 paid servers for $39 once. Get the bundle

Limits read from the code: servers/invoice/src/index.ts:23 (FREE_INVOICES_PER_MONTH = 3), :202 (prefix), :859 (logo, unbranded PDF); https://mcp.zovo.one/s/invoice

Install

Works with Claude, Cursor, VS Code and other MCP clients. The hosted URL needs no install at all.

npm @theluckystrike/mcp-invoice

  1. Get a free token. It lasts 30 days and allows 600 calls per hour. Or open the connect page for a ready URL.
  2. Paste the URL with your token as a custom connector in your MCP client.

1. Free token

curl -s -X POST https://mcp.zovo.one/mcp/token

2. Connector URL (replace <token>)

https://mcp.zovo.one/mcp/invoice/t/<token>

Download the .mcpb bundle and open it. Claude Desktop installs it in one click.

Download invoice.mcpb

Add this to your MCP client config (Claude Desktop, Cursor, VS Code). Needs Node.js.

{
  "mcpServers": {
    "invoice": {
      "command": "npx",
      "args": [
        "-y",
        "@theluckystrike/mcp-invoice"
      ]
    }
  }
}

One command in your terminal.

claude mcp add --transport http invoice https://mcp.zovo.one/mcp/invoice/t/<token>

# or run it locally
claude mcp add invoice -- npx -y @theluckystrike/mcp-invoice

Jobs this server does

All tools (11)

ToolWhat it does
business_setThe ONE business profile for the whole suite: name, address, VAT id, bank details and defaults (currency, tax rate, terms, prefix, timezone).
client_addStore a client so invoice_create can refer to them by name.
client_deleteDelete one stored client that nothing refers to.
client_listList every stored client with id, address, email and VAT id.
invoice_createCreate an invoice from line items and return the record with its next, never-reused number.
invoice_from_hoursShortcut for the common case: bill one client for N hours at an hourly rate.
invoice_getReturn the full stored record for one invoice number, including every line, tax breakdown, and the balance still open after any credit note issued against it (see credited_minor).
invoice_listList invoices by number: client, dates, currency, subtotal, discount, tax lines, total, status, paid, credited and the balance still due after any credit note.
invoice_mark_paidRecord a payment on one invoice.
invoice_pdfCall this tool to write one stored invoice as an A4 PDF and return the path: issuer, BILL TO, dates, items, taxes and totals.
overdue_reportList every invoice not paid in full whose due date has passed, worst first, with days overdue and the amount, then a total per currency.

Questions

Does it email the invoice?
No. It makes the PDF and the record. Sending it is up to you.
Does it convert currencies?
Not on its own. An invoice has one currency. invoice_from_hours can bill in another currency at a rate you supply.
Can a number be reused?
No. The counter is written before the invoice is stored, so a crash skips a number instead of reusing one.

More in Invoicing

Invoice Pro, $19 once

Buy Pro