让AI读懂任何复杂文档 - MCP服务器
Project description
📄 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file doc_mcp_server-0.1.1.tar.gz.
File metadata
- Download URL: doc_mcp_server-0.1.1.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45ded0fc1217afd8b932c18b3afbbbd59a99baa73c8f1fda61be24a735c61884
|
|
| MD5 |
970400fd475248d8cd139cbfb4459e65
|
|
| BLAKE2b-256 |
eb9e35af946795a9f8845a56f7f7eff07518b0e067f61f79763887b6ab236de2
|
File details
Details for the file doc_mcp_server-0.1.1-py3-none-any.whl.
File metadata
- Download URL: doc_mcp_server-0.1.1-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9a689535ee6a6f086f18edc0b50e47318ff33a95e46b327d2bf3b61005b6459
|
|
| MD5 |
add6d0d9789b9b96b94e56574604bdc3
|
|
| BLAKE2b-256 |
9e44aee21dd0019b37e93ac8636cb8ef459889101218e962bdbaa713ce16e5da
|