/ 目录 / 演练场 / pdf-reader-mcp
● 社区 SylphxAI ⚡ 即开即用

pdf-reader-mcp

作者 SylphxAI · SylphxAI/pdf-reader-mcp

一个工具 read_pdf,通过并行页面处理,从本地或远程 PDF 中提取文本、图像和元数据,速度快 5-10 倍。

pdf-reader-mcp (SylphxAI) 是一个专注的 Node.js MCP,公开单个工具来处理所有 PDF 提取任务。使用 PDF.js 配合并行页面 worker 并保留 Y 坐标布局。支持本地路径和 HTTP/HTTPS URL。94% 的测试覆盖率使其更适合生产管道。

为什么要用

核心特性

实时演示

实际使用效果

pdf-reader.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "pdf-reader",
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "pdf-reader": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "pdf-reader-mcp"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add pdf-reader -- npx -y pdf-reader-mcp

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: pdf-reader-mcp

如何用 Claude 审核合同 PDF

👤 法律运营、创始人、产品经理 ⏱ ~20 min beginner

何时使用: 你需要了解一份 50 页合同中的内容,并标记不寻常的条款。

步骤
  1. 阅读完整 PDF
    对 ./contracts/msa-acme.pdf 使用 read_pdf。提取文本和元数据。✓ 已复制
    → 完整文本 + 作者/标题/日期元数据
  2. 请求结构化摘要
    总结:各方、期限、支付条款、知识产权、终止条款、不寻常的条款。为每一项引用确切的条款文本。✓ 已复制
    → 带有引文的结构化摘要
  3. 红旗审查
    与标准 SaaS MSA 相比,哪些条款不寻常或存在风险?引用页码。✓ 已复制
    → 优先协商事项的列表

结果: 15 分钟审查而不是 2 小时 — 并带有引文。

注意事项
  • 扫描的 PDF 返回空文本 — pdf-reader 需要文本层;先运行 ocrmypdf input.pdf output.pdf

将研究 PDF 文件夹整理成摘要表

👤 分析师、研究人员 ⏱ ~15 min beginner

何时使用: 你下载了 30 份白皮书,在决定深入阅读什么之前需要快速浏览。

步骤
  1. 列出 PDF
    列出 ./papers/ 中的所有 PDF。对于每个,提取标题和摘要。✓ 已复制
    → 表格:文件名、标题、摘要
  2. 分类和排名
    将每篇论文分类为 [相关 / 相切 / 跳过]。用一行话说明'为什么'。✓ 已复制
    → 优先阅读列表

结果: 基于内容而不是文件名的阅读顺序。

搭配使用: filesystem

从发票 PDF 中提取结构化数据

👤 财务、应付账款团队 ⏱ ~20 min intermediate

何时使用: 你收到 PDF 发票,希望将其作为 CSV 或 JSON 用于你的账簿。

步骤
  1. 按发票提取
    对于 ./inbox/ 中的每个 PDF,提取:vendor、invoice_number、date、total、line_items[]。以 JSON 数组形式返回。✓ 已复制
    → 每个发票的结构化 JSON
  2. 标记异常
    突出显示任何总额 >$10k 或行项目加总不相符的发票✓ 已复制
    → 审查队列

结果: 自动应付账款分类,带有人工审查标记。

搭配使用: google-sheets

组合

与其他 MCP 搭配,撬动十倍杠杆

pdf-reader + filesystem

遍历 PDF 文件夹,并行编写摘要

对于 ./papers/ 中的每个 PDF,在同一文件夹中编写对应的 .md 摘要。✓ 已复制
pdf-reader + google-sheets

直接将发票数据导入 Sheets 账簿

从 ./inbox/*.pdf 提取发票,并为我的 'AP' sheet 中的每个发票添加一行。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
read_pdf path: str (local or URL), options?: { pages?, include_images?, include_metadata? } 任何 PDF 导入 — 单个工具处理所有操作 Local CPU only

成本与限制

运行它的成本

API 配额
无 — 本地运行
每次调用 Token 数
一份 50 页文档约 20k-100k token
费用
免费
提示
使用 pages 选项在原型设计时将提取限制在前 N 页

安全

权限、密钥、影响范围

凭据存储:
数据出站: 仅在给定 HTTP URL 时;本地路径保持本地

故障排查

常见错误与修复

从有效 PDF 得到空文本

PDF 仅包含图像。先运行 OCR:ocrmypdf in.pdf out.pdf,然后读取

验证: Check metadata; if `producer` says 'Scanner', it's imaged
大型 PDF 导致内存不足

传递 pages: [1, 50] 进行分块;按范围处理

文本乱码 / 读取顺序错误

某些 PDF 使用非标准布局。尝试禁用布局保留以获得原始流顺序

替代方案

pdf-reader-mcp 对比其他方案

替代方案何时用它替代权衡
mcp-server-pdf (simple)最少的依赖,可以接受较慢的单线程大文档上慢得多
LlamaParse API你需要 LLM 级别的复杂表单/表格布局理解付费、云服务、在混乱文档上表现更好

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills