npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

invoice-ninja-mcp-server

v1.0.0

Published

MCP server for Invoice Ninja - create invoices, manage clients, payments, quotes, and expenses

Readme

Invoice Ninja MCP Server

An MCP (Model Context Protocol) server for Invoice Ninja v5. Create invoices, manage clients, record payments, and more through Claude.

Features

26 tools across 7 categories:

System

  • test-connection - Verify API credentials and instance connectivity

Invoices (primary)

  • list-invoices - List/filter/search invoices
  • get-invoice - Get full invoice details with line items
  • create-invoice - Create draft invoices
  • update-invoice - Update invoice fields and line items
  • delete-invoice - Soft-delete invoices
  • send-invoice-email - Email invoices to clients
  • bulk-invoice-action - Mark sent/paid, archive, cancel, clone to quote

Clients

  • list-clients - List/search clients
  • get-client - Get client details with contacts
  • create-client - Create clients with contacts
  • update-client - Update client details
  • delete-client - Soft-delete clients

Products

  • list-products - List products for line item reference
  • get-product - Get product details and pricing

Payments

  • list-payments - List payment records
  • get-payment - Get payment details
  • create-payment - Record payments against invoices

Quotes

  • list-quotes - List quotes
  • get-quote - Get quote details
  • create-quote - Create quotes (same structure as invoices)
  • update-quote - Update quotes
  • bulk-quote-action - Approve, convert to invoice, mark sent

Expenses

  • list-expenses - List expenses
  • get-expense - Get expense details
  • create-expense - Create expense records

Configuration

You need two things:

  1. Invoice Ninja URL - Your Invoice Ninja instance URL (e.g., https://invoicing.co or your self-hosted URL)
  2. API Token - Generate from Invoice Ninja: Settings > Account Management > API Tokens

Installation

Claude Desktop

Add to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "invoice-ninja": {
      "command": "npx",
      "args": ["-y", "invoice-ninja-mcp-server"],
      "env": {
        "INVOICE_NINJA_URL": "https://your-instance.invoicing.co",
        "INVOICE_NINJA_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Then restart Claude Desktop.

Claude Code

claude mcp add invoice-ninja \
  -e INVOICE_NINJA_URL=https://your-instance.invoicing.co \
  -e INVOICE_NINJA_API_TOKEN=your_api_token_here \
  -- npx -y invoice-ninja-mcp-server

Cursor

Add to .cursor/mcp.json in your project root (or ~/.cursor/mcp.json for global):

{
  "mcpServers": {
    "invoice-ninja": {
      "command": "npx",
      "args": ["-y", "invoice-ninja-mcp-server"],
      "env": {
        "INVOICE_NINJA_URL": "https://your-instance.invoicing.co",
        "INVOICE_NINJA_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Development

Prerequisites

  • Node.js >= 18
  • pnpm

Setup

pnpm install
pnpm run build

Watch mode

pnpm run watch

Testing locally

Create a .env file with your credentials (already in .gitignore):

INVOICE_NINJA_URL=https://your-instance.invoicing.co
INVOICE_NINJA_API_TOKEN=your_api_token_here

Then point your MCP config to the local build:

{
  "mcpServers": {
    "invoice-ninja": {
      "command": "node",
      "args": ["/path/to/invoice-ninja-mcp/dist/index.js"],
      "env": {
        "INVOICE_NINJA_URL": "https://your-instance.invoicing.co",
        "INVOICE_NINJA_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Example Workflow

  1. "List my clients" -> list-clients
  2. "Create an invoice for Acme Corp with 10 hours of consulting at $150/hr" -> list-clients (find ID) -> create-invoice
  3. "Send that invoice" -> send-invoice-email
  4. "Mark it as paid" -> bulk-invoice-action with mark_paid

License

MIT