Multi-Tenant Invoice Autofill MCP Server
Multi-Tenant Invoice Autofill MCP Server
Бэкенд-сервис на Python, позволяющий LLM с поддержкой вызова функций или MCP (Claude, Gemini, GPT и др.) автоматически заполнять и сохранять счета в Digital Invoicing Software от имени тенантов.
Возможности
Поддержка двух транспортов: доступ через стандартный протокол MCP (stdio / Streamable HTTP) и REST API (FastAPI) со схемой OpenAPI.
Мультитенантность и аутентификация: шифрование учетных данных для каждого тенанта, индивидуальные MCP API-ключи и изолированное управление сессиями.
Отказоустойчивый адаптер: инкапсулированный HTTP-адаптер, воспроизводящий заголовки браузера, с реактивным обновлением сессии и динамическим разбором срока действия cookie.
Идемпотентность и конкурентность: дедупликация на основе хеша документа и распределенная блокировка Redis для каждого тенанта (
lock:tenant:{id}).Конфиденциальность прежде всего: обязательный слой маскирования структурированных логов, вычищающий пароли, cookie, ключи и токены.
Ноль жестко прописанных значений: никаких учетных данных или бизнес-идентификаторов, зашитых в код, комментарии или тесты; полная генерация синтетических тестовых данных.
Related MCP server: Invoice MCP Server
Локальные требования
Python 3.12+
Docker и Docker Compose (для локальных Postgres и Redis)
Начало работы
1. Настройка окружения
Скопируйте .env.example в .env и задайте локальные переменные:
cp .env.example .env2. Запуск локальной базы данных и Redis
docker-compose up -d3. Установка зависимостей
python -m venv .venv
# Windows:
.\.venv\Scripts\pip install -r requirements.txt
# Linux/macOS:
source .venv/bin/activate
pip install -r requirements.txt4. Запуск миграций
.\.venv\Scripts\alembic upgrade head5. Запуск сервера
# Start FastAPI REST server:
.\.venv\Scripts\uvicorn mcp_digitalinvoice.main:app --reload --port 8000
# Run MCP stdio server:
.\.venv\Scripts\python -m mcp_digitalinvoice.mcp_server.serverБезопасность
[!CAUTION] Управление ключом шифрования: переменная окружения
ENCRYPTION_KEYдолжна быть задана как безопасный 32-байтовый ключ Fernet в кодировке base64. Запуск приложения немедленно завершится ошибкой, еслиENCRYPTION_KEYне задана. Если ключ шифрования когда-либо использовался для шифрования реальных данных тенантов и есть подозрение на его утечку, эти данные должны быть повторно зашифрованы с помощью заново сгенерированного ключа, поскольку старый ключ следует считать скомпрометированным.
Рабочие процессы
Онбординг тенанта (connect_account)
Вызовите
connect_account, передав email тенанта для входа в Digital Invoicing Software, пароль и название бизнеса.Сервер шифрует учетные данные, проверяет их с помощью первичного входа и возвращает уникальный
mcp_api_key.Передайте этот
mcp_api_keyLLM (как Bearer-токен или заголовок) для последующих вызовов инструментов.
Автозаполнение счетов (fill_invoice)
LLM вызывает fill_invoice с извлеченной JSON-полезной нагрузкой счета (buyer, items, meta). Сервис проверяет обязательные поля, обеспечивает последовательную обработку документов по одному, проверяет идемпотентность, восстанавливает сессию тенанта, преобразует полезную нагрузку в формат, требуемый нижестоящей системой, и создает черновик счета.
Запуск тестов
.\.venv\Scripts\pytest -v tests/This server cannot be deployed
Maintenance
Related MCP Connectors
Turn AI-host work into invoices you review before send — Continue as guest or OAuth via hosted MCP.
Invoicing you drive by talking to your AI: log time, raise invoices and track what's owed via MCP.
Create, send and track invoices from a conversation in Claude, ChatGPT or any MCP client that supports OAuth. Draft an invoice from one sentence or from last month's invoice for the same client, finalize it, email it to your client and send payment reminders for overdue ones. See revenue by month and by client, download PDFs and e-invoices (ZUGFeRD, XRechnung), and export DATEV packages for your tax advisor. Invoices follow the tax rules of 25 countries, including reverse charge and the small-business VAT exemption. New invoices are drafts, and nothing is emailed until you ask. Pay per invoice with no subscription: the first invoice is free.
Multi-tenant MCP gateway for AI commerce. One connection, every store.
Related MCP Servers
- -licenseNot gradedqualityBmaintenanceEnables AI assistants to prepare and create invoices via Outvoicer's invoicing platform using Streamable HTTP MCP.-
- AlicenseNot gradedqualityDmaintenanceAllows AI clients like Claude and Cursor to authenticate and interact with an invoice generator backend, enabling login, invoice creation, and invoice download.7 npmMIT
- AlicenseAqualityBmaintenanceEnables AI assistants to securely interact with rental management data (leases, rent status, tenant records, tax filings) through a per-user OAuth 2.0 authenticated MCP server, with human-in-the-loop for sensitive actions.5AGPL 3.0
- AlicenseAqualityBmaintenanceMCP server for POP — enabling LLMs to generate, submit, and manage Italian e-invoices (FatturaPA/SdI), Peppol invoices, and PDF invoices directly from AI assistants.16244 npmMIT