Local MCP for Chinese criminal dossier review; Word notes + Excel catalogs stay on-device.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
💡 Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
本地 FastMCP 阅卷工具箱。给定卷宗 PDF 目录,由 任意 Coding Agent(Cursor / Kimi Code / OpenCode / Codex / Claude Desktop 等)调用工具,产出:
.docx)—— 七部分结构 + 案件基本信息 + 阅卷结论(结构化数据完整渲染,无截断).xlsx)—— 分卷总览 / 阅卷目录 / 案件信息 / 证据索引不依赖 Claude Code CLI。 LLM 推理由宿主 Agent 提供;PDF 解析、OCR、Word/Excel 生成均在本机完成,卷宗不经过本服务上传。
事实与证据须标注来源卷宗及页码(如 见《主卷》P55-76),并可机器校验,落实「禁止幻觉、结论可回溯」。
对任意刑事案件通用,不假定具体罪名或当事人。本仓库不收录真实卷宗;运行时将 PDF 放入本地
data/(已 gitignore),产物写入output/(已 gitignore)。
同一 case_id 下,完整流程与零散按需共用全部工具,工作区状态共享。
| 模式 | 何时用 | 怎么做 |
|---|---|---|
| 完整阅卷 | 「把这案件按标准流程阅完」 | create_case → start_review 拿 playbook → 按 Skill 八步顺序调工具 → 校验导出 |
| 按需调用 | 「只查某页 / 只补一条供述 / 只出 Word」 | create_case 后直接调 read_pages / record_* / write_outputs 等 |
可先按 playbook 走完大半,再零散补登;也可先散读若干页,再按 playbook 补齐缺步。服务端不强制锁步;顺序约束写在 Skill / playbook 里,由宿主 Agent 遵守。
| 组件 | 作用 |
|---|---|
vibelawyer/tools.py + tool_spec.py | 原子工具(本地 ToolSpec,无 claude-agent-sdk) |
vibelawyer/mcp_server.py | FastMCP 对外暴露;passthrough 复用 handler |
vibelawyer/playbook.py | 标准步骤与铁律;与 Skill / start_review 同源 |
skills/vibelawyer-review/SKILL.md | 宿主可加载的阅卷 Skill |
vibelawyer/sessions.py | 多案件 case_id 隔离 |
start_review 只下发 playbook,不启动后台 LLM job。
可选遗留:pip install 'vibelawyer[legacy-agent]' + python -m vibelawyer.run --legacy(需本机 Claude Code CLI,非默认路径)。
~/.local/share/docling-venv)提升扫描件 OCRtesseract + chi_sim 作为 OCR 回退mcp.jsonclaude_desktop_config.json)在各自 MCP 配置中填入同一 command / args。已安装包时可将 command 改为 vibelawyer(或别名 vibelawyer-mcp)、args 留空。本地 CLI 指引用 vibelawyer-cli。
配置完成后,让 Agent 阅读并遵循:
skills/vibelawyer-review/SKILL.md
(或调用 start_review 获取与 Skill 同源的结构化 playbook。)
create_case(case_dir="/绝对路径/到卷宗目录") → case_iddefendant_hint / charge_hint / output_dir)start_review(case_id) → 拿到 steps / 铁律 / 调用约定get_case_status 或 get_workspace_summary 核实登记计数(勿信口头「已完成」)validate_citations → write_outputs → download_output(fmt="docx"|"xlsx")Passthrough 读/写/校验工具签名:tool_name(case_id, args={...})。
| 工具 | 作用 |
|---|---|
create_case | 发现 PDF、建会话,返回 case_id |
list_cases / get_case_status | 会话列表与各部分登记计数 |
start_review | 下发 playbook(宿主执行;无后台 job) |
get_review_progress | 说明无后台 job,并再次附上 playbook |
download_output | 取回 docx / xlsx |
| 工具 | 作用 |
|---|---|
list_volumes | 卷宗名 / 文件 / 页数 |
get_volume_outline | 逐页概览(定位文书边界) |
read_pages | 页码区间文本(含本地 OCR) |
search_volumes | 跨卷关键词检索 |
get_page_image | 渲染页面图像(视觉) |
| 工具 | 笔录部分 |
|---|---|
set_case_basic | 案件基本信息 |
record_party | 一、当事人(仅本案被告人) |
record_indictment / add_charged_fact | 二、起诉书 / 指控事实 |
record_statement(role=defendant|codefendant|witness) | 三~五、供述与证言(宜含 full_text) |
record_procedural_doc | 六、程序性文书(含文号) |
record_documentary_evidence / add_transaction | 七、书证与资金流水 |
add_catalog_entry | 阅卷目录条目 |
record_conclusions / record_funds_summary | 结论与资金勾稽 |
| 工具 | 作用 |
|---|---|
get_workspace_summary | 各部分登记进度 |
validate_citations | 校验引用页码合法性 |
write_outputs | 生成 Word 笔录 + Excel 目录 |
与 playbook.py / Skill 一致:
add_catalog_entry,定位起诉书页set_case_basic / record_party / record_indictment / add_charged_factrecord_statement(role=defendant),含逐字 full_textrole=codefendantrole=witnessrecord_procedural_doc(尽量含文号)record_documentary_evidence + 流水类 add_transactionrecord_conclusions / record_funds_summary(不做正式辩护策略)validate_citations → write_outputs → download_outputread_pages 实际读到的内容登记,严禁编造get_volume_outline 再精读;用 search_volumes 防遗漏get_workspace_summary / get_case_status 核实计数附:阅卷目录、阅卷结论(核心事实 / 证据链条 / 矛盾点 / 待核查疑点)。
(2) 等后缀)create_case(case_dir="<绝对路径>")write_outputs无需改代码即可用于受贿、贪污、诈骗、非法吸收公众存款等;职务犯罪会提取任职情况。
validate_citations 防幻觉页码data/、output/、tessdata/ 已 gitignore,勿提交真实卷宗或当事人信息MIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/vibelawyer)<a href="https://allmcps.com/mcp/vibelawyer"><img src="https://allmcps.com/api/badge/vibelawyer?style=directory" alt="VibeLawyer on AllMCPs" /></a>