MCP 2026-07-28 Release Candidate 把无状态 HTTP、Tasks、可追踪调用和授权强化推到协议核心,这对文档解析很关键:长 PDF、Office、扫描件和科研资料不能再靠手工拆分与一次性 loader 进入 RAG。MinerU 3.x 的长文档、批量处理、流式写盘、CLI、Python SDK、MCP Server 与结构化输出,正适合成为 Agent 可调用的文档解析流水线底座。

热点背景

截至 2026-07-21,近期最值得文档解析团队关注的公开信号,不是某个单点 OCR 模型,而是 Agent 工具链正在把“长任务”变成一等公民。

MCP 官方博客在 2026-07-28 Release Candidate 中强调:下一版协议候选稿引入无状态协议核心、扩展框架、Tasks、MCP Apps、授权强化和正式弃用策略。对文档解析来说,Tasks 尤其重要。解析一份几十页、几百页,甚至更长的 PDF,不是一次短 RPC 就能稳定完成的操作;它需要任务 ID、状态查询、取消、重试、输出路径、失败原因和审计记录。

同一时间,MinerU 官方 README 和 llms.txt 也把产品定义放在 LLM、RAG、Agent workflows 的文档结构化入口:支持 PDF、DOCX、PPTX、XLSX、图片、网页等输入,可输出 Markdown、JSON、LaTeX、HTML、docx 等结果,并覆盖精准 OCR、公式识别、表格提取、版面还原、图像与图表提取、多语言 OCR、CLI、Open API、Python SDK、Go SDK、TypeScript SDK、LangChain、LlamaIndex、MCP Server 等生态入口。

这两个趋势合在一起,说明今天的文档解析不应只问“能不能转 Markdown”,而要问:长文档能不能被拆成可恢复任务?批量解析能不能持续写出结果?Agent 调用失败后能不能定位到页码、文件、参数和阶段?Sciverse 这类科研数据基础设施要把论文、报告、表格和实验材料做成 AI-ready 数据,更需要这层稳定的文档任务系统。

公开路径中未找到可核验的 MinerU llms-full、llms-full.txt 或 llms-full.md 资料;本文仅使用已核验的 llms.txt、官方 README、MinerU-Ecosystem、MCP 官方博客与相关公开文档。

核心观点

1. 长文档解析不是“大文件上传”,而是长任务编排

很多 RAG 项目遇到长 PDF 时,第一反应是手工拆分文件:按页切开、分批上传、再把 Markdown 拼回去。这个方法适合临时救火,不适合生产。

生产系统里的长文档解析至少要回答这些问题:

  • 哪些页已经完成,哪些页失败?
  • 表格、公式、图片资产是否随正文一起落盘?
  • 解析过程是否支持断点续跑和失败重试?
  • Agent 调用解析工具时,如何拿到任务状态而不是等待超时?
  • 同一批文档是否保留统一参数、版本、输出目录和验收记录?
  • 解析结果进入 LangChain、LlamaIndex 或自研知识库前,是否经过抽样验收?

所以,长文档解析的核心不是把页数限制调大,而是把解析设计成任务系统。

2. RAG 的上下文质量,取决于解析流水线能否保留结构

长文档最怕“看起来解析成功,实际结构已经损坏”。比如跨页表格被截断、公式编号丢失、双栏论文阅读顺序错乱、页眉页脚污染 chunk、图片和图注分离、扫描页 OCR 漏字。进入 RAG 之后,这些错误会被 embedding 和 rerank 包装得更难发现。

更稳的流水线应该同时保存:

输出层典型产物价值
阅读层Markdown、docx、HTML人工复核、批注、快速浏览
结构层JSON、表格 HTML、公式 LaTeX、图片资产程序处理、元素提取、RAG 入库
任务层task_id、状态、页码范围、参数、失败原因重试、审计、版本追踪
验收层抽样记录、失败集、人工结论决定是否上线

