Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
제작자가 쓴 설명(영어 원문)
Hash-chained audit ledger for AI agent work — record, verify and replay what the agent did.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"verified-rec": {
"command": "npx",
"args": [
"-y",
"verified-rec"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add verified-rec -- npx -y verified-rec프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"verified-rec": {
"command": "npx",
"args": [
"-y",
"verified-rec"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"verified-rec": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"verified-rec"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
레지스트리 이름이 GitHub 계정 zaojiaoci 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.0)은 11일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Finance Toolkit, SolidInvoice, Korea Tax Calculator
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
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.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Hash-chained audit ledger for AI agent work. Append-only records anyone can verify and replay — did the agent really do what it says it did?
An MCP server. Zero npm dependencies. Records land in a plain text file you own.
You: "ship the release."
Agent: *does the work, records each step into the ledger* You: "verify the ledger." Agent: "chain intact — 14 entries, head 9f3c…, nothing edited."
| Tool | What it does |
|---|---|
ledger_start | Start a new ledger (.vrec). Genesis entry + chain head. Never overwrites. |
ledger_append | Append one step. Returns the new chain head. Refuses to write to a broken chain. |
ledger_verify | Recompute every hash, check every link. Returns the first broken line if someone edited the file. |
ledger_replay | List entries in order (optionally a range). |
game_verify_rec | Replay a game .rec recording through a deterministic kernel and compute its chain head — see Origin. |
One line, any MCP host:
// ~/.codebuddy/.mcp.json (WorkBuddy / CodeBuddy) — user scope
// ~/Library/Application Support/Claude/claude_desktop_config.json (Claude Desktop) { "mcpServers": { "verified-rec": { "type": "stdio", "command": "npx", "args": ["-y", "verified-rec"] } } }
Local checkout works the same way ("command": "node", "args": ["/path/to/verified-rec/src/server.js"]). Node ≥ 18. No build step, no native modules, no network.
After installing, just talk to your agent — the tools are named in plain language and it will pick them up:
ledger_start creates release.vrec with a genesis entry and returns the first chain head.ledger_append adds one step (action, optional actor / note) and returns the new head.ledger_verify recomputes the chain and reports ok + entry count + head — or the first broken line number if anything was edited.ledger_replay lists entries in order.Verifying a game recording (see Origin):
game_verify_rec replays it and answers one of three ways: reproduced (some registered kernel recomputes the head — authentic), not-reproduced (none does — tampered or from an unregistered game version), premise-broken (the recording's facts match no kernel at all). Without an expected head it just proves the recording is replayable and reports its head.Tip: after any important ledger_append, publish the chain head (commit message, release note, chat). That is what turns "I didn't edit it" into "nobody edited it" — the published head pins the chain retroactively.
Each entry links to the previous one by hash:
entry.hash = sha256([seq, ts, actor, action, note, prev].canonical)
entry.prev = previous entry.hash (genesis prev = 64 zeros)
ledger_verify recomputes the whole chain. Edit one field in one line, swap two lines, delete one — the first broken line is reported by number.
Threat model, honestly stated: this catches accidental edits and casual tampering. It cannot catch an attacker who rewrites the entire chain and its head. The fix is the oldest trick in accounting: publish the head — commit it, tweet it, put it in a release note. A retroactive edit then breaks against the published head, anywhere.
This ledger is an extraction. It came from a game — 《它在维护一场对话》(*It Is Maintaining a Conversation*), a free narrative game about a mind that maintains memories for someone, and loses them. Every in-game state is hash-chained; every playthrough can be recorded as a .rec file and replayed byte-for-byte. The design discipline behind that ("decisions are hashed, prose is not; same inputs, same chain head") is what this tool generalizes.
The lineage is one step older: the game evolved from dbx-sql-guard, a hash-chain guard for SQL — the same instinct, three forms: a database guard, a game, a work ledger.
game_verify_rec keeps that story executable. It replays a .rec recording through the same deterministic narrative kernel (versioned compiled artifacts, see LICENSE-content.md and PROVENANCE.md) and reports the chain head — the head of the game's own hash chain, where head = H(prev ‖ frame ‖ canonical state) per frame. Give it an expectedHead and it becomes an integrity check with three outcomes: reproduced (some registered kernel version recomputes the head — authentic), not-reproduced (no registered kernel does — tampered, or from an unregistered game version), premise-broken (the recording's facts digest matches no kernel at all). Kernel upgrades add a new registered version; old recordings keep verifying against old kernels — an upgrade never falsifies an honest recording.
The kernel is a compiled artifact, and that is a fair thing to be suspicious of in an audit tool. PROVENANCE.md answers it: every kernel version ships with its source wasm and SHA-256, is byte-reproducible from it via a pinned wasm2js command (./gen-kernel.sh), and is anchored to the game's publicly registered golden chain heads — verify it yourself in minutes, no trust in the author required.
*.vrec — ledger files, newline-delimited JSON. Plain text; diffable, greppable..rec — game recordings (crossgame-slice-recording line format: seed=, facts=, variants=, then f= per frame). Produced by the game's own export panel.Code: Apache-2.0. The narrative content compiled into kernel/ (sim- .wasm / kernel-asm- .js): All Rights Reserved (see LICENSE-content.md). The two halves are explained in both files — engine is engineering, story is authorship.
给 AI Agent 工作用的哈希链账本。 追加式记录,任何人都能校验和重放—— Agent 说它做过的事,链上做没做过,一验便知。
MCP server,零 npm 依赖,账本是你自己机器上的纯文本文件。
| 工具 | 作用 |
|---|---|
ledger_start | 开一本新账(.vrec),创世环 + 链头。已存在则拒绝(账不覆盖旧账) |
ledger_append | 记一环,返回新链头。链断了先修账才准记 |
ledger_verify | 全量重算哈希、环环相扣。谁改过文件,报第一个断链行号 |
ledger_replay | 按序重放(可切片) |
game_verify_rec | 用版本化确定性内核重放游戏 .rec,算出链头并给三态判定(见下) |
安装:上面那段 JSON 照抄进 MCP 配置(WorkBuddy/CodeBuddy 是 ~/.codebuddy/.mcp.json),一行 npx -y verified-rec。Node ≥ 18, 无构建、无原生模块、不碰网络。
使用:装完直接跟 Agent 说话就行,工具会被自动挑中:
ledger_start 建 .vrec,创世环 + 首个链头ledger_append 记一环,返回新链头ledger_verify 全量重算:完好报 ok + 条数 + 链头, 被改过就报第一个断链行号ledger_replay 按序列出验游戏录像(见出处段):
game_verify_rec 三态回答: reproduced(某登记内核复现链头 ⇒ 真实)/ not-reproduced(都复现不出 ⇒ 篡改或未登记版本)/ premise-broken(facts 对不上任何内核)。不给链头 则只证明可重放并报出链头。用法要点:重要操作 ledger_append 之后,把链头登记出去(提交信息 / 发布记录 / 聊天里贴一下)——这一步才把"我没改过"升级成"谁都没法改"。
防篡改的诚实边界:抓得住手改和误改;抓不住「重算整条链并伪造链头」的 攻击者。解法是会计行最古老的一招——把链头登记出去(git 提交 / 公开贴文), 事后改账就与公开链头对不上。
内核的出生证明:kernel/ 里的编译产物不是黑箱——每个版本带源 wasm 与 SHA-256,可用 PROVENANCE.md 里钉死的 wasm2js 命令 (./gen-kernel.sh)逐字节重建,并用游戏公开登记的黄金链头锚定内容。 game_verify_rec 的三态判定:reproduced(某登记版本内核复现链头 ⇒ 真实)/ not-reproduced(所有登记版本都算不出 ⇒ 篡改或录自未登记版本)/ premise-broken(facts 对不上任何内核)。内核升级是追加新版本,老录像 永远用老内核验,升级不会冤枉诚实的录像。
出处:这套账本是从游戏里提出来的。《它在维护一场对话》 ——一个关于记忆衰减的免费叙事游戏,它把每一帧状态都串成哈希链,每一局都能 录成 .rec 逐帧重放。本工具就是那套纪律的通用化。谱系再往前一步:游戏本身 演化自 dbx-sql-guard—— 同一个本能的三种形态:数据库守卫、游戏、工作账本。