news 2026/7/29 10:18:19

MCP Apps 之后,文档解析需要一层“可点击的人审界面”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MCP Apps 之后,文档解析需要一层“可点击的人审界面”

MCP Apps 之后,文档解析需要一层“可点击的人审界面”

MCP Apps 把 Agent 工具结果从纯文本、图片和 JSON 推向可交互界面:PDF 审阅、表格校验、长任务监控、审批流都可以留在对话中完成。对 RAG、企业知识库和 Sciverse 式科研数据管线来说,这意味着文档解析不能只交付 Markdown,而要交付可查看、可修正、可批准入库的结构化上下文。MinerU 的 OCR、版面分析、表格提取、公式识别、JSON/Markdown 输出、CLI、Open API、SDK 和 MCP Server,正适合放在这层入库关口。

热点背景

2026 年 7 月 28 日,Model Context Protocol 官方文档已进入2026-07-28版本路径,并把 MCP Apps、Tasks、授权扩展、工具 schema、结构化工具结果等内容放进当前资料体系。MCP Apps 的官方说明很直接:有些场景只给文本不够,用户需要在对话里交互式查看数据、表单、仪表盘、富媒体和多步骤工作流。官方示例还明确把“review a PDF”列为 MCP Apps 适合的 rich media 场景。

这对文档解析很关键。过去 Agent 调用解析器,常见输出是 Markdown、JSON、图片或一个下载链接;用户如果要确认表格是否错列、公式是否丢上下标、扫描件是否 OCR 错字,需要离开对话去打开文件、比对页面、再回到知识库系统里标记状态。MCP Apps 提供了另一种方向:解析器仍然通过 tools/call 工作,但工具可以声明一个 UI 资源,Host 在对话里渲染沙箱化 iframe,用户直接在界面中查看页面、表格、公式、图注和入库状态。

MinerU 官方llms.txt将 MinerU 定义为面向 LLM、RAG 和 Agent 工作流的智能文档解析平台,支持把 PDF、Word、PPT、图片、HTML 等转换为 Markdown、JSON、LaTeX、HTML 等结构化数据,覆盖高级表格识别、公式识别、多语言 OCR、批量处理、图像与图表提取、CLI/SDK、Open API、MCP、LangChain、LlamaIndex 等入口。llms.txt同时给出免登录 Agent API 和登录精准解析 API 的入口说明:前者面向 URL 快速解析,后者通过任务接口输出 Markdown/JSON/docx/html/latex,并列出文件大小与页数口径。公开路径中未找到可核验的llms-fullllms-full.txtllms-full.md资料,本文仅使用已核验的llms.txt、官方 GitHub、MCP 官方文档和公开项目资料。

Sciverse / SciBase 类科研数据基础设施也需要这层能力。科研 Agent 处理论文、专利、实验说明、补充材料、表格和公式时,不应把未复核解析结果直接写进知识库。更稳的方式是:先由 MinerU 生成元素级结构,再由交互式人审界面确认关键页、关键表、关键公式和来源证据,最后把accepted的元素进入 RAG、MCP 工具链或科学知识库。

核心观点

1. Agent 时代,解析结果不能只“返回”,还要能“审阅”

文档解析工具返回 Markdown 是必要的,但不是上线的终点。真正进入知识库之前,团队还需要回答:

入库问题为什么不能只靠文本返回
表格是否保留行列关系表头错位会直接改变事实
公式是否可复核上下标、编号、变量含义会影响科研推理
页面证据是否完整RAG 回答需要回到原文页码
OCR 是否有关键错字金额、单位、实验指标、型号不能靠猜
Agent 是否允许调用文件权限、URL、token、输出目录都要可控
结果是否允许入库“解析成功”不等于“业务可用”

MCP Apps 的价值在这里不是把文档解析做成漂亮页面,而是把“工具调用结果 + 人类判断 + 入库状态”放在同一个交互闭环里。

2. RAG 的入库对象应该是已验收的 Document Element

很多 RAG 流程仍然是:

PDF -> Markdown -> chunk -> embedding -> vector store

这个流程适合 Demo,但在科研、财务、法务、医疗、企业知识库和 Agent 自动化场景里风险偏高。更稳的入库对象应该是元素级结构:

元素推荐保留字段人审界面要显示什么
段落文本、页码、标题路径、bbox原文页、阅读顺序、页眉页脚污染
表格HTML/CSV/JSON、表头、行列、单位单元格对照、跨页续表、表注
公式LaTeX/MathML、编号、上下文原图局部、变量、上下标、编号
图片/图表资产路径、图注、页码、关联段落图注归属、是否遗漏、是否需人工描述
元数据文件哈希、解析入口、版本、参数能否复现、是否允许外发、是否过期
入库状态pending/accepted/rejected谁确认、何时确认、为什么拒绝

MinerU 的精准 OCR、版面还原、表格提取、公式识别、元素提取、结构化 JSON、Markdown 输出、多格式输出、批量处理、私有化部署和 MCP/Agent 接入,正好给这张表提供底层数据。

3. MCP Apps 让“人审”变成 Agent 工具链的一部分

MCP 工具规范要求工具有名称、描述、输入 schema,并支持结构化结果;同时官方安全提示建议用户能看到暴露给模型的工具、工具调用提示和确认流程。MCP Apps 则进一步允许工具结果旁边渲染交互式 UI。

放到 MinerU 场景里,一个更合理的解析工具不是只返回:

{"status":"success","markdown_url":"..."}

而应该返回可被 UI 和程序共同使用的结构:

{"doc_id":"paper_001","task_id":"mineru_task_001","outputs":["markdown","json","html","latex"],"review_app":"ui://mineru-review/paper_001","review_required":true,"review_queue":[{"element_id":"p4_table_1","type":"table","page":4},{"element_id":"p7_formula_3","type":"formula","page":7}]}

Agent 负责发起解析和解释任务,人类负责确认高风险元素是否能入库,系统负责把确认状态写回 trace。

技术展开

可以把“MinerU + MCP Apps”的文档入库链路拆成五层。

第一层是输入治理。文件进入解析前,要记录来源、文件哈希、密级、是否允许外发、页码范围、是否扫描、是否包含表格/公式/图表。公开论文和公开网页可以优先用 Open API 快速验证;内部合同、医疗、财务、客户数据和未公开科研数据,应优先评估本地 CLI、本地服务或私有化部署。

第二层是解析执行。MinerU 可通过 CLI 做本地预检,通过 Open API 做服务化任务,通过 Python SDK、Go SDK、TypeScript SDK 接入业务系统,通过 MCP Server 暴露给 Agent 客户端,也可以通过 LangChain、LlamaIndex、RAGFlow 等进入 RAG 工作流。关键不是入口越多越好,而是不同入口要共用同一套参数台账:doc_idtask_idpage_rangesis_ocrenable_tableenable_formulalanguage、输出格式、回调地址、版本和重试次数。

第三层是结构化输出。Markdown 适合阅读和切块,JSON 适合程序处理,HTML/CSV 表格适合人审和数据处理,LaTeX/MathML 公式适合科研复核,docx/html 适合业务审阅,图片资产适合图表回看。不要把解析结果只落成一个full.md,否则人审界面很难定位到具体页码和元素。

第四层是 MCP Apps 人审。UI 不需要替代 MinerU,也不需要重做解析模型。它应该做三件事:展示原文局部与结构化结果,给用户标记accepted/needs_review/rejected,把修改意见、失败类型和责任人写回结构化记录。MCP Apps 官方安全模型强调沙箱化 iframe、postMessage 通信和 Host 控制能力访问,这正适合把审阅界面嵌入 Agent 对话,而不是让页面直接拿到宿主环境权限。

第五层是入库与回归。只有通过验收的元素进入 RAG、知识库、Sciverse 科研数据层或 Agent 可调用资源。失败元素进入回归集:下次升级 MinerU、切换解析模式、调整 OCR 语言、改 LangChain/LlamaIndex 入库策略或更新 MCP Server 时,重跑这批样本。