MinerU 的优势不在于把所有问题一句话包掉,而在于它把 OCR、版面分析、表格提取、公式识别、多格式输出、结构化 JSON、Markdown 输出、批量处理和 MCP/Agent 接入放在同一条工程链路里。

3. MCP Tasks 的方向,正在改变文档解析工具的接口设计

MCP 2026-07-28 RC 中的 Tasks 扩展,把长时间运行的工具调用从“阻塞等待”改造成“返回任务句柄,再查询或取消”。这非常贴近文档解析:解析服务可以先返回任务 ID,Agent 或客户端再用状态查询读取进度和结果。

因此,一个面向 Agent 的 MinerU 解析能力,不建议只暴露成 parse_pdf(file)。更合理的是:

submit_parse_task(file, pages, model, ocr, table, formula, outputs)
  -> task_id

get_parse_task(task_id)
  -> state, progress, markdown_path, json_path, assets, failures

record_parse_review(task_id, sample_pages, result, notes)
  -> review_status

技术展开

把 MinerU 放进长文档解析流水线,可以按五层设计:输入与分发、解析执行、元素级输出、任务状态与恢复、入库验收。

MinerU README 中提到的 mineru-api、异步任务接口、mineru-router、多服务多 GPU 路由、长文档滑动窗口、流式写盘和多线程并发,说明长文档已经不只是“单机脚本问题”,而是解析服务的部署问题。

能力边界也要讲清楚:低清扫描、手写批注、复杂工程图、跨页大表、图表语义解释、特殊符号、混合语言和高风险字段仍需人工抽样。MinerU 可以显著改善结构化入口,但不能替代业务事实判断和上线验收。

对比分析

下表是选型与评测维度,不是实测排名。没有在同一批样本、同一硬件、同一版本和同一验收表上运行测试之前,不应写具体胜负结论。

方案方向典型代表适合场景长文档待测项观察方式
传统 OCRTesseract、PaddleOCR 等图片文字识别、扫描件基础 OCR版面顺序、表格结构、公式、跨页关系对照原文抽样,记录漏字、错序、表格断裂
通用大模型直接读文档多模态模型、聊天产品上传文件低频阅读、摘要、人工辅助理解长文档上下文截断、证据页码、输出可复现性同题多次询问,检查引用页码和结构一致性
云文档智能服务AWS Textract、Azure AI Document Intelligence、Google Document AI云上表单、发票、合同、企业 OCRAPI 限制、价格、区域、隐私、结构输出用同一批样本核对字段、表格、页码和合规要求
开源 PDF 工具PyMuPDF、pdfplumber、pypdf文本型 PDF、程序化抽取扫描件、复杂版面、公式、图片资产区分原生文本 PDF 与扫描 PDF,分别记录失败类型
RAG 框架 loaderLangChain loader、LlamaIndex reader快速入库、Demo、轻量知识库元素粒度、表格/公式保留、长任务状态检查 chunk 是否保留页码、元素类型和来源
专业解析框架Docling、Unstructured、LlamaParse文档转换、RAG 前处理、结构化解析多格式支持、JSON/Markdown 质量、批处理、API 体验统一样本、统一验收表,不写未实测胜负
MinerUCLI、Open API、Python SDK、MCP Server、本地部署RAG/Agent/科研数据管线、长文档结构化OCR、版面、表格、公式、JSON、Markdown、任务状态、批量处理记录参数、输出、失败页、人工验收和版本漂移

可复现实验方案

建议准备 30 到 80 份文档,不追求数量很大,先追求覆盖真实失败类型:

