simple_invoicing-mcp
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., "@simple_invoicing-mcp List all unpaid invoices"
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.
simple_invoicing-mcp
MCP (Model Context Protocol) server that acts as a bridge to any deployed simple_invoicing FastAPI instance.
This server exposes the simple_invoicing REST API as MCP tools, making it usable directly from Claude Desktop, Cursor, or any other MCP-compatible client.
Prerequisites
Node.js ≥ 18
A running
simple_invoicingFastAPI backendA long-lived bearer token (API token) for the backend
Related MCP server: mcp-buchhaltungsbutler
Setup
git clone https://github.com/nikhilb2/simple_invoicing-mcp.git
cd simple_invoicing-mcp
npm install
npm run buildConfiguration
Set these environment variables before running:
export INVOICING_BASE_URL=https://your-invoicing-instance.example.com
export INVOICING_API_TOKEN=your-long-lived-bearer-token-hereOr copy .env.example to .env and fill in the values.
How to get an API token
Open your
simple_invoicingbackend's Swagger UI (usually at/docs)Use the
/api/auth/loginendpoint with your credentialsCopy the
access_tokenfrom the responseUse this token as
INVOICING_API_TOKEN
Running locally (dev)
npm run devThis starts the MCP server on stdio using tsx.
MCP Client Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"invoicing": {
"command": "node",
"args": ["/absolute/path/to/simple_invoicing-mcp/dist/index.js"],
"env": {
"INVOICING_BASE_URL": "https://invoicing.example.com",
"INVOICING_API_TOKEN": "your-token-here"
}
}
}
}Cursor
Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"invoicing": {
"command": "node",
"args": ["/absolute/path/to/simple_invoicing-mcp/dist/index.js"],
"env": {
"INVOICING_BASE_URL": "https://invoicing.example.com",
"INVOICING_API_TOKEN": "your-token-here"
}
}
}
}Available Tools
Invoices
Tool | Description | Parameters |
| List all invoices with optional filtering |
|
| Get a single invoice by ID |
|
| Create a new invoice |
|
| Get the PDF for an invoice |
|
Products
Tool | Description | Parameters |
| List all products |
|
| Get a single product by ID |
|
| Create a new product |
|
Ledgers
Tool | Description | Parameters |
| List all ledgers |
|
| Get the statement for a ledger |
|
| Get the day book entries |
|
Inventory
Tool | Description | Parameters |
| List all inventory items |
|
Buyers
Tool | Description | Parameters |
| List all buyers |
|
| Get a single buyer by ID |
|
Payments
Tool | Description | Parameters |
| List all payments |
|
| Create a new payment |
|
Development
npm install # Install dependencies (set NODE_ENV=development for devDeps)
npm run build # Compile TypeScript
npm test # Run testsLicense
MIT
Available Tools
15 toolscreate_invoiceC
Create a new invoice
Inputs: data (required).
create_paymentD
Create a new payment
Inputs: data (required).
create_productC
Create a new product
Inputs: data (required).
get_buyerB
Get a single buyer by ID
Inputs: id (required).
get_day_bookC
Get the day book entries with optional date range
Inputs: start_date, end_date.
get_invoiceA
Get a single invoice by ID
Inputs: id (required).
get_invoice_pdfA
Get the PDF for an invoice (returns base64 if available)
Inputs: id (required).
get_ledger_statementB
Get the statement for a ledger with optional date range
Inputs: id (required), start_date, end_date.
get_productB
Get a single product by ID
Inputs: id (required).
list_buyersC
List all buyers
Inputs: skip, limit.
list_inventoryC
List all inventory items
Inputs: skip, limit.
list_invoicesC
List all invoices with optional filtering
Inputs: invoice_type, skip, limit.
list_ledgersC
List all ledgers
Inputs: skip, limit.
list_paymentsC
List all payments
Inputs: skip, limit.
list_productsC
List all products
Inputs: skip, limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 15 tools
Each tool targets a distinct resource (invoice, payment, product, buyer, ledger, inventory) with unique operations (create, get, list). No two tools have overlapping purposes, making it easy for an agent to select the correct one.
All tool names follow a consistent verb_noun pattern (e.g., create_invoice, get_buyer, list_invoices) using lowercase snake_case. No mixing of conventions or vague verbs like 'process' or 'do_thing'.
With 15 tools, the surface is well-scoped for a simple invoicing system covering core entities (invoices, payments, products, buyers, ledgers, inventory). Each tool earns its place without unnecessary bloat or deficiency.
The tool set provides basic CRUD operations (create and read/list) for most entities but lacks update and delete functionalities (e.g., update_invoice, delete_product). While the core workflow of creating and reading is covered, agents may hit dead ends when needing to modify or remove records.
Maintenance
Related MCP Connectors
Create and manage invoices and customers on Jupiter Invoice (MCP, API-key auth).
Host any HTTP API as MCP tools with a tamper-evident cross-agent settlement ledger.
Free hosted MCP for invoices, estimates, clients, items and PDFs. OAuth authorization required.
Invoice Simple MCP server for ChatGPT, Claude and any AI agent: create invoice, send invoice, create estimate, list unpaid invoices and mark invoice paid in your own Invoice Simple account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Invoice Simple yourself; Cotlet does not store your password and you need no Invoice Simple API key. About the official Invoice Simple API: Invoice Simple publishes no public API, API keys or developer documentation; its plans offer built-in payment integrations instead (checked 8 Nov 2026). It has no official MCP server. Setup and FAQ: https://cotlet.dev/integrations/invoice-simple-api-mcp-server
Related MCP Servers
- AlicenseAqualityBmaintenanceModel Context Protocol (MCP) server for Spanish Electronic Invoicing. Provides tools to generate, validate, and submit invoices across VERI\*FACTU, Facturae/FACe, SII, TicketBAI, and Crea y Crece B2B.2042 PyPI3Apache 2.0
- FlicenseNot gradedqualityBmaintenanceMCP server exposing BuchhaltungsButler API tools for accounting, invoicing, and receipt management with curated, token-efficient endpoints.1-
- FlicenseNot gradedqualityCmaintenanceEnables MCP-compatible clients to retrieve invoice and purchase order data live over stdio through tools for listing invoices, getting invoice details, and fetching purchase orders.-
- AlicenseBqualityBmaintenanceEnables AI assistants to access the Billingo v3 invoicing API through MCP, providing 49 read/write tools for managing invoices, partners, and related data over stdio or HTTP transports.2263 npm3MIT