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

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 工作流中处于"文档理解工具服务"的位置。一次典型的调用链路如下:

sequenceDiagram participant Agent as AI Agent (Host) participant MC as MCP Client (内置) participant MS as MinerU MCP Server participant BE as MinerU 后端 API Agent->>MC: 用户触发文档解析需求 MC->>MC: 查询已注册工具列表 MC->>MS: 调用 parse_documents(文件路径/URL) MS->>BE: 上传文件至 MinerU API BE->>BE: 异步解析(pipeline/vlm 模型) BE-->>MS: 返回 Markdown 结果 + 下载链接 MS-->>MC: 返回结构化文本与文件元数据 MC-->>Agent: 将内容注入对话上下文 Agent->>Agent: 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 中列出的传输模式为 stdiostreamable-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_documentsget_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 工具注册。配置入口有两个:

  1. 项目级配置 :在项目根目录下创建 .cursor/mcp.json,内容格式与 Claude Desktop 的 JSON 一致:
json 复制代码
{
  "mcpServers": {
    "mineru": {
      "command": "uvx",
      "args": ["mineru-open-mcp"],
      "env": {
        "MINERU_API_TOKEN": "your_key_here"
      }
    }
  }
}
  1. 全局配置:在 Cursor Settings → Features → MCP Servers 中手动添加同一条目。

配置完成后,在 Cursor 的 Composer(Ctrl+K/Cmd+K)或 Chat 面板中,输入文档解析相关指令即可触发工具调用。已验证版本:Cursor 0.46.x。

Cline

Cline 是 VS Code 内的 MCP 客户端插件,配置入口在 VS Code 设置中:

  1. 打开 VS Code 设置(Cmd+,Ctrl+,
  2. 搜索 cline.mcpServers
  3. 以 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 集成,两条线可以并行。

后续阅读推荐:

相关推荐
厨师沙拉qwq2 小时前
minimax文生图mcp
claude·mcp
时空系3 小时前
第6篇:多维数据盒——管理大量数据 python中文编程
开发语言·python·ai编程
TestCopilot3 小时前
从零用 Python 实现最基础的MCP协议
python·mcp
米小虾3 小时前
从"玩具"到"生产力":AI Agent 架构设计的 5 个关键决策
langchain·aigc·ai编程
LATASA4 小时前
【实战分享:用 Agent Skills + SDD 精准掌控后端开发流】
ai编程·ai-native
小碗细面5 小时前
Claude 桌面端如何配置第三方模型?完整教程来了
ai编程·claude
Awu12275 小时前
🍎Claude.md 是啥?让你的 AI 助手乖乖听你的话
人工智能·ai编程·claude
流年似水~5 小时前
Docker/Kubernetes 实战:从入门到生产级部署
人工智能·程序人生·docker·语言模型·ai编程