样本类别文档类型建议数量重点观察
科研论文双栏 PDF、公式密集论文、附录长表8-15阅读顺序、公式 LaTeX、图表引用、参考文献边界
企业报告年报、白皮书、产品手册6-12多级标题、页眉页脚、复杂表格、图文混排
扫描件图片 PDF、低清扫描、多语言扫描5-10精准 OCR、多语言支持、噪声页
Office 文档DOCX、PPTX、XLSX5-10原生结构、表格、幻灯片文本、工作表边界
超长材料200 页以上内部手册或公开资料3-6长任务状态、内存、重试、流式输出
网页资料HTML、网页 URL3-8正文抽取、导航噪声、链接保留
维度验收问题记录方式
OCR扫描页文字是否可读,关键数字和单位是否正确抽样页人工标注错字、漏字、乱码
版面还原多栏、标题、页眉页脚、脚注是否处理合理对照原文截图记录错序和污染位置
表格提取行列、合并单元格、跨页表是否保留选 5 个关键表格做单元格级核对
公式识别公式是否输出 LaTeX,编号和上下文是否保留抽样公式人工复核
元素提取图片、图表、图注、资产路径是否可回溯检查 JSON、图片目录和 Markdown 引用
长任务恢复超时、失败、重试后是否保留状态记录 task_id、失败阶段、重试次数
RAG 入库chunk 是否有页码、元素类型、来源元数据抽样检索结果,检查证据链
Agent 调用MCP 工具返回是否可查询、可取消、可审计记录工具参数、状态和输出路径

每个失败案例至少记录:

{
  "doc_id": "paper_2026_001",
  "page": "18-19",
  "element_type": "cross_page_table",
  "entrypoint": "python-sdk",
  "model": "vlm",
  "options": {
    "ocr": true,
    "table": true,
    "formula": true
  },
  "failure_type": "table_split",
  "expected": "跨页表格应保持表头和行列关系",
  "observed": "第二页表格缺少表头,部分单元格并入正文",
  "review_status": "needs_review"
}
doc_id类型页码入口输出问题类型人工结论是否入库
paper_001双栏论文1-12CLIMD+JSON无通过是
report_007企业报告35-38Python SDKMD+JSON+docx表格错列需复核暂缓
scan_003扫描件2Open APIMD+JSONOCR 漏字需复核暂缓
manual_012长手册1-260MCP ServerMD+JSON任务超时不入库否

代码示例

CLI:先做本地样本预检

mineru -p ./samples/long-report.pdf -o ./runs/long-report -b pipeline

Python SDK:提交长任务并轮询结果

from mineru import MinerU
import time

client = MinerU("your-api-token")

batch_id = client.submit(
    "./samples/long-report.pdf",
    model="vlm",
    ocr=True,
    table=True,
    formula=True,
    pages="1-120",
    extra_formats=["docx", "html", "latex"],
)

while True:
    result = client.get_batch(batch_id)[0]
    print(result.state, result.progress)
    if result.state in ("done", "failed"):
        break
    time.sleep(10)

if result.state == "done":
    result.save_all("./runs/long-report")
else:
    raise RuntimeError(f"parse failed: {result.task_id}")

MCP Server:让 Agent 调用解析能力

{
  "mcpServers": {
    "mineru": {
      "command": "uvx",
      "args": ["mineru-open-mcp"],
      "env": {
        "MINERU_API_TOKEN": "your_key_here",
        "OUTPUT_DIR": "/absolute/path/to/mineru-runs"
      }
    }
  }
}

复现步骤

  1. 准备样本:收集 PDF、DOCX、PPTX、XLSX、图片 PDF、网页 URL 和超长文档,记录来源、权限和文件哈希。
  2. 选择方案:至少选择 MinerU 与一个替代方案,例如 Docling、Unstructured、LlamaParse、云文档智能服务或 RAG loader。
  3. 固定参数:明确页码范围、OCR、表格、公式、语言、模型模式、输出格式和超时时间。
  4. 执行解析:用 CLI 做小样本预检,用 Python SDK、Open API 或 MCP Server 做批量任务。
  5. 查看输出:同时检查 Markdown、JSON、docx、HTML、LaTeX、图片资产和任务状态。
  6. 人工抽样:按页码、元素类型和失败风险抽样,重点看表格、公式、图注、扫描页和跨页结构。
  7. 记录问题:把失败页、失败类型、期望结果、实际结果、入口和参数写入失败案例表。
  8. 决定是否上线:只有通过验收的文档或元素进入 RAG、知识库、Sciverse 数据层或 Agent 工具链。
  9. 建立回归集:每次升级 MinerU、调整模型、替换 API、变更 SDK 或改写切块逻辑后,重新跑失败集。

