mcp-einvoicing-de
mcp-einvoicing-de 🇩🇪
MCP-сервер (Model Context Protocol) на Python для немецких электронных счетов-фактур в форматах ZUGFeRD 2.x и XRechnung 3.x (EN 16931, FeRD, KoSIT). Позволяет ИИ-агентам (Claude, IDE) создавать, проверять, анализировать и конвертировать электронные счета, полностью соответствующие немецкому мандату B2B (действует с 2025 года, поэтапное внедрение до 2027–2028 годов) и европейскому стандарту EN 16931.
Резюме на английском
Это сервер Model Context Protocol (MCP) для немецкого электронного документооборота. Он предоставляет 6 инструментов, охватывающих полный жизненный цикл счета ZUGFeRD или XRechnung: создание (CII/UBL XML), проверку на соответствие правилам EN 16931 и KoSIT Schematron (BR-DE-*), анализ существующих файлов счетов, конвертацию профилей и синтаксиса, поиск регистрации участников Peppol (AS4) и правила немецкого НДС (налоговые классы, §13b UStG reverse charge, исключения). Поддерживает все профили ZUGFeRD 2.x (от MINIMUM до EXTENDED) и XRechnung 3.x (синтаксис CII и UBL). Лицензировано под Apache 2.0.
Основано на
Этот пакет основан на mcp-einvoicing-core, общей базовой библиотеке для европейских MCP-серверов электронных счетов. Она предоставляет общие модели, абстракции проверки, вспомогательные функции XML и иерархию исключений.
mcp-einvoicing-core устанавливается автоматически как транзитивная зависимость — никаких дополнительных шагов не требуется.
Для разработчиков:
pip install -e ".[dev]"автоматически устанавливает базовый пакет из PyPI.
🏗️ Архитектура
mcp-einvoicing-de (dieses Paket — eigenständiger MCP-Server)
├── ZUGFeRDInvoice / XRechnungInvoice ← Pydantic-Modelle (alle Profile)
├── SchematronValidator ← EN 16931 + KoSIT BR-DE-* Regeln
├── KoSITValidator ← Remote-Validierungstool (optional)
└── Tools: create / validate / parse / convert / peppol_check / tax_rules
↑ erweitert
mcp-einvoicing-core (gemeinsame Basis, als Abhängigkeit installiert)
├── BaseDocumentGenerator / Validator / Parser
├── BaseInvoice, BaseParty … (Pydantic)
├── xml_utils, exceptions
└── EInvoicingMCPServer🚀 Установка
Через PyPI (рекомендуется)
pip install mcp-einvoicing-deБез предварительной установки с помощью uvx:
uvx mcp-einvoicing-deИз исходного кода
git clone https://github.com/cmendezs/mcp-einvoicing-de.git
cd mcp-einvoicing-de
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"⚙️ Конфигурация
Серверу в версии v0.1.0 не требуются внешние учетные данные. Доступные переменные окружения:
Переменная | Описание | По умолчанию |
| Уровень логирования ( |
|
| URL инструмента проверки KoSIT (опционально, для удаленной проверки) | — |
| URL поиска Peppol SMP (опционально) | — |
| Модуль генерации PDF ( |
|
🤖 Интеграция с Claude Desktop
Запись в файле claude_desktop_config.json:
{
"mcpServers": {
"einvoicing-de": {
"command": "uvx",
"args": ["mcp-einvoicing-de"]
}
}
}⌨️ Интеграция с Cursor
Файл конфигурации (~/.cursor/mcp.json или .cursor/mcp.json в директории проекта):
{
"mcpServers": {
"einvoicing-de": {
"command": "uvx",
"args": ["mcp-einvoicing-de"]
}
}
}🪐 Интеграция с Kiro
{
"mcpServers": {
"einvoicing-de": {
"command": "uvx",
"args": ["mcp-einvoicing-de"],
"disabled": false,
"autoApprove": []
}
}
}🧰 Доступные инструменты MCP
Инструмент | Описание |
| Создание XML ZUGFeRD или XRechnung (CII или UBL); гибрид PDF/A-3 запланирован (v0.2.0) |
| Проверка счета на соответствие EN 16931 и правилам KoSIT-Schematron (BR-DE-*) |
| Извлечение структурированных данных из существующего файла ZUGFeRD или XRechnung |
| Конвертация между профилями ZUGFeRD или ZUGFeRD ↔ XRechnung |
| Проверка регистрации участника Peppol немецкой компании (AS4) |
| Запрос правил немецкого НДС (налоговые классы, §13b UStG, исключения) |
Примеры использования
Пример 1 — Проверка счета
1. invoice_validate(
xml_base64="...", # Base64-kodiertes ZUGFeRD-XML
strict=True
)
→ {
"is_valid": true,
"profile": "EN_16931",
"syntax": "CII",
"error_count": 0,
"warning_count": 2,
"errors": [],
"warnings": [...],
"validator_used": "local_schematron"
}Пример 2 — Запрос немецких налоговых правил
2. tax_rules(query="reverse_charge", context="Bauleistungen")
→ {
"results": [
{
"paragraph": "§13b Abs. 2 Nr. 5 UStG",
"description_en": "Construction services (building contractor rule)",
"vatex_code": "VATEX-EU-AE",
"invoice_note": "Steuerschuldnerschaft des Leistungsempfängers (§13b UStG)"
}
],
"legal_disclaimer": "..."
}Пример 3 — Проверка регистрации Peppol
3. peppol_check(
participant_id="0204:991-1234512345-06",
environment="production"
)
→ {
"is_registered": true,
"participant_id": "0204:991-1234512345-06",
"document_type_supported": true,
"access_point_url": "https://ap.example.de/as4",
"transport_profile": "peppol-transport-as4-v2.0"
}Пример 4 — Анализ данных счета
4. invoice_parse(xml_base64="...", include_raw_xml=False)
→ {
"profile": "XRECHNUNG",
"syntax": "CII",
"invoice_number": "RE-2025-001",
"invoice_date": "2025-01-15",
"seller_name": "Muster GmbH",
"buyer_name": "Käufer AG",
"tax_inclusive_amount": "119.00",
"currency_code": "EUR"
}📚 Поддерживаемые стандарты
Стандарт | Версия | Профили / Синтаксис |
ZUGFeRD | 2.3 | MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED |
XRechnung | 3.x | CII (Cross Industry Invoice), UBL (Universal Business Language) |
EN 16931 | — | Европейская модель основных данных для электронных счетов |
Peppol BIS | 3.0 | Billing 3.0 (DE PINT) |
Примечание: ZUGFeRD 2.x и XRechnung 3.x используют один и тот же синтаксис CII-XML на уровне профиля EN 16931. Поэтому конвертация между обоими форматами возможна без потери данных. Профиль EXTENDED является специфичным для ZUGFeRD и не имеет эквивалента в XRechnung.
Ресурс | Ссылка |
Спецификация FeRD ZUGFeRD | |
KoSIT XRechnung | |
Инструмент проверки KoSIT | |
EN 16931-1:2017 | |
Peppol BIS Billing 3.0 |
🧪 Тесты
# Entwicklungsabhängigkeiten installieren
pip install -e ".[dev]"
# Gesamte Testsuite ausführen
pytest tests/ -v
# Mit Abdeckungsbericht
pytest --cov=mcp_einvoicing_de --cov-report=term-missing
# Nur Modell-Tests
pytest tests/test_models.py -vДорожная карта
Версия | Функции |
v0.1.0 (текущая) | Инструменты: create, validate, parse, convert, peppol_check, tax_rules |
v0.2.0 | Внедрение PDF/A-3 (ZUGFeRD-Hybrid) через |
v0.3.0 | Полная интеграция онлайн-валидатора KoSIT |
v0.4.0 | Прямая передача Peppol AS4 |
v0.5.0 | Формат экспорта DATEV |
v1.0.0 | Готовность к производству, полное покрытие EN 16931 |
Участие в разработке
Вклад приветствуется. Пожалуйста, откройте Issue, прежде чем отправлять Pull Request для существенных изменений.
git clone https://github.com/cmendezs/mcp-einvoicing-de.git
cd mcp-einvoicing-de
pip install -e ".[dev]"
pytest
make auditДругие MCP-серверы электронных счетов
Страна | Сервер |
🌍 Глобальный | |
🇧🇪 Бельгия | |
🇫🇷 Франция | |
🇮🇹 Италия | |
🇩🇪 Германия |
📄 Лицензия
Этот проект распространяется под лицензией Apache-2.0. Подробности см. в файле LICENSE.
Copyright 2026 cmendezs
Проект поддерживается cmendezs. По вопросам реализации спецификации ZUGFeRD или XRechnung, пожалуйста, откройте Issue.
Latest Blog Posts
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/cmendezs/mcp-einvoicing-de'
If you have feedback or need assistance with the MCP directory API, please join our Discord server