+--------------------------------------------------------------------------------+
| |
| __ __ ____ ____ ____ _ |
| | \/ |/ ___| _ \ | _ \ ___ ___ _ _ _ __ ___ | |_ ___ |
| | |\/| | | | |_) |_____| | | |/ _ \ / __| | | | '_ ` _ \ | __/ _ \ |
| | | | | |___| __/_____| |_| | (_) | (__| |_| | | | | | | | || __/ |
| |_| |_|\____|_| |____/ \___/ \___|\__,_|_| |_| |_| \__\___| |
| |
| ____ _ _ _ _ _ |
| |_ _|_ __ | |_ ___| | (_) __ _ ___ _ __ ___| | |
| | || '_ \ | __/ _ \ | | |/ _` |/ _ \ '_ \ / __| | |
| | || | | || || __/ | | | (_| | __/ | | | (__| | |
| |___|_| |_| \__\___|_|_|_|\__, |\___|_| |_|\___|_| |
| |___/ |
| |
| MCP SERVER | OCR | ANALYZE | ORGANIZE |
| |
+--------------------------------------------------------------------------------+MCP文档智能服务器
具有高级批处理和智能文档组织的模型上下文协议服务器
此MCP服务器通过AI客户端中的自然语言请求分析、重命名、分类和组织文档。它递归扫描文件夹,检测重复项,从PDF、DOCX、Pages、图像和文本文件中提取元数据,并对扫描的文档使用OCR。预览模式、备份、撤消支持、元数据导出和内存优化的批处理使其适用于大型个人档案。其结果是一个由人工智能驱动的文档工作流程,保持本地、快速和自动化。
  ](https://github.com/AndreasDietzel/mcp-document-intelligence)     
______________________________________________________________________
🎯 特性
🔍 v4.6中的新功能-自动OCR集成
- 📸 扫描PDF的自动OCR:当文本提取产生\100个文件
- 📊 智能分类自动检测10+类别(金融,健康,旅游等)
- 💾 状态持久性:从JSON状态文件恢复中断的操作
- 🎯 十年检测:自动路由到Achziger/Neunziger/Nuller/Zehner/Zwanziger
� v4.2-完全支持PDF OCR
- 📄 扫描PDF智能:基于图像的PDF的完整OCR解决方案
- 🤖 自动检测:从文本提取到OCR的智能回退(\100个文件)分块处理。
输入:
{
"folderPath": "/path/to/large/folder",
"targetArchivePath": "/path/to/archive",
"chunkSize": 50,
"stateFilePath": "/tmp/batch-state.json"
}输出:
{
"chunkCompleted": true,
"totalFiles": 500,
"processedFiles": 50,
"successCount": 48,
"errorCount": 2,
"percentComplete": 10,
"nextChunkExists": true,
"stateFilePath": "/tmp/batch-state.json"
}输出:
{
"structure": {
"2024": {
"Rechnungen": ["Telekom", "Vodafone"],
"Vertraege": ["..."]
}
},
"assignments": [
{
"originalPath": "/path/scan001.pdf",
"targetFolder": "2024/Rechnungen/Telekom",
"newFilename": "2024-01-24_RE-123_rechnung_telekom.pdf"
}
]
}batch_organize ✨ 在v4.0中增强
执行批量重命名和自动备份文件的移动/复制。
输入:
{
"baseFolder": "/path/to/organized",
"mode": "move",
"createBackup": true,
"operations": [
{
"originalPath": "/path/scan001.pdf",
"targetFolder": "2024/Rechnungen/Telekom",
"newFilename": "2024-01-24_RE-123_rechnung_telekom.pdf"
}
]
}输出:
{
"success": true,
"mode": "move",
"filesProcessed": 15,
"filesFailed": 0,
"foldersCreated": 5,
"backupCreated": true,
"backupPath": "/path/.backup_2024-01-24T10-30-00.json",
"results": [...]
}preview_organization ✨ v4.0中的新功能
显示在不进行更改的情况下会发生什么的模拟预览。
输入:
{
"baseFolder": "/path/to/organized",
"operations": [ /* same as batch_organize */ ]
}输出:
{
"preview": [
{
"action": "move",
"from": "/path/scan001.pdf",
"to": "/path/organized/2024/Rechnungen/Telekom/2024-01-24_RE-123.pdf",
"status": "ok"
}
],
"warnings": [],
"stats": {
"totalFiles": 15,
"foldersToCreate": ["2024/Rechnungen/Telekom"],
"conflicts": 0,
"missingFiles": 0
},
"safeToExecute": true
}undo_last_organization ✨ v4.0中的新功能
从自动备份中还原上次组织操作。
输入:
{
"baseFolder": "/path/to/organized"
}输出:
{
"success": true,
"restored": 15,
"failed": 0,
"backupFile": "/path/.backup_2024-01-24T10-30-00.json"
}export_metadata ✨ v4.0中的新功能
将分析的文档元数据导出为JSON或CSV格式。
输入:
{
"documents": [ /* array from analyze_folder */ ],
"format": "csv"
}输出(CSV):
Filename,Path,Date,References,Keywords,OCR Quality,Confidence,Type
scan001.pdf,/path/scan001.pdf,24.01.2024,RE-2024-1234,rechnung;telekom,good,0.95,invoice
...______________________________________________________________________
🔧 用例
单文档分析
analyze_document with filePath: "/path/to/scanned_invoice.pdf"→ 提取发票号码、日期、公司名称,并建议: 2024-01-24_INV-2024-001_rechnung_telekom.pdf
高级批处理组织(v4.0)
与困惑或克劳德的对话示例:
You: "Analyze all documents recursively in my 2026 folder, find duplicates"
AI (using analyze_folder with recursive=true):
→ Scanned 10 levels deep
→ Found 150 documents
→ Detected 12 duplicates (3 groups)
→ Extracted: dates, invoice numbers, companies
→ OCR quality: 95% confidence average
AI (using suggest_folder_structure):
→ Proposes: 2026/Rechnungen/Telekom, 2026/Vertraege/Vodafone, etc.
→ Shows: Complete list of file renames and target folders
AI (using preview_organization):
→ Preview: 150 files will be moved
→ Folders to create: 8
→ Conflicts: 0
→ Safe to execute: YES
AI: "I found 150 documents (12 duplicates). Should I organize them into
2026/Rechnungen, 2026/Vertraege with smart filenames?"
You: "Yes, but copy instead of moving"
AI (using batch_organize with mode="copy", createBackup=true):
→ Copies all files (originals preserved)
→ Creates folder structure
→ Backup created for undo
→ Processes everything automatically
AI: "Done! Organized 150 documents, created 8 folders, backup saved.
15 files processed, 0 failed. Type 'undo' to revert."
You: "Export the metadata as CSV"
AI (using export_metadata with format="csv"):
→ Exports all document metadata
→ Includes: filename, date, references, keywords, OCR quality
AI: "CSV exported with all metadata for 150 documents."完整工作流v4.0:
- 扫描仪保存到“收件箱”文件夹
- 告诉困惑/Claude递归分析+查找重复项
- 执行前预览更改
- 使用复制或移动模式确认
- 文件自动组织并自动备份
- 导出记录的元数据
- 如有需要,随时撤销
工作流自动化
- 之前:手动分拣100多份扫描文件
- 之后:一个命令→ 预览→ 组织(秒)
- 安全:自动备份、预览模式、撤消功能
- 非常适合:税务文件、发票、合同、收据、档案
______________________________________________________________________
🛠️ 技术细节
依赖项
- pdf解析:PDF文本提取
- 猛犸:DOCX文档处理
- adm zip:页面文档提取
- tesseract.js:用于扫描文档和图像的OCR
- @模型上下文协议/sdk:MCP协议实施
文件结构
mcp-document-intelligence/
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled output
├── package.json
├── tsconfig.json
└── README.md文件名模式识别
分析仪识别:
- 扫描仪时间戳:
YYYY-MM-DD_HH-MM-SS或YYYYMMDD_HHMMSS - 文件日期:
DD.MM.YYYY,YYYY-MM-DD - 参考图案:
- Rechnungs-Nr: XXX / Invoice: XXX - Kunden-Nr: XXX / Customer: XXX - Bestell-Nr: XXX / Order: XXX - Vertrag-Nr: XXX / Contract: XXX
- 关键词:发票、合同、报价、订单、常用公司名称
文件夹结构生成
自动按以下方式对文档进行分组:
- 年:摘自文件日期
- 类别发票、合同、报价、提醒等。
- 公司:电信、沃达丰、亚马逊、PayPal、银行等。
______________________________________________________________________
🔒 隐私和安全
- ✅ 所有数据都保留在本地 -没有外部API对个人数据的调用
- ✅ 设备上的OCR处理 -Tesseract.js在本地运行
- ✅ 无数据传输 -所有处理都在本地进行
- ✅ 不记录文档内容
______________________________________________________________________
🌍 编码和国际支持
- ✅ 自动编码检测 -UTF-8和Latin-1/ISO-8859-1
- ✅ 国际人物 -完全支持Unicode(日语、中文、中文、拼音、拼音)
- ✅ 德国Umlauts -对äöuÄÖß的原生支持
- ✅ 特殊字符 -处理文件名中的管道、冒号和引号
- ✅ 空字节处理 -自动清除损坏的文件
- ✅ 编码信息 -报告在分析结果中检测到编码
______________________________________________________________________
🧪 质量保证
该项目通过全面测试保持高质量标准:
- 100个自动化测试 涵盖所有功能
- 99%的测试通过率 (99/100项测试通过)
- 符合ISO 25010标准 -质量特征已验证
- 性能基准 -每个文件平均\<100ms
- 安全测试 -路径遍历和数据隐私验证
看 测试文档.md 查看详细的测试覆盖率和结果。
______________________________________________________________________
🚀 路线图
- \[x\] 支持多格式文档(PDF、DOCX、Pages、Images、TXT)
- \[x\] 批处理支持
- \[x\] 根据内容自动归档到文件夹
- \[x\] 递归文件夹扫描
- \[x\] 使用SHA256进行重复检测
- \[x\] 预览模式(模拟运行)
- \[x\] 备份和撤消功能
- \[x\] 元数据导出(JSON/CSV)
- \[x\] 复制与移动模式
- \[x\] OCR质量反馈
- \[\]可配置的命名模板
- \[\]自定义参考号模式
- \[\]Excel/CSV文档支持
- \[\]与文档管理系统集成
- \[\]用于改进分类的机器学习
______________________________________________________________________
📄 许可证
MIT许可证-请参阅 许可证 文件
______________________________________________________________________
🙏 致谢
- 建于 模型上下文协议SDK
- 灵感来自并基于以下概念 MCP文件系统服务器
- PDF解析 pdf解析
- OCR通过 Tesseract.js
______________________________________________________________________
专为智能文档工作流程而设计 📄✨
