Skip to main content
Glama
MihasikPro

pbu-fsbu-mcp

by MihasikPro

pbu-fsbu-mcp

ci

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 --build
curl http://127.0.0.1:18010/healthz

Erwartet 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

list_standards

Welche Standards existieren, welche zum Datum gelten

get_standard

Metadaten und Inhaltsverzeichnis eines Standards

get_clause

Exakter Wortlaut eines Punktes mit den Angaben der Verordnung und der Editionsnummer

search_clauses

Welcher Punkt die in normalen Worten gestellte Frage beantwortet

get_1c_mapping

Mit welchen Objekten von BP 3.0 der Punkt umgesetzt ist

find_by_1c_object

Welche Norm hinter dem Konfigurationsobjekt steht

get_its_references

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/mcp

Claude 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 --build

Ersetzen 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

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:

  1. uv run --group etl python -m etl.watch --live — vergleicht das Register auf der Website des Finanzministeriums mit dem Korpus und zeigt Abweichungen an.

  2. uv run --group etl python -m etl.draft_yaml --live — zieht den Text der Punkte und legt einen Entwurf in data/drafts/ ab.

  3. Den Text mit der offiziellen Verordnung abgleichen, nach data/sources/standards/ verschieben, das Banner # ЧЕРНОВИК entfernen.

  4. uv run python -m etl.build_db && uv run python -m etl.validate

  5. uv 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 pytest

Die 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      # HTTP

OCR-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 zu tesseract, falls das Binärprogramm nicht im PATH liegt;

  • 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 pytest

In CI werden Tesseract und das Modell rus über apt-get installiert — siehe .github/workflows/ci.yml.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    B
    maintenance
    MCP 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.
    51
    30
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP 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.
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for RAG-based search over 1C Enterprise configuration documentation, enabling natural language queries to find objects like справочники, документы, and отчеты.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP сервер с встроенным AI агентом для поиска по графу метаданных и кода конфигураций 1С
    88
    AGPL 3.0

View all related MCP servers

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

View all MCP Connectors

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/MihasikPro/pbu-fsbu-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server