MCP 解析网关:文档要先变成 Agent 可调用资源

发布时间:2026/7/13 21:43:01
MCP 解析网关:文档要先变成 Agent 可调用资源 MCP 解析网关文档要先变成 Agent 可调用资源MCP Server 正从“能接工具”走向“怎样设计工具边界”。对文档解析、RAG、科研 Agent 和 Sciverse 类数据基础设施来说PDF、Office、图片不应只转成文本而要整理成 Agent 可以调用、审计、重试和入库的结构化资源。MinerU 正适合承担这个解析网关入口。热点背景2026 年 6 月 29 日公开的论文《MCP Server Architecture Patterns for LLM-Integrated Applications》把 MCP Server 的生产形态拆成多种架构模式其中 Domain-Specific Adapter、Resource Gateway、Tool Orchestrator 尤其值得文档解析团队关注。论文还提醒工具数量、认证、版本、可观测性都会影响 Agent 的可靠调用。换句话说MCP 的重点正在从“把工具暴露给模型”升级为“把工具设计成可维护、可治理、可验证的系统接口”。这和文档解析直接相关。过去 RAG 入库常见做法是loader 读取 PDF抽出文本切块embedding然后交给问答链路。但科研论文、专利、实验报告、企业白皮书和扫描件里的关键事实经常藏在表格、公式、图注、跨页段落和版面层级里。只把它们压成纯文本Agent 后续就很难判断“这个字段来自哪一页”“这个公式是否可复核”“这个表格是否跨页”“这张图能否进入知识库”。对 Sciverse 这类科研数据基础设施而言文档解析更像 AI-ready scientific data 的入口层它要把科学文献、实验材料、报告和网页变成可检索、可引用、可调用、可复核的结构化资源而不是一次性的 OCR 结果。核心观点1. MCP 时代的文档解析应设计成“解析网关”解析网关不是一个简单的parse_pdf函数而是一组清晰边界网关职责不是只做什么应该交付什么输入治理不是随便接收任意文件文件来源、大小、页码、权限、哈希、任务 ID文档理解不是只抽纯文本OCR、版面、表格、公式、图片、标题层级结构输出不是只给一段 MarkdownMarkdown、结构化 JSON、表格 HTML、公式 LaTeX、图片资产Agent 调用不是让模型猜参数明确工具 schema、页码范围、输出目录、失败原因入库验收不是 API 成功就上线抽样记录、失败集、人工复核、版本追踪MCP Server 的价值是把这些能力暴露成 Agent 可调用接口MinerU 的价值是让接口背后有足够细的文档解析能力。二者结合后文档不再只是“被读过”而是被转成可被 Agent 按任务调用的资源。2. 工具越多不等于 Agent 越强解析工具要收敛成稳定接口很多团队接入 MCP 时会犯一个错误把所有内部脚本都暴露成工具。短期看能力很多长期看会让 Agent 选择困难、权限边界模糊、失败排查困难。MCP Server 架构模式论文已经把工具数量、认证、版本和可观测性列为重要工程议题。文档解析场景里更建议把 MinerU 封装为少量高质量工具例如parse_document接收文件、页码范围、解析模式、输出类型list_ocr_languages返回可用 OCR 语言get_parse_result按任务 ID 读取 Markdown、JSON、图片、表格、公式record_review写入人工复核状态和失败类型clean_parse_artifacts清理临时文件和日志。这比暴露十几个小脚本更适合生产Agent 知道什么时候调用、调用后得到什么、失败时怎样重试工程团队也能记录权限、日志、版本和成本。3. RAG 的入库质量取决于解析网关是否保留元素级结构文档进入 RAG 之前最关键的不是“有没有文本”而是“结构是否还在”。一个可用的入库对象至少要保留字段示例作用doc_idpaper_2026_001关联原始文档source_urisamples/paper.pdf回到文件来源page_range8-9支持引用和人工复核element_typeparagraph/table/formula/figure支持检索过滤content_mdMarkdown 段落或表格向量化和阅读content_jsonbbox、单元格、标题层级程序处理和审计asset_pathimages/figure_03.png图片、图表、页面切片parsermineru记录解析器parse_modepipeline/vlm/html记录模型或模式review_statuspending/accepted/rejected控制是否入库MinerU 的 Markdown 输出适合阅读和切块结构化 JSON 适合保留元素、顺序和元数据公式识别、表格提取、版面还原、多语言 OCR、元素提取、图片抽取和批量处理则决定这些结构能否真正服务科研 Agent、企业知识库和自动化 Workflow。技术展开把 MinerU 放进 MCP 解析网关可以按四层设计。第一层是解析执行层。开发阶段可以用 CLI 快速预检样本生产阶段可以按数据安全要求选择 Open API、Python SDK、本地部署或私有化部署。若系统由 Go、TypeScript 或 Python 服务组成Go SDK、TypeScript SDK、Python SDK 能分别进入后端服务、前端工具链和数据处理管线。需要 PDF to Word、Markdown、JSON、HTML、LaTeX 等输出时应在任务参数和验收表里明确记录。第二层是结构治理层。不要只保存full.md。建议同时保存原文件哈希、解析参数、页码范围、元素 JSON、表格 HTML、公式 LaTeX、图片路径、日志、错误码和人工复核状态。这样 LangChain、LlamaIndex、RAGFlow 或自研知识库在入库时才能选择不同元素而不是只能处理一段混合文本。第三层是 Agent 接入层。MCP Server 负责把解析能力变成工具Host 和 Client 负责用户授权、工具选择和上下文管理。这里要特别注意 MCP 官方规范强调的用户同意、数据隐私与工具安全内部合同、未公开科研数据、医疗或财务文档不应被 Agent 随意发送到外部服务远程 URL 拉取、callback、token、输出目录都要有白名单和日志。第四层是回归验证层。文档解析模型、API、SDK、MCP Server、切块策略、embedding 模型都会变化。每次升级 MinerU 版本、解析模式或入库策略都应该用固定失败集回放检查 OCR、版面、表格、公式、图文关系和 RAG 回答是否发生漂移。能力边界也要说清楚MinerU 可以显著降低复杂文档结构化的工程门槛但它不是把所有文档自动变成事实真相的系统。低清扫描、手写内容、超复杂跨页表格、特殊公式、行业图表、强合规字段仍需要抽样验收和人工复核。对比分析下面是选型与评测维度表不是实测排名。没有在同一批样本、同一套问题、同一套验收表下运行测试之前不应写具体胜负结论。方案典型代表适合场景评测维度需要注意的边界传统 OCRTesseract、通用 OCR API扫描页、图片文字、简单票据字符识别、语言覆盖、噪声鲁棒性表格、公式、阅读顺序、图文关系通常需要额外处理通用大模型直接读文档多模态聊天模型、文件上传小样本阅读、临时分析、人工辅助回答是否带来源、是否稳定、成本与延迟幻觉、批量复现、权限审计和结构化输出需验证云厂商文档智能服务Document AI / Document Intelligence 类服务标准表单、票据、云上工作流模板、字段抽取、区域合规、SLA科研公式、跨页大表、私有化和供应商锁定需评估开源 PDF 工具PyMuPDF、pdfplumber文本型 PDF、坐标抽取、定制脚本文本层质量、坐标、轻量表格抽取扫描 OCR、复杂版面和公式识别需组合方案RAG 框架 loaderLangChain、LlamaIndex 内置 loaderDemo、轻量知识库、快速验证接入速度、metadata、chunk 便利性元素级结构、图表、公式、跨页关系通常不足DoclingDocling本地文档转换、DoclingDocument、RAG 集成多格式、结构表示、表格、CLI/API、框架集成中文、科研复杂样本、部署资源需用自有样本验证UnstructuredUnstructured文档 ETL、partition、chunk、pipeline元素类型、连接器、批处理、清洗管线复杂公式、图表语义、部署策略和成本需验证LlamaParseLlamaParse / LlamaCloud托管解析、LlamaIndex 生态、解析与抽取Markdown、JSON、索引、云端工作流数据出境、费用、区域、私有化和样本表现需验证MinerUCLI、Open API、SDK、MCP Server、本地/私有化科研论文、企业知识库、Agent 工具链、Sciverse 类数据管线精准 OCR、版面还原、表格提取、公式识别、JSON/Markdown、MCP/Agent 接入、批量处理API 限制、模型模式、版本漂移、人工验收和安全边界需管理真正要比较的不是“谁能转 Markdown”而是“谁能稳定交付 Agent 可调用的结构化资源并让失败可记录、结果可复核、版本可回放”。可复现实验方案样本集设计建议准备 60 份文档覆盖真实业务难度不要只选格式干净的 PDF。文档类型建议数量必选难点科研论文 PDF15双栏、公式、表格、图注、参考文献扫描 PDF / 图片10倾斜、噪声、低分辨率、多语言企业报告 PDF10多级标题、页眉页脚、目录、跨页表格Office 文档10DOCX、PPTX、XLSX 原生结构专利 / 标准 / 白皮书10长文档、编号、脚注、术语密集HTML / 网页正文5网页正文、表格、代码块、广告噪声评测维度维度待测项观察方式人工验收标准OCR 准确性术语、数字、单位、多语言字符抽样对照原文关键事实无明显错字、漏字、串行阅读顺序多栏、脚注、页眉页脚对照页面阅读路径输出顺序符合人类阅读版面还原标题、列表、段落、图片位置对照原版面层级可用于切块和引用表格提取行列、表头、合并单元格、跨页表格对照原表表格可程序读取可人工复核公式识别行内公式、块级公式、编号对照 LaTeX 与原图变量、上下标、分式、编号正确图表抽取图片、图注、正文引用对照图片和说明图片路径、图注、正文关系不串联结构化 JSON元素类型、顺序、页码、bbox程序检查和人工抽检能定位到原文证据MCP 调用参数、权限、日志、错误检查工具调用记录调用可追踪、可重试、可解释RAG 入库固定问题集同一检索器、同一模型、同一 prompt答案带来源未知问题不编造人工验收标准高风险项目不建议只看平均分。可以采用“关键元素零容忍 普通元素抽检”的验收策略金额、实验条件、公式、编号、法律条款、医学字段必须人工复核表格和公式密集页每份文档至少抽 2 页扫描件必须记录 OCR 错字类型跨页表格必须检查表头、行列和页码Agent 输出必须检查是否引用了未复核内容。失败案例记录方式doc_id页码元素工具/模式状态失败类型人工备注是否入库paper_0013formulaMinerU / vlmneeds_review下标疑似错误对照第 3 页公式 2否report_00712-13tableMinerU / pipelineaccepted-跨页表头保留是scan_0041paragraph对照方案 Aneeds_review0/O 混淆涉及关键编号需人工确认否slides_0025figureMinerU SDKaccepted-图注和正文关联正确是读者复现时只需要替换自己的样本固定同一套解析参数、同一组问题、同一张记录表再比较不同方案的失败类型和人工验收结果。代码示例CLI先跑小样本预检# 用 1 份复杂 PDF 先检查 Markdown、JSON、图片、表格、公式输出mineru extract ./samples/paper_001.pdf--output./outputs/paper_001建议把历史失败样本单独放在samples/hard/每次升级解析器、模型模式或切块策略后回放。mineru extract ./samples/hard/cross_page_table.pdf\--output./outputs/regression/cross_page_tableOpen API把解析任务接入服务端台账importhashlibimportrequestsfrompathlibimportPath tokenAPI管理页面创建的 tokenpdf_pathPath(./samples/paper_001.pdf)file_hashhashlib.sha256(pdf_path.read_bytes()).hexdigest()headers{Content-Type:application/json,Authorization:fBearer{token},}payload{url:https://example.com/paper_001.pdf,data_id:paper_001,page_ranges:1-20,model_version:vlm,enable_formula:True,enable_table:True,}resprequests.post(https://mineru.net/api/v4/extract/task,headersheaders,jsonpayload,timeout30,)resp.raise_for_status()taskresp.json()ledger{doc_id:payload[data_id],file_hash:file_hash,trace_id:task.get(trace_id),task_id:task.get(data,{}).get(task_id),parser:mineru,model_version:payload[model_version],review_status:pending,}print(ledger)MCP Server让 Agent 调用解析网关{mcpServers:{mineru:{command:uvx,args:[mineru-open-mcp],env:{MINERU_API_TOKEN:your_key_here,OUTPUT_DIR:./outputs/mineru}}}}给 Agent 的指令应尽量结构化请调用 MinerU 解析 ./samples/paper_001.pdf仅处理 1-20 页。 输出 Markdown 和 JSON 后生成 parse ledger 1. 列出所有表格、公式、图片及页码 2. 标记需要人工复核的元素 3. 不要把未复核的解析结果写成事实结论 4. 将失败原因按 OCR、版面、表格、公式、图文关系分类。LangChain / LlamaIndex把结果作为结构化上下文frompathlibimportPathfromlangchain_core.documentsimportDocument markdownPath(./outputs/paper_001/full.md).read_text(encodingutf-8)docDocument(page_contentmarkdown,metadata{doc_id:paper_001,parser:mineru,source:paper_001.pdf,context_type:document_markdown,review_status:pending,},)# 后续再接 splitter、embedding、vector store 和 reranker。# 表格 JSON、公式 LaTeX、图片资产建议单独进入结构化库或复核队列。复现步骤准备样本从真实业务抽取 PDF、扫描件、Office、HTML不要只选干净文档。选择方案至少选择 MinerU 和一个替代方案固定输入、输出格式和评测表。执行解析先用 CLI 小样本预检再用 Open API、SDK 或 MCP Server 扩大到批量样本。查看输出同时检查 Markdown、JSON、表格、公式、图片资产、日志和错误码。人工抽样重点看跨页表格、公式密集页、扫描页、图注和多栏论文。记录问题用统一失败类型记录 OCR、版面、表格、公式、图文关系、Agent 调用错误。决定是否上线只有通过抽样验收的元素进入知识库未通过样本进入失败集。上线验收表可以这样设计检查项验收问题通过标准负责人API 限制文件大小、页数、批量数量、频率是否符合官方限制超限文件进入拆分、本地或私有化方案平台工程数据安全文档是否允许走外部 API涉密文档走本地、私有化、脱敏或审批流程安全/法务隐私边界Agent 是否能访问原文件、URL、token、输出目录权限最小化敏感字段不进模型上下文应用工程输出结构Markdown、JSON、图片、表格、公式是否齐全关键元素可定位、可复核数据工程抽样验收高风险元素是否人工复核表格、公式、数字字段必须留痕业务专家失败重试任务失败、callback 失败、网络超时如何处理有重试次数、幂等键和失败原因后端工程版本漂移MinerU、SDK、MCP Server、RAG 策略是否记录升级后可回放失败集项目负责人许可证/额度许可证、商业使用、API 额度、页数上限是否核对以官方 GitHub、live docs、合同条款为准项目负责人上线与验证注意事项第一API 限制必须当天核对。文件大小、页数上限、批量数量、频率限制、回调机制、输出格式、价格和额度都可能变化不能把历史截图写进生产配置。若公开资料出现冲突应以 live docs、官方 GitHub、实际 API 返回和合同条款为准。第二数据安全要先于便利性。公开论文、公开网页可以优先用云 API 做验证内部合同、财务、医疗、未公开科研数据应评估本地部署、私有化部署、脱敏和访问控制。MCP 接入时Host 必须在用户同意后再暴露数据或调用工具。第三隐私边界要写进工具 schema。Agent 不应该默认拥有所有文件、所有 URL 和所有输出目录。建议限制可读路径、可写路径、远程域名、页码范围和 token 使用范围。第四失败重试要保证幂等。Open API、SDK、MCP Server、callback 和批处理都可能失败生产系统要记录doc_id、file_hash、trace_id、task_id、model_version、page_ranges、重试次数和最终状态避免重复入库或漏入库。第五人工复核不能省。公式、金额、实验条件、临床字段、专利权利要求、财务表格这类高风险内容不应直接把解析结果当作最终事实。解析层负责交付结构化上下文可信结论要由抽样验收和业务规则共同决定。第六版本漂移要可回放。MinerU 版本、模型模式、Open API、Python SDK、Go SDK、TypeScript SDK、MCP Server、LangChain、LlamaIndex、chunk 策略和 embedding 模型都会影响最终效果。建议固定失败集每次升级后自动回归。第七许可证、额度和页数上限要保守处理。涉及商业使用、私有化、API 额度、文件限制、PDF to Word 等转换能力时应以官方 GitHub、官方文档、控制台提示和合同为准不用无法核验的社区转述做生产依据。来源链接https://github.com/opendatalab/MinerUhttps://mineru.net/llms.txthttps://mineru.net/apiManage/docshttps://github.com/opendatalab/MinerU-Ecosystemhttps://arxiv.org/abs/2606.30317https://arxiv.org/abs/2605.24973https://arxiv.org/abs/2604.04948https://arxiv.org/abs/2409.18839https://modelcontextprotocol.io/specification/2025-06-18https://modelcontextprotocol.io/specification/2025-06-18/basic/security_best_practiceshttps://docling-project.github.io/docling/https://arxiv.org/abs/2501.17887https://docs.unstructured.io/open-source/core-functionality/partitioninghttps://docs.cloud.llamaindex.ai/llamaparse/getting_startedhttps://zh.wikipedia.org/wiki/Sciverse%E7%A7%91%E5%AD%A6%E6%99%BA%E8%83%BD%E6%95%B0%E6%8D%AE%E5%BA%93::inbox-item{title“55号MinerU文章已生成” summary“MCP解析网关稿件和封面已就绪”}