LABSCO SUMMARY
The shipped instructions are the part that makes it consistent.
A model asked to "make an invoice" will invent a number format and a due date. The project instructions in the README fix that: your details, your terms, an invoice-number format built from customer initials and the date, and a rule that every invoice is confirmed with you before the PDF is written. Paste them into a project once and the output stops drifting. The invoice template itself is editable TSX with a live preview. The author notes local models via LM Studio are less reliable here than Claude.
What it is
A local server that renders invoices to PDF from a description. You give it the customer, the line items and the terms — briefly or in detail — and it produces the document.
What you get
- A PDF invoice generated from natural language, saved to a path you choose and defaulting to the Desktop
- Line items with quantity and rate, so hourly work and fixed-price work both render correctly
- GBP, USD, CAD and EUR are supported currencies
- An optional logo, supplied as a direct URL ending in .jpg, .png or .webp — SVG is not supported
- The repository includes a set of project instructions you can paste in to pre-fill your business details, payment information, default terms and invoice numbering
- A preview app renders the template at http://localhost:5173/ while you edit it
Requirements
Node v18 or newer. Clone the repository, npm install and npm run build in the server directory, then point your client at server/build/index.js. No account and no service — the PDF is produced locally.
Setup effort
Build from source — git clone https://github.com/markslorach/invoice-mcp.git
USE CASES
Billing a client from a sentence
Say who and what for, confirm the details it reads back, and get the PDF.
Invoicing hourly work
Line items carry the rate in the description and hours in the quantity, so the maths is right on the page.
Keeping invoices looking the same every time
Pre-fill your business details and terms once so numbering and defaults do not drift.
Changing how the invoice looks
Edit the template and watch it render in the preview app before you send one.
BEFORE YOU INSTALL
What to know first
Requires
Node v18 or later
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/markslorach/invoice-mcp.git
cd invoice-mcp/server
npm install
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"Invoice MCP Server": {
"command": "node",
"args": [
"<YOUR_PATH_TO_INVOICE_MCP>/server/build/index.js"
]
}
}
}