mcpField
O
One MCP, many parsers

One MCP, many parsers

本地服务
github.com/adelaidasofia生产力04 天前更新

关于 One MCP, many parsers

parse-mcp 是文档解析 MCP 服务,可在 markitdown、Docling 和 LlamaParse 之间路由文件与 URL。它还可将解析结果保存为笔记、按检索需求分块,或交给 Claude 解读。

主要功能

  1. 01在三个后端之间路由解析
  2. 02失败或结果为空时回退
  3. 03将解析结果保存为 Vault 笔记
  4. 04用 Claude 解读解析文本
  5. 05按文档类型切分文本
  6. 06比较后端输出与耗时

适用场景

  1. 01将扫描版 PDF 转由 Docling 处理
  2. 02把文档转换为 Markdown 笔记
  3. 03为检索准备文档文本分块
  4. 04用同一输入比较不同解析器

MCP 相关

它向 MCP 客户端提供解析、转换、解读、分块和诊断工具。路由器会选择或切换可选后端,并跳过不可用的后端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbparse-mcp.mcpb0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

parse-mcp

许可证 GitHub 星标数 最近一次提交 未解决的问题 PyPI 版本 PyPI 下载量 由 Mycelium AI 构建

一个 MCP,支持多种解析器。默认使用 markitdown(免费、快速、MIT)。当 markitdown 的质量不够时,可升级为 Docling(适合表格较多的文档和扫描版 PDF)或 LlamaParse(云端、BYOK)。此外,还提供一个 interpret 工具,可将解析后的 Markdown 传给 Claude 来执行“总结/提取 X”等操作,让你不再需要在解析器和 anthropic 技能之间来回切换。

安装

打开 Claude Code,然后粘贴:

/plugin marketplace add adelaidasofia/parse-mcp
/plugin install parse-mcp@parse-mcp
旧版安装

手动安装(适用于插件市场推出之前)。完整详情请参阅 SETUP.md。

pip3 install --break-system-packages -r requirements.txt
pip3 install --break-system-packages 'markitdown[pdf,docx,pptx,xlsx]'

然后在客户端的 .mcp.json 中注册该服务:

{
  "mcpServers": {
    "parse": {
      "command": "python3",
      "args": ["/absolute/path/to/parse-mcp/server.py"]
    }
  }
}

工具

工具功能
parse(source, backend?, hints?)将文件路径或 http(s) URL 转换为 Markdown。路由器会选择后端,在结果为空或出错时进行回退。返回 Markdown,以及所有已尝试后端构成的链。
parse_url(url, backend?)处理 HTTP(S) 输入的快捷方式。返回格式与 parse 相同。
parse_to_vault(source, vault_folder?, backend?, overwrite?)解析内容,并将结果作为 Markdown 笔记写入知识库。默认文件夹:<VAULT_ROOT>/📥 Inbox/Converted/。Frontmatter 会记录 source、format、backend、latency、bytes_in。取代独立的 markitdown_to_vault.py shell 脚本。
interpret(source, instruction, backend?, model?, max_tokens?)先解析,再让 Claude 根据解析后的 Markdown 作答。命中缓存时会复用已解析文本,不消耗输入 token。
list_backends()列出已安装和缺失的后端。用于诊断。
benchmark(source)使用每个可用后端处理相同输入,并排对比延迟和输出。
chunk_text(text, doc_type?, target_tokens?, max_tokens?, min_tokens?)使用感知文档类型的分块器,将解析后的 Markdown 切分为适合检索的片段。doc_type="auto"(默认)会进行结构检测,并从 paper / book / manual / qa / resume / table / default 中选择一种类型。每种分块器都会遵循文档结构(例如,paper 会保留完整摘要;manual 不会跨编号章节合并;qa 会将每个问题与其答案配对)。返回分块结果和解析出的 doc_type。请参阅 chunkers/ 包。
detect_doc_type(text)用于诊断。对 Markdown 进行结构启发式检测,并返回 chunk_text 会选择的 doc_type。

