Skip to content

InvoiceNinja MCP

A standalone MCP server that exposes the InvoiceNinja v5 REST API as MCP tools, so any MCP client (Claude Code, Claude Desktop, …) can manage clients, invoices, quotes, payments and more.

It runs as a container sidecar next to your InvoiceNinja instance and serves streamable HTTP. Nearly every documented API endpoint becomes a tool at startup: 377 tools against InvoiceNinja 5.13.43, generated from the spec's 379 operations (login/logout are excluded).

  • Getting started — add one service to your compose file and connect a client.
  • Token or OAuth auth — token mode stores no secret and each client sends its own API token; OAuth mode adds a login that mints a per-client token.
  • Tools — generated tools, plus apiRequest and uploadClient.
  • Configuration — environment variables and spec selection.
  • Claude Code plugin — ready-made skills for invoices, clients, payments and reports, on top of this server.

Claude Code plugin

Using Claude Code? invoiceninja-plugin adds skills that call these tools (find clients, create and send invoices, record payments, run reports) and registers this server for you.

Why a sidecar

InvoiceNinja's API stays on the internal Docker network. Clients reach the MCP server through a TLS-terminating reverse proxy or a trusted LAN, and the credential they present (an API token, or an OAuth login that mints one) is what InvoiceNinja checks.

License

AGPL-3.0-or-later. Modified versions, including ones run as a network service, must publish their source.