Invoice Ninja MCP server
Invoice Ninja in any MCP client, through Memtro: Invoice Ninja does not publish this server. Memtro's Invoice Ninja connector reads Invoice Ninja through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Invoice Ninja (hosted or self-hosted): clients with balances, invoices, quotes, payments, tasks, expenses, projects and products; can create and edit invoices, email them, mark them sent or paid, cancel, archive, delete or auto-bill them, create, email, approve and convert quotes, record payments, create projects, and add or edit tasks and clients.
Reads
invoiceninja_list_clientsClients, most recently updated first: name, number, website, balance owed, paid to date and contact names.invoiceninja_list_invoicesInvoices, most recently updated first: number, client id, status code, invoice and due dates, amount, balance and paid to date.invoiceninja_list_quotesQuotes, most recently updated first: number, client id, status code, dates and amount.invoiceninja_list_paymentsPayments received, most recently updated first: number, client id, date, amount, applied and refunded.invoiceninja_list_tasksTasks (time tracked against clients and projects), most recently updated first: description, client and project ids, hours logged…invoiceninja_list_expensesExpenses, most recently updated first: date, amount, vendor, client, project, category, public notes and whether it is to be invoiced.invoiceninja_list_projectsProjects, most recently updated first: name, client id, due date, budgeted hours, task rate and public notes.invoiceninja_list_productsProducts and services in the catalogue: key, description, price, cost and default quantity.
Acts, when you ask
These change something in Invoice Ninja. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
invoiceninja_create_taskAdds a task in Invoice Ninja, optionally for a client and project, with a due date.invoiceninja_create_clientAdds a client to Invoice Ninja with one contact.invoiceninja_create_invoiceCreates a draft invoice in Invoice Ninja for a client, with line items, dates and notes.invoiceninja_update_invoiceEdits an existing Invoice Ninja invoice's line items, dates, PO number, notes, terms or discount.invoiceninja_email_invoiceEmails the named invoices (or a reminder for them) to each client's contacts from Invoice Ninja.invoiceninja_mark_invoice_paidMarks the named Invoice Ninja invoices as paid in full, recording a payment for each balance.invoiceninja_mark_invoice_sentMarks the named Invoice Ninja draft invoices as sent without emailing anybody.invoiceninja_cancel_invoiceCancels the named Invoice Ninja invoices, removing their balances from what the client owes.invoiceninja_auto_bill_invoiceCharges the named Invoice Ninja invoices to each client's saved payment method.invoiceninja_archive_invoiceArchives, deletes or restores the named Invoice Ninja invoices.invoiceninja_create_quoteCreates a draft quote in Invoice Ninja for a client, with a quote date, a valid-until date and line items.invoiceninja_send_quoteEmails the named Invoice Ninja quotes to each client's contacts.invoiceninja_convert_quote_to_invoiceApproves the named Invoice Ninja quotes (action approve) or converts each into a new draft invoice (action convert).invoiceninja_record_paymentRecords a payment already received from a client in Invoice Ninja, optionally applied to named invoices.invoiceninja_create_projectCreates a project for a client in Invoice Ninja.invoiceninja_update_taskEdits an Invoice Ninja task's description, client, project or due date.invoiceninja_update_clientChanges an Invoice Ninja client's name or website.
Connect it
First connect Invoice Ninja on Dashboard → Connections, then add Memtro to your client once. The Invoice Ninja tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Invoice Ninja connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Which clients owe us money, and how much?
- › What did we invoice this month?
- › Which quotes for Northwind are still waiting?
- › Send BigCo a reminder for their two overdue invoices
- › Record a £1,200 bank transfer from Acme against invoice 0142
Questions
- Is this an official Invoice Ninja MCP server?
- No. It is Memtro's MCP server with Memtro's Invoice Ninja connector behind it: the connector reads Invoice Ninja through its API with the credentials you connect on Dashboard → Connections, and Invoice Ninja publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Invoice Ninja?
- Only when you ask, and only what it has been granted: add a task in Invoice Ninja; add a client with one contact to Invoice Ninja; create a draft invoice in Invoice Ninja; edit an invoice's lines, dates or notes in Invoice Ninja; email invoices to the client's contacts from Invoice Ninja; mark invoices as paid in Invoice Ninja; mark invoices as sent in Invoice Ninja without emailing; cancel invoices in Invoice Ninja; archive, delete or restore invoices in Invoice Ninja; charge invoices to the client's saved payment method in Invoice Ninja; create a draft quote in Invoice Ninja; email quotes to the client's contacts from Invoice Ninja; approve quotes or convert them to draft invoices in Invoice Ninja; record a payment in Invoice Ninja; create a project in Invoice Ninja; edit a task in Invoice Ninja; edit a client's name or website in Invoice Ninja. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.