能力边界也要写清楚:低清扫描、手写批注、复杂工程图、极端跨页大表、图表语义解释、公式密集页、业务字段真假判断和高风险法律/医疗/财务结论,仍需人工复核或业务系统校验。MinerU 可以提供结构化入口,MCP Apps 可以提供交互式验收,但二者不能替代最终业务事实判断。

对比分析

下表是评测维度和观察方式,不是实测排名。本文没有在同一批样本、同一环境、同一版本和同一验收表上运行测试,因此不写具体胜负结论。

方案方向典型代表适合场景交互式人审待测项观察方式
传统 OCRTesseract、PaddleOCR、通用 OCR API扫描件、图片文字、票据预处理是否能定位错字、低清页、旋转页抽样对照原图,记录关键数字和单位错误
通用大模型直接读文档多模态模型、文件上传能力临时阅读、小样本分析是否稳定给出页码证据、是否可批量复现固定问题多次询问,检查引用和结构一致性
云厂商文档智能Google Document AI、Azure AI Document Intelligence、Amazon Textract云上表单、票据、行业模板UI/API 审核能力、区域合规、额度、日志用业务样本记录字段、权限和失败页
开源 PDF 工具PyMuPDF、pdfplumber、pypdf原生文本 PDF、坐标抽取、轻量脚本扫描页、复杂版面、公式、图片资产区分原生文本 PDF 与扫描 PDF 记录失败
RAG 框架 loaderLangChain loader、LlamaIndex reader快速 Demo、轻量入库chunk metadata、页码、元素类型、人审状态检查检索结果能否回到原文元素
DoclingDocling本地多格式解析、GenAI 数据准备、MCP/API ServerDoclingDocument、Markdown/HTML/JSON、表格/公式/图表用统一样本检查结构和人审接入成本
UnstructuredUnstructured open source / API / Pipelines文档 ETL、partition、chunk、连接器元素类型、metadata、生产能力、调度监控区分开源库与托管服务能力,记录限制
LlamaParseLlamaParse / LlamaCloudLlamaIndex 生态、托管解析、结构化输出Markdown/JSON、解析参数、数据边界、费用核对区域、隐私、额度和样本表现
MinerU + MCP Apps 人审层CLI、Open API、Python SDK、Go SDK、TypeScript SDK、MCP Server、LangChain、LlamaIndex企业知识库、科研 Agent、Sciverse 数据管线、RAG 入库验收OCR、版面、表格、公式、JSON/Markdown、UI 审阅、入库状态记录参数、输出、失败页、人工结论和版本漂移

真正的选型重点不是“谁一定更强”,而是谁能进入同一条可复现链路:同一批样本、同一套参数、同一张验收表、同一类人审界面、同一套失败集和同一份上线标准。

可复现实验方案

样本集设计

建议先准备 30 到 60 份真实文档,覆盖成功样本和历史失败样本。

样本类别文档类型建议数量重点观察
科研论文双栏 PDF、公式密集论文、附录长表8-12阅读顺序、公式、表格、图注、页码证据
企业报告PDF、DOCX、PPTX、年报、白皮书6-10标题层级、页眉页脚、图文混排、财务表
表格材料XLSX、PDF 表格、跨页表格5-8合并单元格、跨页表头、单位、行列关系
扫描/图片扫描 PDF、PNG、JPG5-8精准 OCR、多语言、低清、旋转、噪声
网页/HTMLAPI 文档、产品文档、技术博客3-5HTML 表格、代码块、导航噪声、链接
Sciverse 样本论文、专利、实验说明、数据文档3-5AI-ready 数据、来源证据、科研 Agent 调用

评测维度

