MCP Invoice Maker
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Invoice Makercreate invoice for Acme Corp for 10h web dev"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Invoice Maker
A local-first MCP project for creating PDF invoices from SQLite data.
Current Step: Database
Initialize the local SQLite database:
npm run db:initAdd sample data:
npm run db:seedInspect available tables:
npm run db:inspectThe database is created at data/invoices.sqlite and is ignored by git.
Related MCP server: invoiceninja-mcp
Planned Build Order
SQLite database for invoice data
HTML invoice page/template
MCP JSON tools for creating, rendering, and fetching invoices
Puppeteer PDF rendering
HTML Invoice Template
The invoice template lives at templates/invoice.html with styles in templates/invoice.css.
It is based on the Beam Beam Digital PDF invoice design and uses:
Montserrat for general invoice text and
BEAM BEAMBodoni Moda for
DigitalandWith thanks
Invoice Input Schema
The create-invoice JSON input schema lives at src/schemas/create-invoice.schema.json.
An example payload lives at examples/create-invoice.json.
The required invoice input is intentionally minimal:
client_namework_carried_outhours
The optional issue_date can override the current local date.
MCP Server
Run the local MCP server over stdio:
npm startCodex project-local MCP config lives at .codex/config.toml and registers this server as:
invoice_makerAfter adding or changing MCP config, restart Codex or open a new Codex thread so the tools are loaded.
Current tools:
add_clientupdate_clientlist_clientscreate_invoiceget_invoicelist_client_invoices
The create_invoice tool treats an invoice request as a PDF request: it writes
the invoice data to SQLite, renders the invoice PDF, and returns the invoice data
with a pdf.path and pdf.url.
Render HTML
Render an existing invoice to a local HTML file:
npm run render:html -- 001This writes to output/invoice-001.html.
Render PDF
Render an existing invoice to a local PDF file:
npm run render:pdf -- 001This writes:
output/invoice-001.htmloutput/invoice-001.pdf
PDF rendering uses puppeteer-core and the Chrome installed at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome. You can override the browser path with PUPPETEER_EXECUTABLE_PATH.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
MCP server for Quaderno — tax-rate calculation, invoices, contacts, products, receipts & expenses.
Create PDF invoices from your AI chat: clients, numbering, VAT, overdue reports. All data is local.
MCP server for Codat — companies, connections, invoices, bills and financial statements.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA lightweight MCP server for client relationship management, enabling client tracking, notes, and search via natural language.MIT
- AlicenseBqualityDmaintenanceMCP server for Invoice Ninja v5 API. Enables AI assistants to manage clients, invoices, quotes, payments, and time tracking through natural language.3219 npm2MIT
- AlicenseAqualityCmaintenanceMCP server for local knowledge management with Markdown and PDF indexing using SQLite FTS5.56 npm2MIT

InvoiceFlash MCPofficial
FlicenseNot gradedqualityCmaintenanceRead-only MCP server that connects to an InvoiceFlash MySQL database, exposing clients, invoices, and quotes as tools for natural language querying via Claude Desktop or Claude Code.-