Skip to main content
Glama
MihasikPro

pbu-fsbu-mcp

by MihasikPro

pbu-fsbu-mcp

ci

Servidor MCP con los textos de las normas contables rusas: los 29 PBU y FSBU del registro del Ministerio de Finanzas, con precisión hasta el punto, teniendo en cuenta la fecha y con proyección sobre los objetos de configuración de «1С:Contabilidad de la empresa 3.0».

Responde a preguntas del tipo «qué exige el FSBU 6/2020 sobre el valor de liquidación» y a las inversas: «qué norma respalda el registro ПараметрыАмортизацииОС».

Inicio rápido

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

Se espera {"status":"ok"}. El endpoint MCP es http://127.0.0.1:18010/mcp.

El corpus no se almacena en git: se compila a partir de las fuentes YAML en la etapa docker build y allí mismo lo verifica un validador, por lo que un corpus no válido hace fallar la compilación en lugar de llegar al runtime. No es necesario instalar nada antes del primer arranque: ni Python ni Tesseract.

Related MCP server: onec-meta-mcp

Herramientas

Herramienta

Responde a la pregunta

list_standards

Qué normas existen, cuáles están vigentes en la fecha

get_standard

Metadatos e índice de una norma

get_clause

Texto exacto del punto con los datos de la orden y el número de edición

search_clauses

Qué punto responde a la pregunta formulada en lenguaje natural

get_1c_mapping

Con qué objetos de BP 3.0 se implementa el punto

find_by_1c_object

Qué norma respalda el objeto de configuración

get_its_references

Qué artículos de ITS analizan este punto

El recurso pbu-fsbu://registry es una tabla compacta de todas las normas que el cliente puede cargar una sola vez al inicio de la sesión en lugar de repetir llamadas a list_standards.

Qué contiene

29 normas, 1768 puntos. Todo el registro del Ministerio de Finanzas: PBU y FSBU vigentes y derogados, una edición de cada uno.

La respuesta siempre se da con fecha. Cada herramienta acepta on_date y devuelve el estado de la norma en esa fecha. No es un adorno: el PBU 9/99 y el 10/99 pierden vigencia el 01.01.2027, el FSBU 9/2025 y el 10/2026 entran en vigor en esa misma fecha, y una respuesta sin fecha en ese horizonte sería incorrecta.

La proyección sobre 1С está verificada. El FSBU 6/2020 está vinculado a objetos de BP 3.0: 18 vínculos en 17 puntos, cada uno con un nivel de confianza y una explicación de cómo exactamente el objeto implementa la norma. Todos los registros tienen verified: true: los verificó una persona, no solo el código. Los otros 28 estándares aún no tienen proyección, y las herramientas responden con un mensaje explícito, no con una lista vacía.

La proyección es una interpretación, no una norma. Siempre está en un campo separado del texto del punto y va acompañada de un descargo de responsabilidad. Los registros no verificados además generan una advertencia aparte, y esta no desaparece mientras al menos uno de esos registros entre en la respuesta.

El servidor no accede a la red. Ni al arrancar ni al procesar una solicitud. La base se abre estrictamente en modo lectura; la imagen es inmutable.

Lo que no hace

  • No asesora ni interpreta normas más allá del texto exacto del estándar.

  • No almacena los textos de los artículos de ITS: solo identificadores, títulos y resúmenes breves con palabras propias. El texto completo se lee mediante suscripción.

  • No sustituye a un jurista ni toma decisiones contables.

Conexión de clientes

El cliente se conecta a un servidor ya en ejecución: local o en un servidor interno.

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 no puede conectarse a un endpoint HTTP: la aplicación rechaza el esquema http://, y la conexión del conector personalizado se establece desde la nube de Anthropic, que no puede alcanzar ni localhost ni una dirección de la red local. Codex CLI y Claude Code son procesos locales; no tienen ese problema.

Para Claude Desktop, el servidor se ejecuta localmente por stdio, desde un checkout con el corpus ya compilado: %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "pbu-fsbu": {
      "command": "uv",
      "args": ["--directory", "C:\\path\\to\\pbu-fsbu-mcp", "run", "pbu-fsbu-mcp"]
    }
  }
}

La instalación directa desde una dirección git (uvx --from git+...) no sirve para esto: data/build/ no entra en el repositorio, el corpus no se compilará y el servidor se negará a arrancar. Se necesita un checkout local; véase «Desarrollo».

Despliegue en servidor

deploy/compose.server.yml está pensado para un servidor interno con acceso solo desde la red local:

git clone https://github.com/MihasikPro/pbu-fsbu-mcp.git
cd pbu-fsbu-mcp/deploy
docker compose -f compose.server.yml up -d --build

Antes del primer arranque, sustituya en el archivo la dirección de publicación del puerto por la dirección de su servidor. El puerto se publica en una dirección LAN concreta, no en 0.0.0.0: si el host adquiere una segunda interfaz (VPN o IP pública), la vinculación a 0.0.0.0 expondría el servicio allí en silencio, y esta configuración no puede hacerlo.

