pbu-fsbu-mcp
pbu-fsbu-mcp
MCP-Server mit den Texten der russischen Rechnungslegungsstandards — alle 29 PBU und FSBU aus dem Register des Finanzministeriums, punktgenau, datumsbezogen und mit Projektion auf die Objekte der Konfiguration «1С:Бухгалтерия предприятия 3.0».
Beantwortet Fragen wie «Was verlangt FSBU 6/2020 zum Restwert?»
und die umgekehrte — «Welche Norm steckt hinter dem Register ПараметрыАмортизацииОС?».
Schnellstart
git clone https://github.com/MihasikPro/pbu-fsbu-mcp.git
cd pbu-fsbu-mcp
docker compose -f deploy/compose.local.yml up --buildcurl http://127.0.0.1:18010/healthzErwartet wird {"status":"ok"}. Der MCP-Endpunkt ist http://127.0.0.1:18010/mcp.
Der Korpus wird nicht in git gespeichert: Er wird im Schritt docker build
aus den YAML-Quellen erzeugt und dort vom Validator geprüft, sodass ein ungültiger Korpus
den Build zum Scheitern bringt, statt in die Laufzeit zu gelangen. Vor dem ersten Start muss
nichts nachinstalliert werden — weder Python noch Tesseract.
Related MCP server: onec-meta-mcp
Werkzeuge
Werkzeug | Beantwortet die Frage |
| Welche Standards existieren, welche zum Datum gelten |
| Metadaten und Inhaltsverzeichnis eines Standards |
| Exakter Wortlaut eines Punktes mit den Angaben der Verordnung und der Editionsnummer |
| Welcher Punkt die in normalen Worten gestellte Frage beantwortet |
| Mit welchen Objekten von BP 3.0 der Punkt umgesetzt ist |
| Welche Norm hinter dem Konfigurationsobjekt steht |
| Welche ITS-Artikel diesen Punkt behandeln |
Die Ressource pbu-fsbu://registry — eine kompakte Tabelle aller Standards, die der Client
einmal zu Beginn der Sitzung laden kann, statt list_standards wiederholt aufzurufen.
Was darin steckt
29 Standards, 1768 Punkte. Das gesamte Register des Finanzministeriums: geltende und außer Kraft getretene PBU und FSBU, jeweils eine Edition.
Die Antwort gilt immer für ein Datum. Jedes Werkzeug akzeptiert on_date und liefert
den Status des Standards zu diesem Datum. Das ist keine Verzierung: PBU 9/99 und 10/99
verlieren am 01.01.2027 ihre Gültigkeit, FSBU 9/2025 und 10/2026 treten dann in Kraft,
und eine Antwort ohne Datum wäre an diesem Horizont falsch.
Die 1C-Projektion ist gegengelesen. FSBU 6/2020 ist mit Objekten von BP 3.0 verknüpft:
18 Verknüpfungen zu 17 Punkten, jede mit einem Konfidenzwert und einer Erklärung, wie genau
das Objekt die Norm umsetzt. Alle Einträge haben verified: true — sie wurden von einem
Menschen geprüft, nicht nur vom Code. Die übrigen 28 Standards haben noch keine Projektion,
und die Werkzeuge antworten mit einer expliziten Meldung statt mit einer leeren Liste.
Die Projektion ist eine Interpretation, keine Norm. Sie liegt stets in einem eigenen Feld getrennt vom Text des Punktes und wird von einem Haftungsausschluss begleitet. Ungeprüfte Einträge lösen zusätzlich eine eigene Warnung aus, und diese verschwindet nicht, solange mindestens ein solcher Eintrag in die Antwort gelangt.
Der Server geht nicht ins Netz. Weder beim Start noch bei der Verarbeitung einer Anfrage. Die Datenbank ist strikt schreibgeschützt geöffnet, das Image ist unveränderlich.
Was er nicht tut
Er berät nicht und interpretiert keine Normen über den exakten Wortlaut des Standards hinaus.
Er speichert keine Volltexte von ITS-Artikeln — nur Kennungen, Überschriften und kurze Zusammenfassungen in eigenen Worten. Der vollständige Text wird über ein Abonnement gelesen.
Er ersetzt keinen Juristen und trifft keine Bilanzierungsentscheidungen.
Anbindung von Clients
Der Client verbindet sich mit einem bereits laufenden Server — lokal oder auf einem internen Server.
Codex CLI
~/.codex/config.toml:
[mcp_servers.pbu_fsbu]
url = "http://127.0.0.1:18010/mcp"Claude Code
claude mcp add --transport http pbu-fsbu http://127.0.0.1:18010/mcpClaude Desktop
Claude Desktop kann sich nicht mit einem HTTP-Endpunkt verbinden: Die Anwendung lehnt das Schema
http:// ab, und die Verbindung eines Custom Connectors wird aus der Anthropic-Cloud hergestellt,
die weder localhost noch eine Adresse im lokalen Netz erreichen kann. Codex CLI und Claude
Code sind lokale Prozesse — bei ihnen besteht dieses Problem nicht.
Für Claude Desktop wird der Server lokal über stdio gestartet, aus einem Checkout mit bereits
erstelltem Korpus — %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"pbu-fsbu": {
"command": "uv",
"args": ["--directory", "C:\\path\\to\\pbu-fsbu-mcp", "run", "pbu-fsbu-mcp"]
}
}
}Die Installation direkt aus einer Git-Adresse (uvx --from git+...) ist dafür nicht geeignet:
data/build/ gelangt nicht ins Repository, der Korpus lässt sich nicht erstellen, und der Server
verweigert den Start. Es wird ein lokales Checkout benötigt — siehe «Entwicklung».
Bereitstellung auf einem Server
deploy/compose.server.yml ist für einen internen Server ausgelegt, der nur aus dem
lokalen Netz erreichbar ist:
git clone https://github.com/MihasikPro/pbu-fsbu-mcp.git
cd pbu-fsbu-mcp/deploy
docker compose -f compose.server.yml up -d --buildErsetzen Sie vor dem ersten Start in der Datei die Adresse der Portveröffentlichung durch die Adresse
Ihres Servers. Der Port wird auf eine konkrete LAN-Adresse veröffentlicht, nicht auf 0.0.0.0:
Wenn der Host eine zweite Schnittstelle erhält — VPN oder öffentliche IP —, würde eine Bindung an
0.0.0.0 den Dienst dorthin stillschweigend freigeben, und eine solche Zeile kann das nicht.
TLS und Authentifizierung fehlen bewusst: Der Korpus besteht aus öffentlichen normativen Texten ohne Geheimnisse, das Netz ist geschlossen. Den Dienst ohne TLS und Autorisierung nach außen zu stellen, ist nicht zu empfehlen.
corpus_meta.built_at wird zum Zeitpunkt von docker build festgehalten, nicht beim Start
des Containers. Die Warnung zur Veraltung des Korpus zählt 90 Tage ab dem Erstellungsdatum
des Images; restart und up ohne --build aktualisieren den Korpus nicht — erforderlich ist
ein Neubau.
Quellen
Finanzministerium Russlands — Föderale Rechnungslegungsstandards
publication.pravo.gov.ru — offizielle Veröffentlichung von Rechtsakten
Die Hauptquelle des Textes ist die eigene Seite des Standards auf der Website des Finanzministeriums
(https://minfin.gov.ru/ru/document?id_4=NNNN, der Link steht im Register): Dort wird der Text
als gewöhnliches serverseitiges HTML ausgeliefert, ohne Scans und ohne OCR, und ist sogar für Standards
älter als das Archiv von publication.pravo.gov.ru verfügbar — dieses beginnt etwa im November 2011
und enthält daher 19 der 29 Standards gar nicht.
Eine Ausnahme ist FSBU 27/2021: Seine Seite auf der Website des Finanzministeriums enthält keinen Text,
nur ein <iframe> mit einem PDF-Viewer. Für diesen einzigen Standard wurde der Text durch
Erkennung des offiziellen Scans der Verordnung gewonnen (Tesseract 5.x, Modell rus aus
tessdata_best) mit anschließender zeilenweiser Korrektur. OCR ist ein dokumentierter Reserveweg,
nicht der Hauptweg.
Der Text wird vor der Übertragung der Datei aus data/drafts/
nach data/sources/standards/ mit dem offiziellen Rechtsakt abgeglichen. Der Test
test_html_sourced_standard_reproduces_byte_for_byte erzeugt den Korpus aus den eingecheckten
HTML-Schnappschüssen neu und verlangt eine byteweise Übereinstimmung, sodass der Korpus konstruktionsbedingt
reproduzierbar ist und nicht auf Treu und Glauben beruht.
Was nicht in den Korpus aufgenommen wird
Anhänge zum Standard selbst — Muster von Berichtsformularen und ausführliche numerische Beispiele, die als eigener Anhang mit eigener Nummerierung gestaltet sind — werden nicht in den Korpus aufgenommen. Formal sind sie Teil des Rechtsakts, aber ihre Nummerierung («1.», «2.» …) beginnt von Neuem und kollidiert mit den Punkten des Standards.
Der Unterschied zu Arbeitsbeispielen innerhalb von Punkten liegt nur in der Auszeichnung der Quelle: Ein echter Anhang hat eine eigene Überschrift «Приложение к Положению по бухгалтерскому учету «…»». Die numerischen Beispiele in den Punkten 14–15 von PBU 18/02 haben eine solche Überschrift nicht; sie sind Teil des Punkttextes und im Korpus vollständig enthalten.
Standard | Abgeschnitten |
PBU 8/2010 | 12 010 Zeichen |
PBU 24/2011 | 4 062 Zeichen |
PBU 16/02 | 3 814 Zeichen |
PBU 19/02 | 3 208 Zeichen |
PBU 7/98 | 2 768 Zeichen |
PBU 18/02 | 2 372 Zeichen |
PBU 3/2006 | 1 508 Zeichen |
Lizenz
Normative Rechtsakte sind keine urheberrechtlich geschützten Werke (Art. 1259 des Zivilgesetzbuchs der RF).
Der Code — MIT, die Bedingungen für die Daten — data/LICENSE.
Aktualisierung des Korpus
Beim Erscheinen einer neuen Verordnung des Finanzministeriums:
uv run --group etl python -m etl.watch --live— vergleicht das Register auf der Website des Finanzministeriums mit dem Korpus und zeigt Abweichungen an.uv run --group etl python -m etl.draft_yaml --live— zieht den Text der Punkte und legt einen Entwurf indata/drafts/ab.Den Text mit der offiziellen Verordnung abgleichen, nach
data/sources/standards/verschieben, das Banner# ЧЕРНОВИКentfernen.uv run python -m etl.build_db && uv run python -m etl.validateuv run --group etl pytest
Einmal pro Woche führt der Workflow etl-watch denselben Vergleich aus und öffnet bei einer
Abweichung einen Pull Request mit einem Bericht. Ein automatischer Merge erfolgt nicht: Eine neue
Verordnung liest ein Mensch.
Die Regeln für das Hinzufügen von 1C-Verknüpfungen und ITS-Referenzen stehen in CONTRIBUTING.md.
Entwicklung
uv sync --all-groups
uv run python -m etl.build_db
uv run python -m etl.validate
uv run --group etl pytestDie Quelle der Wahrheit ist YAML in data/sources/. Die Datei data/build/pbu_fsbu.db wird
daraus erstellt und nicht ins Repository eingecheckt.
Der Server kann auch ohne Container gestartet werden:
uv run pbu-fsbu-mcp # stdio
uv run pbu-fsbu-mcp --transport http --port 18010 # HTTPOCR-Tests und Tesseract
Die Erkennungstests (tests/test_ocr_text.py) erfordern ein lokal installiertes
Tesseract 5.x mit dem Modell rus. Ohne dieses werden sie übersprungen — der übrige Satz hängt
nicht davon ab. Damit sie tatsächlich ausgeführt werden:
TESSERACT_CMD— Pfad zutesseract, falls das Binärprogramm nicht imPATHliegt;TESSDATA_PREFIX— Verzeichnis mit den Modellen*.traineddata, falls es nicht standardmäßig ist.
$env:TESSERACT_CMD = "C:\Program Files\Tesseract-OCR\tesseract.exe"
$env:TESSDATA_PREFIX = "C:\Users\<user>\.tessdata"
uv run --group etl pytestIn CI werden Tesseract und das Modell rus über apt-get installiert — siehe .github/workflows/ci.yml.
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
AlicenseBqualityBmaintenanceMCP server for 1C:Enterprise ERP with 35 tools: metadata inspection, document CRUD, register queries, and BSP integration. First MCP server for Russian ERP systems (300,000+ organizations). JSON-RPC 2.0 compliant BSL implementation.5130MIT- FlicenseNot gradedqualityCmaintenanceMCP server for searching and analyzing 1C enterprise metadata and BSL code using a SQLite backend. Enables querying configuration structure, code routines, and performing compliance checks via natural language.
- AlicenseNot gradedqualityDmaintenanceMCP server for RAG-based search over 1C Enterprise configuration documentation, enabling natural language queries to find objects like справочники, документы, and отчеты.MIT
- AlicenseNot gradedqualityBmaintenanceMCP сервер с встроенным AI агентом для поиска по графу метаданных и кода конфигураций 1С88AGPL 3.0
Related MCP Connectors
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
Brazilian fiscal MCP server - issue NF-e, NFC-e, NFS-e, CT-e, MDF-e and DC-e via SEFAZ.
AI-native ERP MCP: ES/EU fiscal compliance (VeriFactu/TicketBAI/Facturae), invoicing, tax, banking
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/MihasikPro/pbu-fsbu-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server