
当文档解析同时进入 CLI、Open API、Python SDK、TypeScript SDK、Go SDK、MCP Server、LangChain 和 LlamaIndex真正危险的不是“有没有解析能力”而是不同入口输出口径不一致。今天值得关注的是MCP 与 Agent 工作流正在把工具调用、结构化结果、缓存和权限变成工程常态MinerU 这类文档解析层也需要从“单次解析工具”升级为“多入口一致的上下文生产系统”。热点背景过去一年RAG 和 Agent 工程的关注点正在从“模型能不能读文件”转向“系统能不能稳定生产可追溯上下文”。MCP 把工具、资源、结构化返回、用户确认和 Host 权限边界放到更明确的位置LangChain、LlamaIndex 等框架也持续把 loader、parser、retriever 和 evaluation 串到生产链路里。这对 PDF 解析、OCR、表格提取、公式识别和版面分析提出了一个更细的问题同一份文档如果今天用 CLI 解析明天用 Open API 批处理后天让 Agent 通过 MCP Server 调用再进入 LangChain 或 LlamaIndex输出结构、参数、错误码、文件资产、页码和验收状态是否还能对齐对企业知识库和 Sciverse 这类科研数据基础设施来说这不是工程洁癖。科研论文、实验报告、表格、公式、图表和补充材料一旦进入 AI-ready 数据层就会被 Agent 多次检索、引用、重组和复核。如果入口之间缺少契约后续 RAG 的召回、引用、复现和审计都会变得不可控。核心观点Agent 时代文档解析不应该只交付“某一次调用的结果”而应该交付一份跨入口一致的解析契约。这份契约至少包含三层含义。第一输入契约一致。文件来源、URL、页码范围、OCR 开关、语言、公式识别、表格提取、输出格式、回调、隐私边界和版本都要被记录。无论从 CLI、Python SDK、Open API、MCP Server 还是 RAG 框架调用都应能解释“这次解析到底用了什么参数”。第二输出契约一致。Markdown、结构化 JSON、表格、公式、图片/图表资产、PDF to Word、HTML、LaTeX、元素提取结果和页面定位信息不应只是散落在不同目录里的文件而应能被统一索引、验收和回放。第三验收契约一致。RAG 入库不能只看“解析成功”。每个样本都应记录 OCR、版面、表格、公式、元素、metadata、错误码、人工抽样结论和版本漂移结果。Agent 可以调用解析工具但不能绕过验收状态直接把内容写进知识库。技术展开MinerU 的价值在于它不是只把 PDF 当成纯文本文件处理而是面向复杂文档结构提供一组可组合能力OCR、版面分析、表格提取、公式识别、Markdown 输出、结构化 JSON、多格式导出、元素提取、批量处理以及围绕 CLI、Open API、Python SDK、TypeScript SDK、Go SDK、MCP Server、LangChain、LlamaIndex 的生态入口。在多入口解析契约里可以把 MinerU 放在“文档上下文生产层”。CLI 适合本地预检、开发调试、失败样本复现和私有文档初步解析。它的优势是可脚本化、便于把样本集和参数固化到仓库。Open API 适合服务端批处理、异步任务、回调、队列和跨团队系统集成。它需要额外关注额度、文件大小、页数上限、超时、重试和数据边界。Python SDK 适合把解析任务接入数据管线、评测脚本、批量回放和内部平台。TypeScript SDK 与 Go SDK 则更适合前端工作台、Node 服务、Go 后端和平台工程场景。MCP Server 适合把 MinerU 暴露给 Agent让 Agent 在权限受控的情况下调用解析、读取输出、查看资源或触发复核。但 MCP 接入不应被理解成“让 Agent 任意读文件”而应被设计成有 allowlist、用户确认、日志、输出目录和验收状态的工具层。LangChain 与 LlamaIndex 适合把 MinerU 的解析结果进入 RAG、检索、索引和问答链路。这里的关键不是 loader 一行代码能不能跑通而是 Markdown、JSON、表格、公式、图片资产和 metadata 是否能以稳定结构进入 chunk、embedding、retriever 和引用系统。能力边界也要说清楚。本文不声称 MinerU 在所有样本上优于 Docling、Unstructured、LlamaParse、传统 OCR、云文档智能服务或通用大模型直读文档。真正应该上线的是一套可复现实验用自己的 PDF、Office、扫描件、科研论文、表格和公式样本跑同一批维度再决定哪个入口、哪种参数、哪类文档进入生产。对比分析下面的表格不是跑分结论而是多入口解析契约下的评测维度。读者应替换自己的样本运行。方案典型入口适合场景多入口契约待测项观察方式MinerUCLI、Open API、Python SDK、TypeScript SDK、Go SDK、MCP Server、LangChain、LlamaIndexPDF 解析、OCR、表格、公式、版面、多格式输出、Agent/RAG 入库不同入口参数是否可对齐Markdown/JSON/资产是否一致错误与重试是否可记录固定样本从不同入口解析比对输出结构、页码、元素、表格、公式和 metadata传统 OCROCR API、桌面软件、脚本扫描件文字提取、票据或图片文字识别是否保留版面、表格、公式、图片和阅读顺序检查 OCR 文本与原页位置、表格结构和公式可用性通用大模型直接读文档Chat、文件上传、视觉模型 API快速理解、摘要、问答、低频人工分析是否能稳定导出结构化 JSON、表格、公式、页码证据和可回放参数要求输出证据定位和结构化结果记录不可复现或格式漂移案例云厂商文档智能服务托管 API、控制台、SDK企业文档智能、票据、表单、合规流程API 限制、区域合规、数据保留、字段 schema、成本和重试核对 live docs、合同、账号后台和真实错误返回开源 PDF 工具命令行、Python 包文本抽取、PDF 拆分、基础表格处理对扫描件、复杂版面、公式、跨页表格和图片资产支持程度用复杂科研论文、财报和扫描件做失败样本记录RAG 框架自带 loaderLangChain、LlamaIndex loader快速入库、原型验证是否把文档结构压扁成纯文本metadata 是否足够对比 chunk 中的标题层级、页码、表格和公式保真度DoclingCLI、Python、服务化集成文档转换、结构化解析、RAG 前处理输出 schema、表格、OCR、图片、批处理与下游集成固定样本记录 Markdown/JSON/表格/图片输出差异UnstructuredAPI、开源库、连接器多格式文档分区、企业数据管线element 类型、partition 策略、metadata、云/本地边界检查 element 粒度、表格、标题层级、失败重试LlamaParse云解析 API、LlamaIndex 集成LlamaIndex 生态、RAG 入库、结构化解析解析模式、配额、输出格式、与索引链路一致性记录解析参数、输出格式、RAG 引用与成本边界一个务实的结论是文档解析工具不应只比较“谁能读出来”。在 Agent 和 Sciverse 场景里更应该比较谁能把 OCR、版面、表格、公式、图片、JSON、Markdown、API 任务和人审记录统一成可复现的工程资产。可复现实验方案建议至少准备 40-80 份文档按真实业务比例抽样不要只选干净论文。样本类型建议数量重点覆盖科研论文 PDF10-20双栏、公式、引用、图表、跨页表格、补充材料企业报告 / 财报8-15长表格、脚注、目录、页眉页脚、图表说明扫描件 / 图片6-12OCR、倾斜、噪声、多语言、印章、低分辨率DOCX / PPTX / XLSX6-12Office 原生结构、表格、标题、幻灯片、工作簿历史失败样本10-20曾经解析错字、漏表、错公式、乱序或超时的页面样本应覆盖 PDF、扫描 PDF、图片、DOCX、PPTX、XLSX、长文档、表格密集文档、公式密集文档、图表密集文档、多语言文档和科研材料。涉及 Sciverse 或科研 Agent 时建议加入论文、实验数据说明、方法章节、图表页、公式页和补充材料。维度验收问题人工验收标准精准 OCR扫描页、低清图片、多语言是否识别正确关键术语、数字、单位、上下标不影响业务理解版面还原阅读顺序、标题层级、双栏、脚注是否稳定Markdown 与原文逻辑顺序一致页眉页脚不干扰正文表格提取表头、行列、合并单元格、跨页表是否保留表格能被程序读取关键数值、单位和表头可核对公式识别行内公式、块级公式、编号、上下标是否可用LaTeX 或结构化公式可人工复核公式上下文不丢失元素提取图片、图表、表格、公式是否作为元素保存元素类型、页码、位置、文件路径和引用关系可追溯结构化 JSONschema、metadata、页码、错误状态是否稳定可被脚本差异比对可进入验收表或 manifestMarkdown 输出是否适合人工阅读和 RAG chunk标题、段落、列表、表格、公式不被过度压扁MCP/Agent 接入Agent 是否按权限调用工具并返回结构化结果工具输入可见、输出可审计、失败可重试RAG 入库chunk、metadata、引用、召回是否可解释回答能回到页码、元素或原文证据每个失败案例都要记录入口、版本、参数、样本哈希、页码、元素类型、期望结果、观察结果、严重程度、是否阻塞上线、复核人和处理结论。不要只写“解析不好”。case_id文档入口页码元素待测项期望观察结果状态处理C001paper-01.pdfCLI3公式上下标与编号公式可转 LaTeX编号保留待读者运行todo替换样本后填写C002report-02.pdfOpen API12表格合并单元格表头、单位、行列正确待读者运行todo人工抽样C003scan-03.pdfPython SDK1OCR低清扫描关键字段不漏识别待读者运行todo记录原页截图C004deck-04.pptxMCP Server5图表Agent 工具调用输出带资源路径和验收状态待读者运行todo检查日志C005workbook-05.xlsxLangChain / LlamaIndex2metadata入库一致性chunk 保留来源和页/表信息待读者运行todo检查 retriever把上表中的paper-01.pdf、report-02.pdf、scan-03.pdf、deck-04.pptx和workbook-05.xlsx替换成自己的文件。每次只改变一个变量解析入口、解析参数、版本或样本集。否则出了差异很难判断是工具变化、参数变化还是样本变化。代码示例以下示例用于说明多入口解析契约的记录方式具体参数、URL、鉴权、输出字段、限制和错误码请以上线当天的官方文档、账户后台和实际返回为准。mineru-p./samples/paper-01.pdf\-o./runs/cli/paper-01\-mauto建议同时保存一份parse-run.json{case_id:C001,entry:cli,source:./samples/paper-01.pdf,output_dir:./runs/cli/paper-01,mode:auto,checks:[ocr,layout,table,formula,markdown,json],review_status:needs_review}curl--requestPOSThttps://mineru.net/api/v4/extract/task\--headerContent-Type: application/json\--headerAuthorization: Bearer${MINERU_API_TOKEN}\--data{ url: https://example.com/sample.pdf, is_ocr: true, enable_formula: true, enable_table: true }生产系统里不要只保存最终 Markdown。建议保存task_id、文件 URL、文件哈希、页码范围、参数、输出格式、状态、错误码、重试次数和人工验收结论。frompathlibimportPathimportjsonfromdatetimeimportdatetime,timezone run{case_id:C003,entry:python-sdk,source:./samples/scan-03.pdf,output_dir:./runs/python/scan-03,options:{ocr:True,table:True,formula:True},review_status:needs_review,created_at:datetime.now(timezone.utc).isoformat()}Path(run[output_dir]).mkdir(parentsTrue,exist_okTrue)Path(run[output_dir],parse-contract.json).write_text(json.dumps(run,ensure_asciiFalse,indent2),encodingutf-8){mcpServers:{mineru:{command:uvx,args:[mineru-open-mcp],env:{MINERU_API_TOKEN:your_key_here,OUTPUT_DIR:./runs/mcp}}}}建议把 MCP 工具分成两类parse_document触发解析需要权限控制或人工确认read_reviewed_output只读取已经通过验收的 Markdown、JSON、表格、公式和图片资产。这样 Agent 可以使用 MinerU但不能把未验收内容直接写进知识库。metadata{parser:MinerU,entry:llamaindex-reader,source_file:paper-01.pdf,review_status:accepted,checks:[ocr,layout,table,formula],}复现步骤准备样本选择 PDF、扫描件、图片、DOCX、PPTX、XLSX、科研论文、企业报告、历史失败样本和高风险业务文档。选择方案至少选择 MinerU 与一个对照方案例如 Docling、Unstructured、LlamaParse、传统 OCR、云文档智能服务或 RAG loader。固定入口先用 CLI 跑小样本再用 Open API、Python SDK、MCP Server、LangChain 或 LlamaIndex 跑同一批样本。执行解析记录版本、参数、文件哈希、页码范围、输出目录、任务 ID、错误码和重试次数。查看输出同时检查 Markdown、JSON、表格、公式、图片/图表资产、PDF to Word、HTML、LaTeX 和 metadata。人工抽样重点看扫描页、双栏页、表格页、公式页、图表页、跨页结构、多语言页和关键字段页。记录问题按 OCR、版面、表格、公式、元素、metadata、权限、API、SDK、MCP、RAG 入库分类。决定是否上线只有accepted内容进入默认知识库needs_review进入人审队列rejected进入失败样本集。回放复测升级 MinerU、SDK、MCP Server、LangChain、LlamaIndex、解析参数或 chunk 策略后用同一批样本重跑并比较差异。可复现实验声明本文未包含官方实测跑分评测部分为可复现实验方案和示例记录表读者需替换自己的样本运行。来源链接https://mineru.net/llms.txthttps://mineru.net/apiManage/docshttps://mineru.net/apiManage/limithttps://github.com/opendatalab/MinerUhttps://github.com/opendatalab/MinerU/releases/tag/mineru-3.4.4-releasedhttps://github.com/opendatalab/MinerU-Ecosystemhttps://github.com/opendatalab/MinerU-Ecosystem/tree/main/clihttps://github.com/opendatalab/MinerU-Ecosystem/tree/main/sdk/pythonhttps://github.com/opendatalab/MinerU-Ecosystem/tree/main/sdk/gohttps://github.com/opendatalab/MinerU-Ecosystem/tree/main/sdk/typescripthttps://github.com/opendatalab/MinerU-Ecosystem/tree/main/mcphttps://github.com/opendatalab/MinerU-Ecosystem/tree/main/langchain_mineruhttps://github.com/opendatalab/MinerU-Ecosystem/tree/main/llama-index-readers-mineruhttps://modelcontextprotocol.io/specification/2026-07-28https://modelcontextprotocol.io/specification/2026-07-28/server/toolshttps://modelcontextprotocol.io/specification/2026-07-28/server/resourceshttps://modelcontextprotocol.io/specification/2026-07-28/client/elicitationhttps://openai.github.io/openai-agents-python/mcp/https://python.langchain.com/docs/concepts/document_loaders/https://docs.llamaindex.ai/en/stable/module_guides/loading/https://docling-project.github.io/docling/https://github.com/docling-project/doclinghttps://docs.unstructured.io/https://github.com/Unstructured-IO/unstructuredhttps://developers.llamaindex.ai/llamaparse/https://sciverse.opendatalab.com/https://huggingface.co/datasets/opendatalab/Sci-Base