Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Beschreibung vom Entwickler (englisches Original)
Read OFD files and Chinese e-invoices (数电票): text, invoice fields, folder totals. Read-only.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"ofdkit": {
"command": "uvx",
"args": [
"ofdkit",
"mcp"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add ofdkit -- uvx ofdkit mcpIn .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"ofdkit": {
"command": "uvx",
"args": [
"ofdkit",
"mcp"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"ofdkit": {
"type": "stdio",
"command": "uvx",
"args": [
"ofdkit",
"mcp"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto Edgar-311 bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.4.0) kam vor 8 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Finance Toolkit, SolidInvoice, Korea Tax Calculator
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
轻量的 Python 工具,用来读取 OFD 文件,提取里面的文字和发票字段,并能接入 AI 工具。OFD 是中国的国家标准版式文档格式(GB/T 33190),常见于电子发票和公文。
A lightweight Python toolkit for reading OFD documents (GB/T 33190, the Chinese fixed-layout format used for e-invoices and official documents): extract text and invoice fields, and use them from AI tools.
状态:0.4 版,接口以后可能还会调整。更新记录见 CHANGELOG。
Status: 0.4, the API may still change. See the CHANGELOG.
pip install ofdkit
ofdkit 发票.ofd
电子发票(普通发票)
发票号码 00000000000000000001 开票日期 2026-01-02 购买方 测试单位甲 税号 TESTBUYER0001 销售方 测试单位乙 税号 TESTSELLER0002 金额 100.00 税额 6.00 价税合计 106.00 明细 *测试*服务项目 100.00 6% 开票人 测试人员
(数据是虚构的 / fictional data)
ofdkit 发票文件夹
ofdkit batch 发票文件夹 -o 发票汇总.xlsx
Excel 文件有两张表:"发票"每张发票一行,最后是合计;"明细"每个商品或服务一行。重复的发票标黄,读不出来的文件标红,有其他提醒的发票(抬头不对、金额缺少或不是数字)标橙,都在"提醒"一栏写明原因。合计用的是 SUBTOTAL,筛选以后只算看得见的行;不是数字的金额保留原样、不算进合计,合计下面会注明有几张。 The workbook has two sheets: 发票 (one row per invoice, with totals; duplicates in yellow, unreadable files in red, other reminders such as another buyer or an amount that is missing or not a number in orange, each explained) and 明细 (one row per line item). Totals use SUBTOTAL, so they follow filters.
--buyer,购买方名称或税号不是你公司的发票会标出来(Excel 里标橙色)。名称和税号都要查,就写两次: Check who the invoices are made out to: with --buyer, invoices for another buyer name or tax ID are flagged (orange in Excel). Repeat it to check both: ofdkit 发票文件夹 --buyer 某某有限公司 --buyer 91310000XXXXXXXXXX
dzfp_2411…_20240528.ofd 改成 2024-05-28_某某公司_4449.00_2411….ofd。不加 --apply 只是预览;同名的 PDF、XML 会一起改(其中一个改不了,这张发票的文件都保持原名);改名前会先写好改名记录,写不了就一个文件也不改;用 --undo 可以按记录改回去,运行几次都没关系: Rename invoice files after their contents. Without --apply it only previews; PDF and XML copies with the same name are renamed too (if one cannot be, that invoice's files all keep their names); the log is written before anything is renamed, and nothing is renamed if it cannot be; --undo restores the old names from the log and is safe to run again: ofdkit rename 发票文件夹 # 预览 / preview
ofdkit rename 发票文件夹 --apply # 改名 / rename ofdkit rename --undo 发票文件夹/改名记录_20261028_093000.csv
名字的格式可以改,例如 --pattern "{开票日期}_{购买方}_{商品}"。可以用的字段:开票日期、发票号码、发票代码、发票种类、销售方、销售方税号、购买方、购买方税号、金额、税额、价税合计、商品、原文件名。 The name format can be changed with --pattern; fields are listed by ofdkit rename --help (English names such as {date}, {seller} and {total} work too).
ofdkit 文件.ofd # 看发票,不是发票就显示文字 / show an invoice, or the text
ofdkit 文件夹或压缩包.zip # 发票列表和合计 / list invoices with totals ofdkit batch 文件夹 -o 发票汇总.xlsx # 导出 Excel / export to Excel ofdkit batch 文件夹 -o 发票汇总.csv # 导出 CSV(给程序用)/ export CSV for programs ofdkit 文件夹 --buyer 公司名或税号 # 检查发票抬头 / check the buyer ofdkit rename 文件夹 # 按内容改名(先预览)/ rename after contents (preview first) ofdkit text 文件.ofd # 提取文字 / print text ofdkit invoice 发票.ofd # 发票字段(JSON)/ invoice fields as JSON ofdkit info 文件.ofd # 页数、作者等信息 / pages and metadata ofdkit describe 文件.ofd -o 结构.json # 打码的结构,用于报告问题 / masked structure for bug reports
show、batch 和 rename 加 -r 会连子文件夹一起找。ofdkit 文件.ofd 是 ofdkit show 文件.ofd 的简写。 Add -r to show, batch and rename to include subfolders. ofdkit PATH is short for ofdkit show PATH.
ofdkit invoice 的输出示例(数据是虚构的)/ Example output (fictional data):
{
"invoice_number": "00000000000000000001", "invoice_code": null, "issue_date": "2026-01-02", "check_code": null, "machine_number": null, "buyer": {"name": "测试单位甲", "tax_id": "TESTBUYER0001", "address_phone": null, "bank_account": null}, "seller": {"name": "测试单位乙", "tax_id": "TESTSELLER0002", "address_phone": null, "bank_account": null}, "amount_without_tax": "100.00", "tax_amount": "6.00", "total_amount": "106.00", "issuer": "测试人员", "payee": null, "reviewer": null, "note": null, "items": [ {"name": "*测试*服务项目", "specification": null, "unit": null, "quantity": null, "unit_price": null, "amount": "100.00", "tax_rate": "6%", "tax_amount": "6.00"} ], "sources": ["custom_tags"], "warnings": [] }
金额是字符串,不会丢失精度。如果"合计金额 + 合计税额"不等于"价税合计",或者某个金额不是数字(比如"无法识别",这时保留原样),warnings 里会提示。汇总时只加真正的数字:0 就是 0,缺少的和不是数字的不算进合计,并单独计数(not_summed)。 Amounts are decimal strings, so no precision is lost. warnings notes totals that do not add up and amounts that are not numbers (kept as found). Summaries add only real numbers: 0 counts as 0, while missing amounts and amounts that are not numbers are left out and counted in not_summed.
让 Claude、Codex、Cursor 等 AI 工具直接读取 OFD 文件。需要先安装 uv。所有工具都是只读的。 Lets Claude, Codex, Cursor and other AI tools read OFD files. Requires uv. All tools are read-only.
已在官方 MCP Registry 上架,名字是 io.github.Edgar-311/ofdkit;支持这个目录的工具可以直接搜索安装。 Listed in the official MCP Registry as io.github.Edgar-311/ofdkit; tools that read the registry can install it from there.
| 工具 / Tool | 作用 / What it does |
|---|---|
read_ofd_text | 按阅读顺序提取文字,可选 Markdown 和页码范围 / text in reading order, optional Markdown and page range |
read_ofd_invoice | 发票字段 / invoice fields |
ofd_info | 页数、尺寸、元数据 / pages, sizes, metadata |
list_ofd_invoices | 汇总一个文件夹里的发票,可以检查抬头 / summarise a folder of invoices, optionally checking the buyer |
Claude Code:
claude mcp add ofdkit -- uvx --from "ofdkit[mcp]" ofdkit mcp
Claude Desktop、Cursor 等使用 JSON 配置的工具 / tools with a JSON config:
{
"mcpServers": { "ofdkit": { "command": "uvx", "args": ["--from", "ofdkit[mcp]", "ofdkit", "mcp"] } } }
Codex(~/.codex/config.toml):
[mcp_servers.ofdkit]
command = "uvx" args = ["--from", "ofdkit[mcp]", "ofdkit", "mcp"]
加上 --root 文件夹 可以只允许读取这个文件夹里的文件。判断的是文件的真实位置:文件夹里指向外面的快捷方式式链接(符号链接、Windows 的目录联接)不会被读取,汇总文件夹时会跳过并计数(skipped_outside_root)。 Add --root FOLDER to allow only files inside that folder. The check uses each file's real location, so symbolic links and Windows directory junctions that lead outside are not read; folder listings skip and count them (skipped_outside_root).
skills/ofd-reader 告诉 AI 什么时候、怎么用 ofdkit 命令行,适用于支持 Agent Skills 的工具。把这个文件夹复制到: skills/ofd-reader tells an AI agent when and how to use the ofdkit command line. Copy the folder to:
~/.claude/skills/ofd-reader/~/.codex/skills/ofd-reader/MarkItDown 是把各种文件转成 Markdown 给 AI 读的工具。安装插件后它就能读 OFD: MarkItDown converts files to Markdown for AI. With this plugin it reads OFD too:
pip install "ofdkit[markitdown]"
markitdown --use-plugins 发票.ofd
import ofdkit
with ofdkit.open("发票.ofd") as doc: print(doc.text()) invoice = doc.invoice() # 不是发票时返回 None / None if not an invoice if invoice: print(invoice.invoice_number, invoice.total_amount)
for result in ofdkit.read_invoices("发票文件夹", recursive=True, buyer=["某某有限公司"]): if result.invoice: print(result.file, result.invoice.total_amount, "重复" if result.duplicate else "", result.buyer_mismatch) else: print(result.file, result.error)
请不要把真实发票发到网上。用这个命令导出文件结构,然后附在 GitHub issue 里。文字、文件名和较长的号码会打码(汉字变成"字",数字变成"0",字母变成 x),只保留结构、坐标和 OFD 格式自己的名字(如 Doc_0、Content.xml)。打码是尽力而为,发出去之前请自己再看一遍: Please do not post real invoices. Export the structure and attach it to a GitHub issue. Text, file names and long numbers are masked; the structure, coordinates and the OFD format's own names (Doc_0, Content.xml) are kept. Masking is a best effort, so look through the file before posting it:
ofdkit describe 文件.ofd -o 结构.json