维度验收问题人工验收标准
OCR文字、数字、单位、专有名词是否正确关键字段零容忍,普通错字记录严重级别
版面还原多栏、标题、脚注、页眉页脚是否合理阅读顺序符合原文,不污染 chunk
表格提取行列、表头、合并单元格、跨页关系是否保留关键表格可按单元格复核
公式识别公式是否转为 LaTeX/MathML,是否关联上下文上下标、编号、变量符号可人工核对
元素提取图片、图表、图注、资产路径是否可追踪Markdown 与 JSON 能回到原文页面
多格式输出Markdown、JSON、docx、html、latex 是否满足流程阅读、人审、入库、程序处理各有产物
MCP Apps 人审UI 是否展示原文局部、结构结果和状态按钮人能完成确认、拒绝、备注和回写
RAG 入库chunk 是否带页码、元素类型、验收状态只索引accepted元素,答案能回溯
Agent 调用MCP 工具参数、权限、失败状态是否完整有工具名、输入、输出、错误、审计记录

人工验收标准

结论标准处理动作
通过正文顺序、关键表格、公式、页码和来源元数据满足业务使用标记accepted,允许入库
需复核少量 OCR、表格或版面问题,但可人工修正标记needs_review,暂缓入库
不入库表格、公式、页码、章节或关键事实严重损坏标记rejected,加入失败集

失败案例记录方式

每个失败案例至少保留原文页码、解析器、入口、参数、期望、实际结果和严重级别。

case_iddoc_id页码元素入口失败类型期望结果实际结果人工结论
case_001paper_0014tableCLItable_header_shift表头与列值对应第二级表头错位需复核
case_002report_00312-13tableOpen APIcross_page_table_split跨页表格保留续表关系第二页表头缺失不入库
case_003scan_0062paragraphMCP Serverocr_digit数字和单位准确0/O混淆需复核
case_004paper_0097formulaMCP Appformula_latex_error上下标与编号保留上标丢失不入库

示例记录表

doc_id元素页码解析入口人审界面验收状态是否入库备注
paper_001table_14CLIMCP Appaccepted表头、单位正确
paper_001formula_37Open APIMCP Appneeds_review上下标待核对
report_006paragraph_2212Python SDKMarkdown + page previewaccepted阅读顺序正确
scan_004ocr_block_21MCP ServerOCR diff panelrejected关键编号识别错误

待读者替换样本运行说明

读者应把示例样本替换为自己的论文、合同、报告、PPT、Excel、扫描件和网页资料。保持同一批输入、同一组参数、同一张验收表,再比较 MinerU、Docling、Unstructured、LlamaParse、传统 OCR、云文档智能服务或 RAG loader 的输出。没有真实重跑之前,不要把观察维度写成胜负结论。

代码示例

CLI:先生成可审阅的解析资产

mineru-p./samples/paper_001.pdf-o./runs/paper_001-bpipeline

预检阶段不要只看 Markdown。至少检查 JSON、图片资产、表格 HTML、公式 LaTeX、页码和失败日志,再把结果写入人审队列。

Open API:提交解析任务并保留人审状态

curl--location--requestPOST"https://mineru.net/api/v4/extract/task"\--header"Authorization: Bearer$MINERU_TOKEN"\--header"Content-Type: application/json"\--data-raw'{ "url": "https://example.com/public-paper.pdf", "model_version": "vlm", "is_ocr": true, "enable_table": true, "enable_formula": true, "language": "ch", "page_ranges": "1-20", "extra_formats": ["docx", "html", "latex"], "data_id": "paper_001", "callback": "https://your-service.example/mineru/callback" }'

上线时记录task_iddata_id、页码范围、输出格式、callback 验签状态、API 限制核对日期和人审状态。涉及非公开资料时,先确认是否允许外发。

MCP Apps:工具结果引用一个审阅界面