TLS y autenticación se omiten deliberadamente: el corpus son textos normativos públicos sin secretos y la red es cerrada. No se debe exponer el servicio al exterior sin TLS y autorización.

corpus_meta.built_at se fija en el momento del docker build, no al arrancar el contenedor. La advertencia de corpus desactualizado cuenta 90 días desde la fecha de compilación de la imagen; restart y up sin --build no actualizan el corpus: se necesita una recompilación.

Fuentes

La fuente principal del texto es la página propia de la norma en el sitio del Ministerio de Finanzas (https://minfin.gov.ru/ru/document?id_4=NNNN, el enlace está en el registro): allí el texto se entrega como HTML de servidor normal, sin escaneos ni OCR, y está disponible incluso para normas más antiguas que el archivo de publication.pravo.gov.ru, que comienza aproximadamente en noviembre de 2011 y por eso no contiene 19 de las 29 normas en absoluto.

La excepción es el FSBU 27/2021: su página en el sitio del Ministerio de Finanzas no contiene el texto, solo un <iframe> con un visor de PDF. Para esta única norma, el texto se obtuvo mediante el reconocimiento del escaneo oficial de la orden (Tesseract 5.x, modelo rus de tessdata_best) con una posterior revisión línea por línea. El OCR es una vía de respaldo documentada, no el método principal.

El texto se contrasta con el acto oficial antes de trasladar el archivo de data/drafts/ a data/sources/standards/. La prueba test_html_sourced_standard_reproduces_byte_for_byte regenera el corpus a partir de las instantáneas HTML confirmadas y exige una coincidencia byte a byte, de modo que el corpus es reproducible por construcción, no por confianza.

Qué no entra en el corpus

Los anexos de la propia norma —modelos de formularios de informes y ejemplos numéricos detallados, presentados como anexo aparte con numeración propia— no entran en el corpus. Formalmente forman parte del acto, pero su numeración («1.», «2.» …) comienza de nuevo y entra en conflicto con los puntos de la norma.

La diferencia con los ejemplos de trabajo dentro de los puntos está solo en el marcado de la fuente: un anexo real tiene su propio título «Anexo al Reglamento de contabilidad «…»». Los ejemplos numéricos de los párrafos 14–15 del PBU 18/02 no tienen ese título; son parte del texto del punto y están presentes íntegramente en el corpus.

Norma

Recortado

PBU 8/2010

12 010 car.

PBU 24/2011

4 062 car.

PBU 16/02

3 814 car.

PBU 19/02

3 208 car.

PBU 7/98

2 768 car.

PBU 18/02

2 372 car.

PBU 3/2006

1 508 car.

Licencia

Los actos normativos no son objeto de derechos de autor (art. 1259 del Código Civil de la Federación de Rusia). El código es MIT; las condiciones sobre los datos están en data/LICENSE.

Actualización del corpus

Cuando se publica una nueva orden del Ministerio de Finanzas:

  1. uv run --group etl python -m etl.watch --live — compara el registro del sitio del Ministerio de Finanzas con el corpus y muestra las diferencias.

  2. uv run --group etl python -m etl.draft_yaml --live — extrae el texto de los puntos y coloca un borrador en data/drafts/.

  3. Revisar el texto según la orden oficial, trasladarlo a data/sources/standards/ y eliminar el banner # ЧЕРНОВИК.

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

  5. uv run --group etl pytest

Una vez por semana, el workflow etl-watch realiza la misma comparación y, si hay diferencias, abre un pull request con el informe. No hay fusión automática: la nueva orden la lee una persona.

Las reglas para añadir vínculos con 1С y referencias a ITS están en CONTRIBUTING.md.

Desarrollo

uv sync --all-groups
uv run python -m etl.build_db
uv run python -m etl.validate
uv run --group etl pytest

La fuente de verdad es el YAML en data/sources/. El archivo data/build/pbu_fsbu.db se compila a partir de ellos y no se confirma en el repositorio.

El servidor también se puede ejecutar sin contenedor:

uv run pbu-fsbu-mcp                                    # stdio
uv run pbu-fsbu-mcp --transport http --port 18010      # HTTP

Pruebas de OCR y Tesseract

Las pruebas de reconocimiento (tests/test_ocr_text.py) requieren Tesseract 5.x instalado localmente con el modelo rus. Sin él se omiten; el resto del conjunto no depende de esto. Para que se ejecuten realmente:

  • TESSERACT_CMD — ruta a tesseract, si el binario no está en PATH;

  • TESSDATA_PREFIX — directorio con los modelos *.traineddata, si no es el estándar.

$env:TESSERACT_CMD = "C:\Program Files\Tesseract-OCR\tesseract.exe"
$env:TESSDATA_PREFIX = "C:\Users\<user>\.tessdata"
uv run --group etl pytest

En CI, Tesseract y el modelo rus se instalan mediante apt-get; véase .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