pbu-fsbu-mcp
pbu-fsbu-mcp
MCP-服务器,带有俄罗斯会计准则(ПБУ и ФСБУ)的文本。
它做什么
返回标准条款的准确文本,附有财政部命令的详细信息(реквизиты)和版本号。
根据自然语言查询搜索条款。
考虑日期:答案总是“按日期”给出,该日期的标准状态明确说明。
显示具体条款由哪些БП 3.0对象实现:账户、寄存器、文档、会计政策设置。
解决逆问题:根据配置对象找到其背后的规范。
提供与条款主题相关的ITS文章标识符。
Related MCP server: onec-meta-mcp
它不做什么
不提供超出标准准确文本范围的咨询或解释。
工作时不访问网络。
对1С:Бухгалтерии对象的映射——目前是草稿:见“语料库当前状态”。
语料库当前状态
语料库涵盖财政部登记册中的所有29项会计准则 (现行和已失效的ПБУ和ФСБУ)——29项标准,每项一个版本, 共1768个条款(含子条款)。
可用工具:list_standards, get_standard, get_clause, search_clauses,
get_1c_mapping, find_by_1c_object, get_its_references。
资源:pbu-fsbu://registry。
对1С:Бухгалтерия 3.0的映射和ITS链接目前仅填充了
ФСБУ 6/2020,且这是草稿:每条记录标记为verified: false——它
仅由代码验证(对象在目录中,confidence不低于60),但未经
人类专家验证。对于其他标准,get_1c_mapping和
get_its_references返回空列表并附明确消息,而不是
沉默。添加新记录及其验证的规则见
CONTRIBUTING.md。
来源
条款文本的主要来源是财政部网站上标准自己的页面
(https://minfin.gov.ru/ru/document?id_4=NNNN,链接在标准登记册中):
那里的文本以普通服务器HTML形式提供,没有扫描件,也没有OCR,甚至对
早于publication.pravo.gov.ru档案的标准也可用(该档案大约从2011年11月开始)。
例外——ФСБУ 27/2021:其在财政部网站上的页面完全没有文本,
只有带PDF查看器的<iframe>。对于这29项标准中唯一的一项,文本
是通过识别publication.pravo.gov.ru上官方命令扫描件获得的
(Tesseract 5.x,来自tessdata_best的rus模型)。OCR是文档化的备用
路径,以防未来标准在财政部页面上也没有文本,
而不是获取语料库文本的主要方式。
在所有情况下,文本在从data/drafts/移动到data/sources/standards/之前,
都会逐行与官方文件进行人工核对。
语料库中不包含的内容
标准本身的附录(不是批准命令的附录)——报告表格样本、
作为独立附录并带有自己编号的详细数值示例——不包含在语料库中。
形式上它们是文件的一部分,但它们自己的编号(“1.”、“2.”……)重新开始,
与标准本身的条款冲突,因此etl.minfin_document._one_copy_of_the_standard
从附录标题开始到文档末尾截断文本。与条款内工作示例的区别
(参见ПБУ 18/02 пп. 14–15,其中数值示例是条款本身文本的一部分,而不是独立附录)
仅在于源标记:真正的附录有自己的标题,如“Приложение к Положению по бухгалтерскому учету «…»”。
已截断附录的标准(测试test_html_sourced_standard_reproduces_byte_for_byte
从相同的HTML快照重新生成语料库,并检查截断是否未偏移):
标准 | 已截断 |
ПБУ 8/2010 | 12 010字符 |
ПБУ 24/2011 | 4 062字符 |
ПБУ 16/02 | 3 814字符 |
ПБУ 19/02 | 3 208字符 |
ПБУ 7/98 | 2 768字符 |
ПБУ 18/02 | 2 372字符 |
ПБУ 3/2006 | 1 508字符 |
规范性法律文件不是版权对象(俄罗斯联邦民法典第1259条)。
代码以MIT许可证分发,数据条件见data/LICENSE。
本地运行
在将服务器部署到网络服务器之前,可以直接在工作站上试用。 有三种选项——根据您的客户端需要的传输方式。
stdio——用于Claude Desktop
uv run pbu-fsbu-mcp进程通过stdio与MCP通信,并通过Ctrl+C终止。语料库必须事先构建 (见下文“开发”)。
Claude Desktop从Anthropic云端拨号,无法访问
http://localhost,也无法访问局域网地址——对它来说,本地唯一的路径
是stdio。在claude_desktop_config.json中配置本地检出
(将路径替换为您自己的):
{
"mcpServers": {
"pbu-fsbu": {
"command": "uv",
"args": ["--directory", "C:\\path\\to\\pbu-fsbu-mcp", "run", "pbu-fsbu-mcp"]
}
}
}HTTP——用于Codex CLI和Claude Code
uv run pbu-fsbu-mcp --transport http --port 18010检查:curl http://127.0.0.1:18010/healthz → {"status":"ok"}。MCP端点
— http://127.0.0.1:18010/mcp。
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容器
docker compose -f deploy/compose.local.yml up --build从仓库源代码构建镜像(不拉取已发布的),并且仅将
端口发布到127.0.0.1:18010——容器对局域网不可见,只能从
同一台机器访问。客户端连接方式与上面HTTP部分相同。
语料库在docker build阶段构建一次(参见Dockerfile),
corpus_meta.built_at在该时刻固定——而不是在每次容器启动时。
关于过时语料库的警告(“语料库更新”部分)
从镜像构建日期起计算90天,而不是从上次重启日期起。
更新built_at的唯一方法是重新构建并
重新部署镜像;重启(docker compose restart / 不带--build的up)
不会更新语料库。
安装
Codex CLI
~/.codex/config.toml:
[mcp_servers.pbu_fsbu]
url = "http://192.168.100.172:18010/mcp"Claude Code
claude mcp add --transport http pbu-fsbu http://192.168.100.172:18010/mcpClaude Desktop
Claude Desktop无法连接到局域网地址:应用程序拒绝
http://方案,而custom connector连接是从Anthropic云端建立的,
无法访问192.168.x.x。Codex CLI和Claude Code是本地进程,
直接访问LAN地址,因此它们只需要上面的配置。
对于Claude Desktop,请在本地以stdio模式运行服务器——语料库自包含,
不需要网络。配置与上面“stdio——用于Claude Desktop”部分相同
(uv --directory <путь к чекауту> run pbu-fsbu-mcp):data/build/不会进入
仓库,因此从git地址安装(uvx --from git+...)不会构建
语料库,build_server将拒绝启动——需要的是本地检出
且已构建好数据库。
语料库更新
语料库从data/sources/standards/中的YAML构建。当财政部发布新命令时
(新标准或对现行标准的修订),更新顺序如下:
uv run --group etl python -m etl.watch --live— 将财政部网站上的标准登记册 与语料库进行比较,并显示差异(新增/缺失的标准、 更改的命令详细信息、适用日期)。uv run --group etl python -m etl.draft_yaml --live— 提取条款文本 (首先从财政部网站上的标准HTML页面,如果没有,则通过OCR 识别publication.pravo.gov.ru上的扫描件)并将草稿放入data/drafts/。逐行根据官方命令校对条款文本,将文件移动到
data/sources/standards/,删除# ЧЕРНОВИК横幅。uv run python -m etl.build_db && uv run python -m etl.validate。uv run --group etl pytest。
每周一次,etl-watch工作流执行相同的登记册与语料库比较,如果
有差异,则打开带有报告的pull request。没有自动合并:新命令
由人工阅读和校对。
开发
uv sync --all-groups
uv run python -m etl.build_db
uv run python -m etl.validate
uv run pytest真相来源是data/sources/中的YAML。文件data/build/pbu_fsbu.db由它们构建,
并且不提交到仓库。
OCR测试和Tesseract
uv run --group etl pytest包括识别测试(tests/test_ocr_text.py),
这些测试需要本地安装的Tesseract 5.x和rus模型。如果找不到二进制文件
或模型,这些测试会自动跳过(SKIPPED)——其余
测试套件不受影响。
要让OCR测试实际执行,请安装带有rus语言包的Tesseract 5.x,
如果它不在标准位置,请通过环境变量指定路径:
TESSERACT_CMD—tesseract可执行文件的路径(如果二进制文件不在PATH中,则需要)。TESSDATA_PREFIX— 模型(*.traineddata)所在目录的路径,如果它非标准。
例如,在Windows上:
$env:TESSERACT_CMD = "C:\Program Files\Tesseract-OCR\tesseract.exe"
$env:TESSDATA_PREFIX = "C:\Users\<user>\.tessdata"
uv run --group etl pytest在CI(Ubuntu)中,Tesseract和rus模型通过apt-get安装——参见.github/workflows/ci.yml。
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
MCP server for Russian books search, details, and recommendation candidates.
Accounting knowledge graphs: SEC XBRL filings, QuickBooks ledgers, reports and forecasts over MCP.
Headless API-first double-entry accounting & bookkeeping engine. 84 MCP tools over HTTP.
Related MCP Servers
AlicenseBqualityAmaintenanceMCP 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.5140MIT- FlicenseNot gradedqualityBmaintenanceMCP 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С105AGPL 3.0