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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- -licenseNot gradedqualityBmaintenanceEnables AI assistants to prepare and create invoices via Outvoicer's invoicing platform using Streamable HTTP MCP.
- AlicenseNot gradedqualityCmaintenanceAllows AI clients like Claude and Cursor to authenticate and interact with an invoice generator backend, enabling login, invoice creation, and invoice download.29MIT
- 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.1657MIT
Related MCP Connectors
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Brazil NFS-e service invoices for AI agents via Focus NFe and NFe.io. Stateless, never stores data.
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Muhammad-Usman-Tariq/Mcp-Digitalinvoice'
If you have feedback or need assistance with the MCP directory API, please join our Discord server