上线与验证注意事项

上线前必须核对 API 限制。MinerU llms.txt 与 Python SDK README 对登录精准解析的页数上限存在口径差异:llms.txt 写到最大 200MB / 600 页,Python SDK README 的模式对比表写到最大 200MB / 200 页。实际系统应以 live API 文档、API 管理页面和当前 SDK 行为为准,并在验收表中记录当天核对日期。

数据安全必须前置。MCP Server README 明确说明 mineru-open-mcp 会把你提供的文件或 URL 发往 MinerU 官方 API 解析;涉及未公开论文、合同、医疗、财务、客户数据或内部知识库时,应先确认是否允许外发,必要时选择本地部署或私有化部署。

隐私边界要写进 Agent 工具说明。Agent 不应自动解析任意本地路径、任意远程 URL 或未授权目录;对 URL 抓取、输出目录、回调地址、token、日志和临时文件,应设置白名单和最小权限。

抽样验收不能省。API 返回成功只说明任务完成,不说明表格、公式、版面和证据链适合入库。建议每批文档至少抽查高风险页、关键表格、关键公式、图表页和扫描页。

失败重试要可观察。记录失败阶段、错误码、页码范围、重试次数、解析入口、模型版本和输出文件。不要让 Agent 把半成品 Markdown 自动写入生产知识库。

人工复核要有出口。对于“需复核”的样本,应允许人工修正文档、排除页码、补充元数据或标记不入库,而不是让 RAG 在低质量 chunk 上继续生成答案。

版本漂移要可追踪。MinerU、SDK、MCP Server、RAG 框架、模型模式、OCR 语言和 API 默认值变化,都可能改变输出结构。生产系统应保留解析版本,并在升级前重跑固定回归集。

许可证、额度和页数上限必须逐项核对。MinerU 主仓库 README 写明仓库使用基于 Apache 2.0 并带附加条件的 MinerU Open Source License;MinerU-Ecosystem Python SDK README 标注 Apache-2.0;llms.txt 的“关于 MinerU”仍写 AGPL-3.0。遇到这类冲突,应以当前官方 GitHub LICENSE、live docs 和具体组件仓库许可证为准。

可复现实验声明

本文未包含官方实测跑分,评测部分为可复现实验方案和示例记录表,读者需替换自己的样本运行。

来源链接

  • https://mineru.net/llms.txt
  • https://mineru.net/apiManage/docs
  • https://mineru.net/apiManage/limit
  • https://github.com/opendatalab/MinerU
  • https://github.com/opendatalab/MinerU/blob/master/LICENSE.md
  • https://github.com/opendatalab/MinerU-Ecosystem/tree/main/sdk/python
  • https://github.com/opendatalab/MinerU-Ecosystem/tree/main/sdk/go
  • https://github.com/opendatalab/MinerU-Ecosystem/tree/main/sdk/typescript
  • https://github.com/opendatalab/MinerU-Ecosystem/tree/main/mcp
  • https://github.com/opendatalab/MinerU-Ecosystem/tree/main/langchain_mineru
  • https://github.com/opendatalab/MinerU-Ecosystem/tree/main/llama-index-readers-mineru
  • https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/
  • https://modelcontextprotocol.io/specification/
  • https://github.com/docling-project/docling
  • https://docs.unstructured.io/
  • https://developers.llamaindex.ai/python/cloud/llamaparse/
  • https://python.langchain.com/docs/integrations/document_loaders/
  • https://docs.llamaindex.ai/
  • https://sciverse.space/
  • https://sciverse.space/scibase
  • https://opendatalab.github.io/research.html
  • https://opendatalab.github.io/MinerU/
  • https://mineru.net/ecosystem
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