让AI读懂任何复杂文档 - 解决AI上下文限制问题的通用MCP服务器 | Universal MCP server for AI to understand complex documents
📄 Doc MCP Server
让AI读懂任何复杂文档 - 解决AI上下文限制问题的通用MCP服务器
🌟 为什么需要这个工具?
当你让AI处理复杂的Excel/PDF/Word文档时,是否遇到过这些问题:
- ❌ AI只能读取一部分内容就"失忆"了
- ❌ 合并单元格、复杂表格让AI无法理解
- ❌ 323行的征信报告,AI读到一半就乱了
- ❌ 需要反复调试才能准确定位字段
Document Analyzer MCP 专为解决这些痛点而生!
✨ 核心特性
🎯 智能文档分析
- 自动识别章节结构
- 处理合并单元格、嵌套表头
- 生成AI友好的结构化文档
📊 支持多种格式
- ✅ Excel (.xlsx, .xls) - 完整支持
- 🚧 PDF (.pdf) - 开发中
- 🚧 Word (.docx) - 开发中
🔍 精确字段定位
- 字段映射表(字段名 → 坐标)
- 章节级别读取
- 支持模糊搜索
⚡ 高效性能
- 结构化缓存
- 按需加载
- 批量操作
🚀 快速开始
安装
# 从PyPI安装(推荐)
pip install doc-mcp-server
# 从源码安装
git clone https://github.com/jiahuidegit/doc-mcp-server
cd doc-mcp-server
pip install -e .
配置Claude Desktop
在 claude_desktop_config.json 中添加:
{
"mcpServers": {
"document-analyzer": {
"command": "python",
"args": ["-m", "document_analyzer.server"]
}
}
}
基础使用
# 在Claude中使用
1. 分析文档
analyze_document(
file_path="/path/to/your/document.xlsx",
output_format="json"
)
2. 读取字段
read_field(
file_path="/path/to/your/document.xlsx",
field_key="第一部分:信息概要_企业名称"
)
3. 读取章节
read_section(
file_path="/path/to/your/document.xlsx",
section_name="第一部分:信息概要"
)
📖 使用示例
示例1: 处理征信报告
用户: "分析这份征信报告的结构"
AI调用: analyze_document(file_path="credit_report.xlsx")
AI返回:
{
"meta": {
"format": "excel",
"total_fields": 68,
"page_count": 1
},
"sections": [
{"title": "第一部分:信息概要", "row_range": "4-16"},
{"title": "未结清信贷及授信信息概要", "row_range": "17-93"},
...
]
}
示例2: 读取特定数据
用户: "读取企业的借贷交易信息"
AI调用: read_section(
file_path="credit_report.xlsx",
section_name="第一部分:信息概要"
)
AI返回:
{
"section_name": "第一部分:信息概要",
"data": {
"首次有信贷交易的年份": "2020",
"发生信贷交易的机构数": "5",
"借贷交易": "1000000"
}
}
🛠️ 可用工具
1. analyze_document
分析文档结构,生成元数据
参数:
file_path: 文档路径output_format: 输出格式 (json/markdown)deep_analysis: 是否深度分析
2. read_field
读取指定字段的值
参数:
file_path: 文档路径field_key: 字段键 (格式: "章节名_字段名")
3. read_section
读取整个章节数据
参数:
file_path: 文档路径section_name: 章节名称
4. write_field (仅Excel)
写入字段值
参数:
file_path: 文档路径field_key: 字段键value: 要写入的值
5. list_sections
列出所有章节
6. list_fields
列出所有字段或指定章节的字段
7. export_structure
导出文档结构为JSON或Markdown
🎯 实际应用场景
📊 数据分析
- 财务报表分析
- 征信报告处理
- 统计数据提取
📝 文档自动化
- 合同信息提取
- 报告生成
- 数据迁移
🤖 AI应用
- RAG系统数据源
- 文档问答系统
- 智能助手集成
🏗️ 技术架构
用户 → Claude Desktop → MCP Server → Document Analyzer
↓
Excel/PDF/Word Analyzer
↓
结构化数据 + 字段映射表
📊 性能对比
| 场景 | 传统方式 | Document Analyzer MCP | |-----|---------|---------------------| | Token消耗 | ~15000 | ~2000 | | 成功率 | 30% | 90%+ | | 处理时间 | 多次调试 | 一次成功 |
🤝 贡献指南
欢迎贡献代码!请查看 CONTRIBUTING.md
开发环境设置
git clone https://github.com/jiahuidegit/doc-mcp-server
cd doc-mcp-server
pip install -e ".[dev]"
pytest
📄 许可证
MIT License - 详见 LICENSE
🙏 致谢
- Model Context Protocol - MCP协议
- OpenPyXL - Excel处理
📮 联系方式
- GitHub Issues: 提交问题
- 邮箱: your.email@example.com
🌏 中文
项目背景
在使用AI处理大型或复杂文档时,经常会遇到上下文长度限制的问题。例如:
- 一份323行的企业征信报告,包含1352个合并单元格
- AI读取时常常"失忆",无法完整理解文档结构
- 需要多次尝试才能准确定位字段
Document Analyzer MCP 通过将复杂文档转换为AI可理解的结构化数据,彻底解决了这个问题。
核心理念
不让AI直接读取原始文档,而是给它一份"说明书"
工作流程:
- 分析文档 → 提取结构
- 生成字段映射表 → 精确定位
- AI按需读取 → 避免上下文过载
实战案例:征信报告处理
传统方式:
AI读取Excel → 内容过长 → 失忆 → 重试 → 再失忆 → 放弃
成功率: 30%
使用MCP:
analyze_document → 获取结构 → read_section → 精确读取 → 完成
成功率: 90%+
支持的文档类型
已支持
- ✅ Excel (.xlsx, .xls) - 完整支持合并单元格、复杂表头
开发中
- 🚧 PDF - 结构化PDF + OCR扫描件
- 🚧 Word - 长文档 + 复杂格式
计划中
- 📋 Markdown - 技术文档
- 📑 CSV - 简单表格
安装使用
详见 快速开始 章节
开发路线图
- v0.1 (当前) - Excel基础功能
- v0.2 - PDF/Word支持 + 智能分块
- v0.3 - 向量化存储 + 语义搜索
- v1.0 - 生产级稳定性
社区
Made with ❤️ by Yang Jiahui