后端(按优先级排序)

  1. markitdown(默认,MIT,基础安装)。支持 PDF、DOCX、PPTX、XLSX、HTML、CSV、JSON、XML、EPub、ZIP。快速且结果确定。
  2. docling(可选,pip install docling)。适合复杂表格(基准测试成绩为 97.9%)和扫描版 PDF。首次运行时会下载模型权重。
  3. llamaparse(可选,BYOK,需运行 pip install llama-cloud-services 并设置 LLAMA_CLOUD_API_KEY)。云端服务,对视觉结构复杂的 PDF 输出效果最佳。

路由策略

  • 不带 backend 参数调用 parse(source):路由器根据文件格式选择后端;如果后端出错或返回空结果,则回退。
  • 调用 parse(source, backend="docling"):强制使用指定后端,不回退。诊断模式。
  • 不可用的后端会被跳过(并记录在链路日志中),不会报错。

解析保真度评估

上面的路由表过去只是猜测。tests/eval/ 将其转化为数据:一个合成样例语料库(包含 16 份文档,涵盖数字 PDF、扫描版/纯图像 PDF、表格密集型、多栏布局和栅格图像类别),并附有推导得出的基准 Markdown;通过三项 OmniDocBench / PubTabNet 指标,将每个后端的输出与其进行评分——文本编辑距离、表格 TEDS(树编辑距离相似度)和阅读顺序。所有分数表示质量,范围为 [0, 1],越高越好。

主要结果(完整表格:tests/eval/parse_fidelity_matrix.md):

文档类别markitdown(文本)docling(文本)
digital_pdf0.950.97
table_heavy0.930.89
scanned_pdf0.000.87
image0.000.90
multicolumn0.351.00

markitdown 擅长处理干净的数字文本和数字表格(免费、快速、结果确定),但不具备 OCR——在扫描版 PDF 和图像上的得分为零——而且会打乱多栏布局。docling 凭借 OCR 和布局分析,在所有类别中都表现更好,但需要下载模型权重。这就是格式优先链的依据(图像/扫描件/多栏文档优先升级到 docling)。

运行:

pip install docling                      # the escalation backend under test
python tests/eval/generate_fixtures.py   # rebuild the corpus (needs fpdf2 + Pillow)
make eval                                # -> parse_fidelity_matrix.{md,json}

该矩阵会记录其来源信息(后端 + Python 版本 + 样例集哈希),因此可以发现过时结果——每当升级或重新调整解析后端时,使用 make eval 重新生成。矩阵还会报告各后端的延迟中位数(成本维度):保真度最高的后端(docling)比默认后端慢得多,因此路由器会升级到它,而不是默认使用它。

评分器的指标测试仅使用纯 Python,不依赖后端,因此 CI 中的 pytest tests/ 只需安装基础版本(markitdown)即可运行。如果路由回归导致“markitdown 不具备 OCR”这一假设被破坏,构建就会失败。

架构

FastMCP v3.2.3+,stdio 传输,Python 3.13+。在 [VAULT_ROOT]/.mcp.json 中注册。默认不运行守护进程、不启动监听器,也不下载模型权重。

安装和各后端的选择性启用方式请参阅 SETUP.md。

相关 MCP

同一作者,采用相同的架构模式(FastMCP、写入操作采用草稿 + 确认、适用时自动导出到知识库):

遥测

此插件会在某台设备上的 Claude Code 会话中首次加载时,向 myceliumai.co 发送一次匿名安装信号。

发送内容:

  • 插件名称(例如 slack-mcp)
  • 插件版本(例如 0.1.0)

不会发送的内容:

  • 不发送用户标识符、姓名、电子邮件、令牌或 API 密钥
  • 不发送文件路径、消息内容或任何工作相关内容
  • 去重处理后不保存 IP 地址

原因: 帮助维护者了解大家实际安装了哪些插件,以便将精力投入到有人使用的插件上。

选择退出: 启动 Claude Code 前设置环境变量 MYCELIUM_NO_PING=1。此钩子将完全跳过网络调用。已发送过信号的安装会在 ~/.mycelium/onboarded-<plugin> 留下一个标记文件——如果要重置状态,请将其删除。

许可证

MIT。请参阅 LICENSE。


完整安装或团队版本请访问 diazroa.com。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。