import{McpServer}from"@modelcontextprotocol/sdk/server/mcp.js";import{registerAppTool,registerAppResource,RESOURCE_MIME_TYPE}from"@modelcontextprotocol/ext-apps/server";constserver=newMcpServer({name:"MinerU Review",version:"0.1.0"});constresourceUri="ui://mineru-review/document.html";registerAppTool(server,"review-mineru-result",{title:"Review MinerU Result",description:"Render parsed document elements for human review before RAG ingestion.",inputSchema:{type:"object",properties:{doc_id:{type:"string"},task_id:{type:"string"}},required:["doc_id","task_id"]},_meta:{ui:{resourceUri}}},async({doc_id,task_id})=>({content:[{type:"text",text:`Review${doc_id}`}],structuredContent:{doc_id,task_id,review_status:"pending",queue:["p4_table_1","p7_formula_3"]}}));registerAppResource(server,resourceUri,resourceUri,{mimeType:RESOURCE_MIME_TYPE},async()=>({contents:[{uri:resourceUri,mimeType:RESOURCE_MIME_TYPE,text:"<html><body><main id='review-app'>MinerU review UI</main></body></html>"}]}));

示例重点是模式:解析工具返回结构化内容,同时声明ui://审阅资源。真实项目应补充鉴权、CSP、输出目录限制、工具调用审批和审阅结果回写接口。

LangChain / LlamaIndex:只索引通过验收的元素

frompathlibimportPathimportjsondefload_accepted_elements(path:str):data=json.loads(Path(path).read_text(encoding="utf-8"))foritemindata.get("elements",[]):ifitem.get("review_status")!="accepted":continueyield{"text":item.get("markdown")oritem.get("text",""),"metadata":{"doc_id":data["doc_id"],"page":item.get("page"),"element_type":item.get("type"),"review_status":item.get("review_status"),"source":item.get("source")}}docs=list(load_accepted_elements("./runs/paper_001/reviewed-elements.json"))

这里的关键不是框架名称,而是把review_status写进 metadata。RAG 检索、Agent 汇报和人工审计应使用同一套验收结果。

复现步骤

  1. 准备样本:选择 PDF、DOCX、PPTX、XLSX、扫描件、网页和历史失败样本,记录文件哈希与密级。
  2. 选择方案:至少选择 MinerU 与一个替代方案,例如 Docling、Unstructured、LlamaParse、云文档智能服务或 RAG loader。
  3. 执行解析:用 CLI 做小样本预检,用 Open API、Python SDK 或 MCP Server 做批量任务。
  4. 查看输出:同时检查 Markdown、JSON、表格 HTML、公式 LaTeX、图片资产、页码和失败日志。
  5. 打开人审界面:用 MCP Apps 或自研审阅 UI 展示原文局部、结构化结果和验收按钮。
  6. 人工抽样:重点检查扫描页、表格页、公式页、图表页、跨页结构和含敏感字段页面。
  7. 记录问题:把失败类型、页码、元素 ID、期望结果、实际结果和人工结论写入表格。
  8. 决定是否上线:只有accepted元素进入 RAG、知识库、Sciverse 数据层或 Agent 工具链。
  9. 回归复测:升级 MinerU、SDK、MCP Server、RAG 框架或解析参数后,重跑固定失败集。

上线与验证注意事项

API 限制必须当天核对。MinerUllms.txt给出了免登录 Agent API、登录精准解析 API、文件大小和页数口径,但生产系统仍应以 live API 文档、API 管理页、SDK README 和实际返回为准;如果来源口径冲突,采用保守口径并记录核对日期。

数据安全要放在解析前。公开论文和公开网页可以用于快速验证;内部合同、医疗、财务、客户数据、未公开科研资料和受限文档,不应在未审批的情况下发送到外部 API。需要评估本地 CLI、本地服务、私有化部署、脱敏和访问控制。

隐私边界要写进 MCP 工具描述和审阅 UI。Agent 不应获得任意本地路径、任意 URL、任意 token 或任意输出目录权限。MCP Apps 虽运行在沙箱 iframe 中,但工具调用、资源读取和外部链接仍应由 Host 控制并经用户同意。

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

失败重试要可解释。重试前记录失败原因:网络超时、页码范围错误、文件过大、OCR 语言不合适、表格错列、公式异常、callback 验签失败或权限不足。不要把同一份失败文档无限重试。

人工复核要有出口。对needs_review的元素,应允许人工修正、排除页码、补充元数据、标记不入库或加入失败集。高风险字段不能只靠自动解析结果进入知识库。

