Invoice Intake — MCP-сервер для Claude Code: установка и обзор
Эталонный MCP-сервер для обработки счетов поставщиков с разделением прав на чтение и запись, типизированными ошибками и ручным подтверждением.
claude mcp add invoice-intake-mcp -- uvx invoice-intake-mcpЧто делает Invoice Intake (reference)
Проект демонстрирует безопасную архитектуру инструментов для автономных агентов на примере приёма счетов. Вместо прямого доступа к API базы сервер оперирует бизнес-действиями: сопоставлением с заказом и предварительным сохранением черновика. В качестве бэкенда используется простой JSON-файл.
Архитектура разделена на два режима работы: флаг --role read разрешает чтение и обратимые правки, а --role commit отвечает за финальную проводку документа. Серверная проверка блокирует выполнение erp_post_invoice, если в системе нет зарегистрированного решения человека. Все операции агентского контура автоматически фиксируются в журнале audit.jsonl.
Запуск строится через пакетный менеджер uvx или Python. Без предварительно выданного согласования финальная публикация завершится типизированной ошибкой approval_required.
Какие задачи решает
- Разграничить права агента при чтении и финальной проводке документов
- Заблокировать несанкционированное проведение счетов без резолюции согласующего лица
- Вести журнал аудита действий ИИ в файле
audit.jsonl - Тестировать устойчивость пайплайна к инъекциям в извлечённых данных
Примеры запросов агенту
- Проверь входящие счета и сопоставь их с открытыми заказами на закупку
- Покажи черновики счетов, ожидающие подтверждения руководства
- Зафиксируй проводку счёта после одобрения заявки APR-2291
Как установить Invoice Intake (reference)
Командой платформы
claude mcp add invoice-intake-mcp -- uvx invoice-intake-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from invoice-intake-mcp <команда>
Командой платформы
codex mcp add invoice-intake-reference -- uvx invoice-intake-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from invoice-intake-mcp <команда>
Файл настроек
{
"mcpServers": {
"invoice-intake-reference": {
"command": "uvx",
"args": [
"invoice-intake-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from invoice-intake-mcp <команда>
Файл настроек
{
"servers": {
"invoice-intake-reference": {
"type": "stdio",
"command": "uvx",
"args": [
"invoice-intake-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from invoice-intake-mcp <команда>
Командой платформы
gemini mcp add invoice-intake-reference uvx invoice-intake-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from invoice-intake-mcp <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Invoice Intake (reference)
Как установить Invoice Intake (reference) в Claude Code?
Выполните консольную команду claude mcp add invoice-intake-mcp -- uvx invoice-intake-mcp.
Зачем разделять сервер на роли read и commit?
Это изолирует необратимые операции: рядовые агенты получают доступ только к чтению и черновикам, а оркестратор подключается к роли фиксации.
Требуется ли платное подключение к внешней ERP?
Внешняя система не нужна, потому что сервер использует локальный JSON-файл для имитации корпоративного хранилища.