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-fullllms-full.txtllms-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 可以显著改善结构化入口,但不能替代业务事实判断和上线验收。

对比分析

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

方案方向 典型代表 适合场景 长文档待测项 观察方式
传统 OCR Tesseract、PaddleOCR 等 图片文字识别、扫描件基础 OCR 版面顺序、表格结构、公式、跨页关系 对照原文抽样,记录漏字、错序、表格断裂
通用大模型直接读文档 多模态模型、聊天产品上传文件 低频阅读、摘要、人工辅助理解 长文档上下文截断、证据页码、输出可复现性 同题多次询问,检查引用页码和结构一致性
云文档智能服务 AWS Textract、Azure AI Document Intelligence、Google Document AI 云上表单、发票、合同、企业 OCR API 限制、价格、区域、隐私、结构输出 用同一批样本核对字段、表格、页码和合规要求
开源 PDF 工具 PyMuPDF、pdfplumber、pypdf 文本型 PDF、程序化抽取 扫描件、复杂版面、公式、图片资产 区分原生文本 PDF 与扫描 PDF,分别记录失败类型
RAG 框架 loader LangChain loader、LlamaIndex reader 快速入库、Demo、轻量知识库 元素粒度、表格/公式保留、长任务状态 检查 chunk 是否保留页码、元素类型和来源
专业解析框架 Docling、Unstructured、LlamaParse 文档转换、RAG 前处理、结构化解析 多格式支持、JSON/Markdown 质量、批处理、API 体验 统一样本、统一验收表,不写未实测胜负
MinerU CLI、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、XLSX 5-10 原生结构、表格、幻灯片文本、工作表边界
超长材料 200 页以上内部手册或公开资料 3-6 长任务状态、内存、重试、流式输出
网页资料 HTML、网页 URL 3-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-12 CLI MD+JSON 通过
report_007 企业报告 35-38 Python SDK MD+JSON+docx 表格错列 需复核 暂缓
scan_003 扫描件 2 Open API MD+JSON OCR 漏字 需复核 暂缓
manual_012 长手册 1-260 MCP Server MD+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 应用

更多推荐