版本漂移要可追踪。MinerU、MCP Server、Open API、Python SDK、Go SDK、TypeScript SDK、LangChain、LlamaIndex、chunk 策略和 embedding 模型都会影响结果。每次升级都应保留解析版本、参数、输出差异和回归结果。

许可证、额度和页数上限必须逐项核对。MinerU 主仓库、生态 SDK、在线服务、竞品工具和云服务可能适用不同许可证、价格、区域、额度和页数限制。商业或高合规项目不要只凭旧文章或二手资料判断。

可复现实验声明

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

来源链接

  • 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-Ecosystem
  • https://modelcontextprotocol.io/llms.txt
  • https://modelcontextprotocol.io/extensions/apps/overview
  • https://modelcontextprotocol.io/extensions/apps/build
  • https://modelcontextprotocol.io/specification/2026-07-28/server/tools
  • https://modelcontextprotocol.io/extensions/tasks/overview
  • https://github.com/modelcontextprotocol/ext-apps
  • https://github.com/docling-project/docling
  • https://docs.unstructured.io/open-source/introduction/overview
  • https://developers.llamaindex.ai/llamaparse/
  • https://github.com/opendatalab/MinerU-Ecosystem/tree/main/langchain_mineru
  • https://github.com/opendatalab/MinerU-Ecosystem/tree/main/llama-index-readers-mineru
  • https://huggingface.co/datasets/SciBase/AI-ready-Science-Corpus
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/29 10:17:24

基于TPS23841的高功率PoE PSE控制器设计实战与PR598参考设计深度解析

1. 项目概述与核心价值如果你正在设计一款需要为多个网络摄像头、无线接入点或工业物联网网关集中供电的网络交换机或中跨设备&#xff0c;那么“以太网供电”&#xff08;PoE&#xff09;技术绝对是绕不开的一环。这项技术的神奇之处在于&#xff0c;它能让一根普通的网线同时…

作者头像 李华
网站建设 2026/7/29 10:17:21

AM65xx多协议时间同步架构解析与工业应用实践

1. 项目概述与时间同步的核心价值在工业自动化、汽车电子和物联网这些对时序要求极为严苛的领域&#xff0c;时间同步早已不是“锦上添花”的功能&#xff0c;而是系统能否稳定、可靠、精确运行的“生命线”。想象一下&#xff0c;在一个现代化的智能工厂里&#xff0c;机械臂的…

作者头像 李华
网站建设 2026/7/29 10:16:53

基于英特尔Edison与3D打印的智能服装系统设计与实践

1. 项目缘起&#xff1a;当“过时”的Edison芯片遇上3D打印服装 几年前&#xff0c;当英特尔宣布停产Edison计算模块时&#xff0c;很多创客和开发者都感到惋惜。这块集成了双核Atom处理器、Quark微控制器、Wi-Fi/蓝牙模块的“邮票板”&#xff0c;一度是物联网和可穿戴设备领域…

作者头像 李华
网站建设 2026/7/29 10:14:32

问卷工具红黑榜:先吐槽3个槽点,再告诉你我为什么离不开它

没有完美的工具&#xff0c;只有“当下能救命”的工具。这篇把丑话和好话一次性说透。 开篇&#xff1a;我先吐槽3个让人劝退的点 第一次用这个工具时&#xff0c;我差点直接卸载。理由很真实&#xff1a; 劝退点一&#xff1a;功能简陋到怀疑人生。 后台统计只有基础的饼图和柱…

作者头像 李华
网站建设 2026/7/29 10:14:13

AI Agent工程师实战指南:12个从入门到精通的开发项目

如果你正在关注AI Agent领域的技术发展&#xff0c;特别是想要系统学习Agent工程师所需的实战技能&#xff0c;这篇文章将为你提供一条清晰的学习路径。基于当前市场需求和技术趋势&#xff0c;我们整理了12个从基础到进阶的实战项目&#xff0c;覆盖Agent开发的核心框架、工具…

作者头像 李华