MinerU MCP Server 部署与工作流实战:Claude Desktop / Cursor / Cline 接入指南

引言:为什么 2026 年要认真看 MCP
MCP(Model Context Protocol)是 Anthropic 于 2024 年底提出的开放协议,核心意图很简单:把"工具调用能力"从 SDK 级别的私有集成,提升到协议级别。协议级意味着任何实现了 MCP 的服务,都可以被任何实现了 MCP 的 AI 宿主调用,无需逐家适配。SDK 级集成需要为每个工具写一套调用代码和鉴权逻辑,协议级集成只需注册一次工具方法------配置即接入。
这套架构涉及三个角色:Host (宿主,如 Claude Desktop、Cursor、Cline),Client (宿主内建的 MCP 客户端,负责发现和调用工具),Server(MCP 服务器,暴露工具方法供客户端调用)。三者之间的关系是:Host 启动 Client,Client 连接 Server,Server 返回工具清单并响应调用。一次配置,任何兼容宿主的对话都能使用这些工具。
2026 年的情况是:MCP 已经从实验性功能逐步进入主流客户端的稳定支持范围。Claude Desktop 在 2025 年底已完成 MCP 原生集成,Cursor 和 Cline 在 2026 年初相继跟进。窗口期很短------谁先跑通这条链路,谁就能在自己的 Agent 工作流中抢占"文档理解"这一高频入口。MinerU 的官方 MCP Server 恰好填补了这个位置:它把文档解析能力打包成 MCP 工具,让 Agent 可以直接"看见"PDF、Word、PPT 的内容,而不需要开发者自己写一层 PDF 解析中间件。
MinerU MCP Server 在 Agent 工作流里的位置
工具能力清单
MinerU MCP Server 当前暴露两个核心工具方法(来源:[[mineru/ecosystem/mcp/README.zh-CN]]):
| 工具方法 | 功能说明 |
|---|---|
parse_documents |
将本地文件和/或远程 URL 转换为 Markdown;支持 PDF、图片(png/jpg/jpeg/jp2/webp/gif/bmp)、Doc、Docx、Ppt、PPTx;Flash 模式还支持 xlsx |
get_ocr_languages |
列出 MinerU 支持的所有 OCR 语言 |
和常见的 PDF 解析中间件不同,MinerU MCP Server 封装的是完整的文档理解管线------不仅提取文本,还保留表格结构(HTML 格式)、公式(LaTeX 格式)、版面层次关系。Agent 拿到的是结构化 Markdown,不是纯文本流。
调用链路
MinerU MCP Server 在 Agent 工作流中处于"文档理解工具服务"的位置。一次典型的调用链路如下:
MCP Client 在这里起到适配器的作用。Agent 不需要知道 MinerU API 的签名方式、鉴权格式、轮询逻辑------MC 把这一切封装成一次工具调用 parse_documents(path),Agent 只关心"把这个文件解析了"。
部署方式对比:本地 stdio vs 远程 streamable-http
MinerU MCP Server 支持两种传输模式:stdio(标准输入输出)和 streamable-http(基于 HTTP 流式传输)。两种模式的核心差异在于进程生命周期和网络可达性。
| 维度 | stdio | streamable-http |
|---|---|---|
| 启动命令 | uvx mineru-open-mcp(自动管理进程) |
mineru-open-mcp --transport streamable-http --port 8001 |
| 端口占用 | 无(父子进程管道通信) | 需指定端口(默认 8001) |
| 鉴权方式 | 环境变量 MINERU_API_TOKEN |
环境变量 + 客户端 URL 指向 |
| 宿主绑定 | 每个宿主启动一个子进程 | 多个宿主可共享同一服务实例 |
| 适用场景 | 单机开发、个人 Claude Desktop 使用 | 团队共享、Web Agent、多客户端复用 |
| 依赖要求 | 需安装 uv(Python 包管理器) |
同左 + 服务端需保持常驻 |
stdio 模式(个人开发推荐)
bash
# 确保已安装 uv (https://docs.astral.sh/uv/)
uv --version # 验证版本
# stdio 模式无需手动启动,配置到客户端 JSON 后自动拉起
# MCP 客户端 JSON 配置片段:
json
{
"mcpServers": {
"mineru": {
"command": "uvx",
"args": ["mineru-open-mcp"],
"env": {
"MINERU_API_TOKEN": "your_key_here"
}
}
}
}
不设 MINERU_API_TOKEN 时,服务器自动以 Flash 模式 运行------免费、无需注册、仅输出 Markdown。文件上限有限制,适合体验和小文件场景。需完整能力(多格式输出、大文件、批量)时在 mineru.net 申请 API Token。
streamable-http 模式(团队共享推荐)
bash
# 手动启动服务端
MINERU_API_TOKEN=your_key mineru-open-mcp --transport streamable-http --port 8001
客户端指向服务端地址(以 Claude Desktop JSON 为例):
json
{
"mcpServers": {
"mineru": {
"type": "streamableHttp",
"url": "http://127.0.0.1:8001/mcp"
}
}
}
streamable-http 模式下,MCP Server 以一个独立 HTTP 服务运行,多个客户端可以共用同一个地址。适合团队共享一台解析服务器,或者需要在 Web 界面的 Agent 中使用的场景。截至 2026-04,MinerU 官方 README 中列出的传输模式为 stdio 和 streamable-http,暂未单独标注传统 SSE 模式。
接入 Claude Desktop:最小配置
配置文件路径
Claude Desktop 的 MCP Server 注册文件是 claude_desktop_config.json,路径因系统而异:
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json - Windows :
%APPDATA%\Claude\claude_desktop_config.json
完整配置片段
json
{
"mcpServers": {
"mineru": {
"command": "uvx",
"args": ["mineru-open-mcp"],
"env": {
"MINERU_API_TOKEN": "your_mineru_api_token_here"
}
}
}
}
配置完成后需重启 Claude Desktop 。重启后,在对话输入框下方可以看到工具图标,展开后应能看到 parse_documents 和 get_ocr_languages 两个工具已注册。如果没有出现,检查两个常见问题:uv 是否在 PATH 中(which uv 验证),以及配置文件是否为合法 JSON(可用 jq 或在线工具校验)。
一次实际调用
配好后,在对话中拖入一个 PDF 文件,并在提示中写明文件完整路径:
"请解析这个 PDF 的第 3-5 页:/Users/yourname/Downloads/研报-2026Q1.pdf"
Claude 会调用 parse_documents 工具,MinerU Server 上传文件并解析,返回结构化 Markdown。Claude 可以基于返回内容做摘要、提炼表格、提取关键数据点。结果中的表格以 HTML 格式保留,公式以 LaTeX 格式保留------这两个细节在实际场景中决定了"能不能用"。
关于沙箱路径:部分 MCP 客户端(如 Claude Desktop)会把拖入的文件沙箱化到一个临时目录。请确保在提示中写明原始文件路径,或直接在提示中引用文件的实际位置,以免 MCP Server 找不到文件。
接入 Cursor 与 Cline:同协议不同宿主
MCP 协议本身是宿主无关的,但每个宿主的配置入口和稳定程度不同。
Cursor
Cursor 从 0.45.x 版本开始支持 MCP 工具注册。配置入口有两个:
- 项目级配置 :在项目根目录下创建
.cursor/mcp.json,内容格式与 Claude Desktop 的 JSON 一致:
json
{
"mcpServers": {
"mineru": {
"command": "uvx",
"args": ["mineru-open-mcp"],
"env": {
"MINERU_API_TOKEN": "your_key_here"
}
}
}
}
- 全局配置:在 Cursor Settings → Features → MCP Servers 中手动添加同一条目。
配置完成后,在 Cursor 的 Composer(Ctrl+K/Cmd+K)或 Chat 面板中,输入文档解析相关指令即可触发工具调用。已验证版本:Cursor 0.46.x。
Cline
Cline 是 VS Code 内的 MCP 客户端插件,配置入口在 VS Code 设置中:
- 打开 VS Code 设置(
Cmd+,或Ctrl+,) - 搜索
cline.mcpServers - 以 JSON 格式配置:
json
{
"mineru": {
"command": "uvx",
"args": ["mineru-open-mcp"],
"env": {
"MINERU_API_TOKEN": "your_key_here"
}
}
}
或直接在 Cline 插件的 MCP 管理界面中添加。已验证版本:Cline 3.5.x。
差异点对照
| 维度 | Claude Desktop | Cursor | Cline |
|---|---|---|---|
| 配置入口 | 全局 JSON 文件 | 项目级 .cursor/mcp.json 或 Settings |
VS Code 设置或插件 UI |
| 工具可见性 | 对话输入框下方工具列表 | Composer/Chat 中自动可用 | Cline 对话中自动可用 |
| 配置后动作 | 需重启客户端 | 无需重启,重新加载窗口即可 | 无需重启 |
| 文件沙箱 | 是(拖入文件被沙箱化) | 部分版本支持 | 部分支持 |
截至 2026-04,Claude Desktop 的 MCP 集成最成熟,配置链路经过最多用户验证。Cursor 的 MCP 工具注册功能尚在 beta 阶段,Cline 的 MCP 插件集成尚在 beta 阶段。建议以各自官方文档的最新配置为准。
三个工作流案例
以下三个案例演示 Agent + MinerU MCP 在真实文档处理任务中的工作方式。提示语和输出片段基于实际配置链路推演,部分内容做了脱敏处理。
案例一:长研报一键摘要提取(含表格)
一份 30 页的行业研报人工粗读加整理表格需要 15-20 分钟------Agent 搭配 MinerU 可以在 30-45 秒内完成粗读和结构化提取,且表格以 HTML 格式保留可直接使用。
输入:一份 30 页的行业研报 PDF(含 8 张数据表格、3 张趋势图)
Agent 侧 Prompt:
markdown
请解析 /Users/me/Downloads/2026Q1_半导体行业研报_完整版.pdf 的第 1-30 页。
然后做三件事:
1. 用 3 段话总结研报核心论点
2. 提取"市场占有率"表格中的前 5 行数据
3. 列出研报中引用的所有第三方数据来源
MinerU MCP 返回的关键片段(示意/脱敏):
yaml
## 3.1 全球半导体市场规模(2024-2026)
| 年份 | 市场规模(亿美元) | 同比增速 |
|------|-------------------|---------|
| 2024 | 5,800 | +12.3% |
| 2025 | 6,450(预估) | +11.2% |
| 2026 | 7,100(预估) | +10.1% |
表格以 HTML 格式保留,公式和脚注链接未丢失。
最终产出形态:Agent 返回一段带分节标题的摘要,包含 3 段论点、一张 Markdown 表格、一个参考来源列表。整个过程从拖入文件到输出结果约 30-45 秒(取决于文件大小和 MinerU API 队列负载)。
案例二:合同条款比对(两版本同字段差异)
合同版本比对需要逐页核对条款差异,人工对比两份 8 页的 PDF 易因篇幅过长而遗漏关键变更------Agent 可以自动定位条款变更并输出差异对照表。
输入:两份版本号的保密协议 PDF(V1.2 和 V2.0),各 8 页
Agent 侧 Prompt:
diff
请解析这两个 PDF 文件:
- /Users/me/contracts/NDA_V1.2.pdf
- /Users/me/contracts/NDA_V2.0.pdf
解析后,输出一个差异对照表,包含以下字段的 V1.2 vs V2.0 对比:
- 保密期限
- 管辖法律
- 违约赔偿上限
- 数据保护义务条款
MinerU MCP 返回的关键片段(示意/脱敏):
yaml
文件1 (NDA_V1.2.pdf):
---
第4条 保密期限
乙方应自本协议生效之日起三(3)年内对保密信息承担保密义务。
第7条 违约赔偿
乙方的违约赔偿责任上限为人民币伍拾万元整(¥500,000)。
文件2 (NDA_V2.0.pdf):
---
第4条 保密期限
乙方应自本协议生效之日起五(5)年内对保密信息承担保密义务。
第7条 违约赔偿
乙方的违约赔偿责任上限为人民币壹佰万元整(¥1,000,000)。
最终产出形态:Agent 生成一张差异对照表,变更项用高亮标记。这个场景中,MinerU 对复杂版式(包含页眉页脚、条款编号缩进)的保留程度直接决定了比对质量。
案例三:学术论文公式与参考文献抽取
学术论文中的数学公式和参考文献是信息抽取的难点------人工摘录耗时长且易出错,MinerU 的 LaTeX 保留能力让这项工作自动化成为可能。
输入:一篇 arXiv 论文预印本 PDF(10 页,计算机视觉方向,含 6 个数学公式和 22 条参考文献)
Agent 侧 Prompt:
markdown
请解析 /Users/me/papers/attention_mechanism_survey.pdf 全文。
然后:
1. 提取第 3 节中的所有数学公式(以 LaTeX 形式)
2. 列出所有参考文献的作者、标题、年份
3. 判断本文提出的方法是否在标准 benchmark 上做了对比实验
MinerU MCP 返回的关键片段(示意/脱敏):
scss
公式(第3.2节):
$$
\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V
$$
公式以 LaTeX 格式原样保留,可被 Agent 直接嵌入 Markdown 或复制到论文写作工具中使用。
参考文献:
[1] Vaswani et al., "Attention Is All You Need", NeurIPS 2017
[2] Devlin et al., "BERT: Pre-training of Deep Bidirectional Transformers", NAACL 2019
[3] Brown et al., "Language Models are Few-Shot Learners", NeurIPS 2020
...
最终产出形态:Agent 输出三段内容:LaTeX 公式块、参考文献列表(Markdown 表格格式)、实验对比分析结论。MinerU 对双栏论文版式的解析能力在这里起了作用------错误的阅读顺序会导致公式和文字错位。MinerU 的版面分析模型会先识别栏区域再确定阅读方向,而非依赖 PDF 的物理文本流顺序------这对双栏排版场景的解析质量至关重要。
生产落地的三个坑
坑一:大文件超时
MinerU MCP Server 的底层依赖 MinerU API 对单文件有 200MB/200 页的限制(精准模式,来源:MinerU SaaS API 文档)。当 Agent 尝试解析超大文件时,MCP Client 侧可能先于 API 返回结果而超时断开。
解决方案 : 在客户端侧的 MCP 配置中,为工具调用设置更长的超时参数。对于 Claude Desktop,claude_desktop_config.json 中的 timeout 字段可以控制等待时间。也可以在请求时通过 page_ranges 参数指定页码范围来拆分任务。
坑二:并发下 stdio 卡死
stdio 模式本质上是宿主与 MCP Server 之间的一对一子进程管道通信。当多个 Agent 任务并发调用 MinerU 工具时,stdio 管道排队处理请求,后一个请求必须等前一个完成才能开始。
解决方案: 切换到 streamable-http 模式。HTTP 模式下的 MCP Server 可以作为独立服务处理多个并发请求,配合 MinerU 后端的异步任务队列,可以有效隔离不同调用的等待时间。团队场景下,一台 HTTP MCP Server 实例可以服务多个宿主。
坑三:鉴权密钥在团队共享时的泄漏面
MINERU_API_TOKEN 在 stdio 模式下以环境变量方式注入 MCP Server 进程。如果团队成员共享同一份 claude_desktop_config.json 配置文件,Token 可能以明文形式暴露在代码仓库或聊天记录中。
解决方案:
- 使用环境变量注入而非硬编码:在配置文件中引用
${MINERU_API_TOKEN}或通过宿主的环境变量机制传入 - 定期轮转 Token,在 mineru.net 后台可以重新生成
- streamable-http 模式下,将 Token 配置在服务端的环境变量中,客户端无需持有 Token,只需知道服务端地址即可
结语
MCP 的本质是把"文档理解能力"从一次性的 API 集成变成一个协议级的工具入口。配置一次 MCP Server,Claude Desktop、Cursor、Cline 等宿主就获得了相同的文档解析能力------复制配置文件的成本接近于零,这是协议化带来的直接收益。
除了 MCP 这条路径,还有两条值得关注的落地方向:一是 CLI 批处理 (mineru-open-cli),适合服务端定时任务和批量文档管线;二是 RAG 集成(通过 LangChain / LlamaIndex / Dify),把解析后的结构化内容直接灌入知识库。如果你的场景需要的是"Agent 主动调文档"走 MCP,"文档批量转知识库"走 CLI 或 RAG 集成,两条线可以并行。
后续阅读推荐:
- MinerU MCP Server 官方仓库 --- 查看最新工具方法更新和 issue 讨论
- MinerU 在线 API 文档 --- 了解 Flash 模式与精准模式的文件限制差异