# mcp-server

An InvoiceBox MCP server that lets an assistant issue invoices, check payment, confirm shipments and refund money, with a human approving each write.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: InvoiceBox
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/InvoiceBox/invoicebox-mcp-server
- Updated: 2026-08-11
- HTML: https://affpapa.org/en/nevibecode/mcp/invoicebox-mcp-server

## What it does

This server exposes InvoiceBox as a toolset for your assistant. Looking up company details by tax ID, fetching an invoice by id or your own number, listing invoices and shipments — all of that runs without approval. Invoice creation, cancellation, shipment confirmation and refunds work in two steps: the first call hands back a summary plus a single-use token valid for 15 minutes, and a second call with that token carries the operation out. Nothing reaches the API until a person signs off.

Default permissions are read-only. Writes turn on explicitly: `INVOICEBOX_TOOLSETS=write` adds invoicing, cancellation and shipping, `refund` adds refunds. Amounts travel as integer kopecks in a string, so a float can't shave off a kopeck. Above `INVOICEBOX_CONFIRM_THRESHOLD` (100 000 ₽ by default) the server asks the human separately rather than trusting a number the model produced. Closing documents — the act, TORG-12, the invoice and UPD — come from `create_shipment`; no separate tool exists for them.

You need `INVOICEBOX_API_TOKEN` from your account and `INVOICEBOX_ENV` set to `demo` or `production`. Merchant operations also need `INVOICEBOX_MERCHANT_ID`; organization operations need `INVOICEBOX_COUNTERPARTY_ID`. Skip `INVOICEBOX_STATE_DIR` and duplicate protection survives only within a single run. The demo store is shared, so test invoices are visible to every reader — keep real company details out.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `INVOICEBOX_API_TOKEN`, `INVOICEBOX_MERCHANT_ID`, `INVOICEBOX_ENV`, `INVOICEBOX_TOOLSETS`, `INVOICEBOX_STATE_DIR` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env INVOICEBOX_API_TOKEN=<INVOICEBOX_API_TOKEN> --env INVOICEBOX_MERCHANT_ID=<INVOICEBOX_MERCHANT_ID> --env INVOICEBOX_ENV=<INVOICEBOX_ENV> --env INVOICEBOX_TOOLSETS=<INVOICEBOX_TOOLSETS> --env INVOICEBOX_STATE_DIR=<INVOICEBOX_STATE_DIR> --transport stdio invoicebox-mcp-server -- npx -y @invoicebox/mcp-server
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add invoicebox-mcp-server --env INVOICEBOX_API_TOKEN=<INVOICEBOX_API_TOKEN> --env INVOICEBOX_MERCHANT_ID=<INVOICEBOX_MERCHANT_ID> --env INVOICEBOX_ENV=<INVOICEBOX_ENV> --env INVOICEBOX_TOOLSETS=<INVOICEBOX_TOOLSETS> --env INVOICEBOX_STATE_DIR=<INVOICEBOX_STATE_DIR> -- npx -y @invoicebox/mcp-server
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "invoicebox-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@invoicebox/mcp-server"
            ],
            "env": {
                "INVOICEBOX_API_TOKEN": "<INVOICEBOX_API_TOKEN>",
                "INVOICEBOX_MERCHANT_ID": "<INVOICEBOX_MERCHANT_ID>",
                "INVOICEBOX_ENV": "<INVOICEBOX_ENV>",
                "INVOICEBOX_TOOLSETS": "<INVOICEBOX_TOOLSETS>",
                "INVOICEBOX_STATE_DIR": "<INVOICEBOX_STATE_DIR>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "invoicebox-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@invoicebox/mcp-server"
            ],
            "env": {
                "INVOICEBOX_API_TOKEN": "<INVOICEBOX_API_TOKEN>",
                "INVOICEBOX_MERCHANT_ID": "<INVOICEBOX_MERCHANT_ID>",
                "INVOICEBOX_ENV": "<INVOICEBOX_ENV>",
                "INVOICEBOX_TOOLSETS": "<INVOICEBOX_TOOLSETS>",
                "INVOICEBOX_STATE_DIR": "<INVOICEBOX_STATE_DIR>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e INVOICEBOX_API_TOKEN=<INVOICEBOX_API_TOKEN> -e INVOICEBOX_MERCHANT_ID=<INVOICEBOX_MERCHANT_ID> -e INVOICEBOX_ENV=<INVOICEBOX_ENV> -e INVOICEBOX_TOOLSETS=<INVOICEBOX_TOOLSETS> -e INVOICEBOX_STATE_DIR=<INVOICEBOX_STATE_DIR> invoicebox-mcp-server npx -y @invoicebox/mcp-server
```
Replace <…> with your own values

## When to use it
- issue an invoice to a company, sole trader or individual from a chat
- check whether an invoice was paid and what status it has
- confirm a shipment and get the closing documents for it
- look up counterparty details by tax ID
- refund a payment in full or per line item

## Example prompts
- Find the company details for tax ID 7707083893
- Create an invoice for 12200 kopecks for a consultation, buyer is a legal entity
- Confirm shipment for order 1042 and list the documents it will generate

## Similar
- [mcp-stripe-acp](https://affpapa.org/en/nevibecode/mcp/mcp-stripe-acp.md) — MCP server · ★ 274
- [mcp-stripe](https://affpapa.org/en/nevibecode/skills/mcp-stripe.md) — skill · 745 installs
- [paypal-mcp-server](https://affpapa.org/en/nevibecode/mcp/paypal-mcp-server.md) — MCP server · ★ 13
- [stripe](https://affpapa.org/en/nevibecode/plugins/stripe-stripe.md) — plugin · ★ 7604
- [ticket-deflector](https://affpapa.org/en/nevibecode/skills/ticket-deflector.md) — skill · 1600 installs
- [fortnox](https://affpapa.org/en/nevibecode/mcp/fortnox.md) — MCP server · ★ 45

## Other versions with the same name
- [mcp-server · heyputer](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — ★ 43902
- [mcp-server · mapbox](https://affpapa.org/en/nevibecode/mcp/mapbox-mcp-server.md) — ★ 363
- [mcp-server · packmindhub](https://affpapa.org/en/nevibecode/mcp/packmindhub-mcp-server.md) — ★ 319
- [mcp-server · bingowon](https://affpapa.org/en/nevibecode/mcp/bingowon-mcp-server.md) — ★ 121
- [mcp-server · ui5](https://affpapa.org/en/nevibecode/mcp/ui5-mcp-server.md) — ★ 105

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
