# mcp-server

MCP-сервер Инвойсбокса: ассистент выставляет счёт, проверяет оплату, подтверждает отгрузку и делает возврат — каждый шаг человек подтверждает.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Автор: InvoiceBox
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/InvoiceBox/invoicebox-mcp-server
- Обновлён: 2026-08-11
- HTML: https://affpapa.org/nevibecode/mcp/invoicebox-mcp-server

## Что делает

Сервер подключает Инвойсбокс к ассистенту как набор инструментов. Поиск реквизитов по ИНН, счёт по идентификатору или своему номеру, выборка счетов и отгрузок работают без подтверждения. Создание счёта, отмена, отгрузка и возврат устроены двухфазно: первый вызов возвращает сводку и одноразовый токен на 15 минут, второй с этим токеном исполняет операцию. Пока человек не подтвердил, в API ничего не уходит.

Права по умолчанию — только чтение. Записи включают явно: `INVOICEBOX_TOOLSETS=write` добавляет счёт, отмену и отгрузку, `refund` — возврат. Суммы передаются целыми копейками строкой, чтобы модель не потеряла копейку на плавающей точке. Выше `INVOICEBOX_CONFIRM_THRESHOLD` (по умолчанию 100 000 ₽) сервер спрашивает человека отдельно. Закрывающие документы — акт, ТОРГ-12, счёт-фактуру и УПД — запускает `create_shipment`, отдельного инструмента для них нет.

Нужны `INVOICEBOX_API_TOKEN` из личного кабинета и `INVOICEBOX_ENV` (`demo` или `production`). Для операций магазина ещё `INVOICEBOX_MERCHANT_ID`, для операций организации — `INVOICEBOX_COUNTERPARTY_ID`. Без `INVOICEBOX_STATE_DIR` защита от дублей живёт только в пределах одного запуска. Демо-магазин общий: пробные счёта видят все, реальные реквизиты туда вводить нельзя. Версию пакета фиксируйте в конфигурации — иначе между запусками одного диалога набор инструментов способен поменяться.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `INVOICEBOX_API_TOKEN`, `INVOICEBOX_MERCHANT_ID`, `INVOICEBOX_ENV`, `INVOICEBOX_TOOLSETS`, `INVOICEBOX_STATE_DIR` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```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
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```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
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini 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
```
Вместо <…> подставьте свои значения

## Когда брать
- выставить счёт организации, ИП или физлицу из диалога с ассистентом
- проверить оплату и статус счёта по своему номеру
- подтвердить отгрузку и получить по ней закрывающие документы
- найти реквизиты контрагента по ИНН
- вернуть деньги полностью или по составу заказа

## Примеры запросов агенту
- Найди реквизиты организации по ИНН 7707083893 и покажи их
- Выставь счёт на 12200 копеек за консультацию, покупатель — юрлицо
- Подтверди отгрузку по заказу 1042 и скажи, какие документы по ней сформируются

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
