文档智能处理服务

MCP Document Intelligence Server是一款企业级文档智能处理服务,通过自然语言请求分析、重命名、分类和组织文档,支持PDF、DOCX、Pages、图片和文本文件的多格式处理,并具备OCR功能,适用于个人和企业文档自动化管理。

  • by AndreasDietzel
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 AndreasDietzel/mcp-document-intelligence

使用说明

+--------------------------------------------------------------------------------+
|                                                                                |
|  __  __  ____ ____        ____                                _                |
| |  \/  |/ ___|  _ \      |  _ \  ___   ___ _   _ _ __ ___   | |_ ___          |
| | |\/| | |   | |_) |_____| | | |/ _ \ / __| | | | '_ ` _ \  | __/ _ \         |
| | |  | | |___|  __/_____| |_| | (_) | (__| |_| | | | | | | | ||  __/         |
| |_|  |_|\____|_|        |____/ \___/ \___|\__,_|_| |_| |_|  \__\___|         |
|                                                                                |
|      ____       _       _ _ _                       _                          |
|     |_ _|_ __  | |_ ___| | (_) __ _  ___ _ __   ___| |                         |
|      | || '_ \ | __/ _ \ | | |/ _` |/ _ \ '_ \ / __| |                         |
|      | || | | || ||  __/ | | | (_| |  __/ | | | (__| |                         |
|     |___|_| |_| \__\___|_|_|_|\__, |\___|_| |_|\___|_|                         |
|                                |___/                                           |
|                                                                                |
|              MCP SERVER  |  OCR  |  ANALYZE  |  ORGANIZE                       |
|                                                                                |
+--------------------------------------------------------------------------------+

MCP文档智能服务器

具有高级批处理和智能文档组织的模型上下文协议服务器

🎯 专为 困惑桌面, 克劳德桌面,以及其他MCP兼容客户端 –用企业级文档智能为您的AI助手充电。

此MCP服务器通过AI客户端中的自然语言请求分析、重命名、分类和组织文档。它递归扫描文件夹,检测重复项,从PDF、DOCX、Pages、图像和文本文件中提取元数据,并对扫描的文档使用OCR。预览模式、备份、撤消支持、元数据导出和内存优化的批处理使其适用于大型个人档案。其结果是一个由人工智能驱动的文档工作流程,保持本地、快速和自动化。


🎯 特性

🔍 v4.6中的新功能-自动OCR集成

  • 📸 扫描PDF的自动OCR:当文本提取产生<50个字符时,自动回退到Tesseract OCR
  • 🖼️ 图像支持:在所有工具中使用OCR处理.jpg、.jpeg、.png文件
  • 🇩🇪 德语:预先配置了德语支持(-l deu)
  • 🏢 增强实体检测:沃达丰、Telekom、O2、DHL、亚马逊现已获得认可
  • 📁 固定分类:沃达丰→ 11_电信(不是保险!)
  • ⚡ 优雅的后退:pdftotext→ OCR → 空字符串(每个文件超时30秒)
  • 📋 更多文档类型添加食谱, 取消, 提醒模式
  • 🌍 完整存档扫描:新脚本分析了693个文件,通过OCR改进了559个文件
  • 📚 文档:完成 OCR-集成.md 引导

⚡ v4.5-高级归档管理

  • 🧹 清理旧结构:删除旧文件夹层次结构,合并到标准类别中
  • 📁 优化文件夹结构:删除空文件夹,将单个文件类别移动到99_Sonstiges
  • 🤖 智能名称:用于智能命名的PDF内容分析(提取公司、文档类型)
  • 📋 move_lose_files:松散文件的基于模式的分类
  • 🎯 生产就绪:使用2714个文件进行测试,工作流程完全自动化
  • 📚 完整文档: 生产-设置.md 和 测试-周长.md

⚡ v4.4-性能优化

  • 🎯 内存高效处理:基于生成器的文件扫描-无内存溢出
  • 📊 批处理:每批处理25个文件,并自动暂停
  • 🛡️ 安全限值:可配置的限制(500个文件/年)可防止系统崩溃
  • 🧹 垃圾回收:批之间的显式内存清理
  • ⏸️ 渐进式处理:恢复具有状态跟踪的友好架构
  • 📈 内存占用减少:与以前的版本相比减少了90%

🤖 v4.3-自治组织

  • 🔄 自动组织文件夹:自动分析和组织文件夹
  • 📥 进程下载:自动文件下载到带有类别检测的存档中
  • 🧩 批量_组织_大型:以具有恢复功能的块处理>100个文件
  • 📊 智能分类自动检测10+类别(金融,健康,旅游等)
  • 💾 状态持久性:从JSON状态文件恢复中断的操作
  • 🎯 十年检测:自动路由到Achziger/Neunziger/Nuller/Zehner/Zwanziger

� v4.2-完全支持PDF OCR

  • 📄 扫描PDF智能:基于图像的PDF的完整OCR解决方案
  • 🤖 自动检测:从文本提取到OCR的智能回退(<50个字符触发OCR)
  • 📊 质量指标:OCR置信度评分和质量评估
  • ⚡ 优化处理:PDF.js渲染+Tesseract OCR(最多5页)
  • 🌍 德语语言模型:为本地文档预先配置
  • 📜 Apache-2.0许可:PDF.js(Mozilla)没有许可问题

�🚀 v4.1-质量和性能增强

  • 🧪 全面测试:100个自动化测试用例,通过率99%
  • 📊 性能指标:实时处理统计数据和吞吐量报告
  • 🔍 增强验证:文件大小、名称长度和类型验证
  • 🌐 更好的编码检测:带报告的自动UTF-8/Latin-1切换
  • ⚡ 优化处理:每个文件平均<100ms,批处理<2000ms
  • 🛡️ 稳健的错误处理:带有可操作建议的结构化错误

🚀 v4.0-企业功能

  • 🔍 递归扫描:深度文件夹分析高达10级
  • 👥 重复检测:基于SHA256的文件重复数据删除
  • 👁️ 预览模式:执行前的试运行操作
  • ⏮️ 备份和撤消:一键恢复自动备份
  • 📊 元数据导出:将分析结果导出为JSON/CSV
  • 🎯 智能过滤器:按文件类型和关键字筛选
  • 📋 复印模式:复制文件而不是移动它们
  • ⚙️ 可配置规则:自定义文件夹组织模式
  • 🎨 OCR质量反馈:扫描文档的置信度得分
  • 📈 详细统计:综合运营总结

📦 批量文档处理

  • 文件夹扫描:在一次操作中递归分析整个文件夹
  • 批量组织:自动重命名和移动多个文件
  • 智能文件夹结构:自动生成有组织的文件夹层次结构
  • 工作流自动化:扫描→ 分析→ 预览→ 组织→ Undo

�📄 多格式文档智能

  • 文本提取:从PDF、DOCX、页面、图像、TXT中提取文本
  • 完整PDF OCR:PDF.js+Tesseract.js用于扫描PDF(自动回退)
  • OCR质量评分:所有OCR操作的置信度指标和质量评估
  • 多编码支持:自动检测和处理UTF-8、Latin-1/ISO-8859-1
  • 稳健解析:处理空字节、特殊字符和异常文件名
  • 智能文件名建议:自动提取:
    • 扫描仪时间戳(保留现有时间戳 2024-01-24_14-30-45 格式)
    • 文件日期(DD.MM.YYYY,YYYY-MM-DD)
    • 参考号(发票号、客户号、订单号、合同号)
    • 关键词(发票、合同、公司名称)

🚀 快速开始

系统要求

要获得完整的PDF-OCR支持,请安装以下系统工具:

# macOS (via Homebrew)
brew install tesseract tesseract-lang  # OCR engine with all languages
brew install poppler                    # PDF rendering tools (pdftoppm)

先决条件

您需要以下AI桌面客户端之一:

两者都支持模型上下文协议(MCP),用于使用自定义工具扩展AI功能。

安装

git clone https://github.com/AndreasDietzel/mcp-document-intelligence.git
cd mcp-document-intelligence
npm install
npm run build

配置

添加到MCP客户端配置中:

对于困惑桌面: 地点: ~/Library/Application Support/Perplexity/perplexity-config.json (macOS)

{
  "mcpServers": {
    "document-intelligence": {
      "command": "node",
      "args": ["/path/to/mcp-document-intelligence/build/index.js"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

对于Claude Desktop: 地点: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

{
  "mcpServers": {
    "document-intelligence": {
      "command": "node",
      "args": ["/path/to/mcp-document-intelligence/build/index.js"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

重新启动AI客户端 在更新配置之后。

MCP文件系统集成

此服务器与官方服务器配合使用效果最佳 MCP文件系统服务器,为您的AI助手提供文件浏览和管理功能。

困惑/Claude的推荐设置:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/your/documents"
      ]
    },
    "document-intelligence": {
      "command": "node",
      "args": ["/path/to/mcp-document-intelligence/build/index.js"]
    }
  }
}

配置了两台服务器后,您可以:

  1. 问你的AI 在文件夹中查找文档(文件系统服务器)
  2. 分析和组织 自动(文档智能服务器)
  3. 完整的工作流程 通过与困惑/克劳德的自然对话处理

📋 可用工具

analyze_document

分析单个文档并建议一个智能文件名。

输入:

{
  "filePath": "/path/to/document.pdf"
}

输出示例:

{
  "originalFilename": "20240124_143045_scan.pdf",
  "suggestedFilename": "20240124_143045_RE-2024-1234_rechnung_telekom.pdf",
  "documentDate": "24.01.2024",
  "references": ["RE-2024-1234"],
  "keywords": ["rechnung", "telekom"],
  "scannerDatePreserved": true,
  "textLength": 2450,
  "preview": "Rechnung Nr. RE-2024-1234..."
}

analyze_folder ✨ 在v4.0中增强

分析文件夹中的所有文档(使用递归扫描、重复检测和过滤进行批处理)。

输入:

{
  "folderPath": "/path/to/folder",
  "recursive": true,
  "fileTypes": ["invoice", "contract"],
  "keywords": ["telekom", "vodafone"]
}

输出:

{
  "folderPath": "/path/to/folder",
  "totalFiles": 15,
  "duplicateGroups": [
    {
      "hash": "abc123...",
      "count": 3,
      "files": ["doc1.pdf", "doc1_copy.pdf", "duplicate.pdf"]
    }
  ],
  "documents": [
    { 
      "originalPath": "...", 
      "suggestedFilename": "...", 
      "ocrQuality": "good",
      "confidence": 0.95,
      "metadata": {...} 
    }
  ]
}

suggest_folder_structure ✨ v3.0中的新功能

提出基于分析文档的智能文件夹组织。

输入:

{
  "documents": [ /* array from analyze_folder */ ]
}

auto_organize_folder 🤖 v4.3中的新功能

自动分析和组织文件夹-一步完成分析+重命名/移动。

输入:

{
  "sourcePath": "/path/to/source",
  "archivePath": "/path/to/archive",
  "dryRun": false,
  "createCategories": true,
  "stateFile": "/tmp/state.json"
}

输出:

{
  "total": 150,
  "processed": 147,
  "moved": 145,
  "categorized": {
    "01_Finanzen": 45,
    "03_Gesundheit": 12,
    "06_Reisen": 23,
    "99_Sonstiges": 65
  },
  "errors": [{"file": "...", "error": "..."}]
}

process_downloads 📥 v4.3中的新功能

扫描Downloads文件夹,并自动将文档归档,同时检测年份和类别。

输入:

{
  "downloadsPath": "~/Downloads",
  "archiveBasePath": "/path/to/archive",
  "autoMove": false,
  "maxFiles": 50
}

输出:

{
  "scanned": 23,
  "suggestions": [
    {
      "from": "~/Downloads/Rechnung.pdf",
      "to": "/archive/Zwanziger/2025/01_Finanzen/2025-03-15_Rechnung_Telekom.pdf",
      "year": 2025,
      "category": "Finanzen"
    }
  ],
  "filed": [],
  "errors": []
}

batch_organize_large 🧩 v4.3中的新功能

使用恢复功能将大文件夹(>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:

  1. 扫描仪保存到“收件箱”文件夹
  2. 告诉困惑/Claude递归分析+查找重复项
  3. 执行前预览更改
  4. 使用复制或移动模式确认
  5. 文件自动组织并自动备份
  6. 导出记录的元数据
  7. 如有需要,随时撤销

工作流自动化

  • 之前:手动分拣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许可证-请参阅 许可证 文件


🙏 致谢


专为智能文档工作流程而设计 📄✨