内容
PDF 工具适用于克劳德桌面版和本地 MCP 主机
适用于克劳德桌面版和 MCP 主机的本地 PDF 工作流程:填充、签名、合并、拆分、提取、渲染和分析 PDF,支持本地文件操作。
与仅仅打开 PDFPDF 工具允许克劳 PDF URL 到您的机器上,视觉检查文档,填充表单,保存可重复使用的配置文件,添加签名/日期区域,合并和拆分文件,视觉重新组织页面,提取结构化数据,并将文档内容返回给您选择的 MCP 主机进行分析。
该软件包目前针对克劳德桌面版和其他本地 MCP 主机。它暂不包括用于克劳德合作伙伴 / 网络托管克劳德的远程连接器。
## 安装
### 克劳德桌面版
1. **[从 Releases 下载最新的 `.mcpb` 文件](https://github.com/Open-Document-Alliance/PDF-Tools/releases/latest)**
2. 双击 `.mcpb` 文件以在克劳德桌面版中安装它
该扩展程序也可在克劳德扩展程序目录中找到。
克劳德桌面版设置中包含一个 **允许的 PDF 目录** 字段。默认情况下,PDF 工具可以访问 `~/Documents`、`~/Downloads` 和 `~/Desktop`。在询问克劳德读取、填充、签名、合并或在那里保存 PDF 之前,请添加您希望克劳德使用的其他文件夹。保存的配置文件和签名存储在扩展程序的私有本地存储中,不需要手动添加。
### 光标 / 其他 MCP 主机
```json
{
"mcpServers": {
"pdf-tools": {
"command": "node",
"args": ["/full/path/to/PDF-Tools/server/index.js"]
}
}
}
```
## 为什么与众不同
克劳德已经知道如何以有限的方式读取 PDF。PDF 工具的功能远远超出了这些:
- **交互式查看器:** 页面导航、缩放、搜索、全屏、文本选择和表单字段侧边栏
- **表单工作流程:** `fill_pdf`、`read_pdf_fields`、`bulk_fill_from_csv` 和可重复使用的配置文件
- **签名模式:** 签名/日期区域检测、保存或绘制本地签名、文本盖章、区域检查和预览到区域流程
- **URL 到 PDF 工作流程:** 当沙盒网络获取被阻止时,从 HTTP(S) PDF 链接获取到本地机器
- **页面组织:** 合并、拆分、旋转、重新排序和应用完整页面计划,一次完成
- **提取和分析:** 页面边界读取、文本搜索、页面/区域渲染、CSV 导出、页面级分析和元数据验证
- **本地文件操作:** PDF 工具在您的机器上读取、渲染、编辑和保存文件,而不是将它们上传到单独的 PDF 服务
- **目录沙盒:** 克劳德桌面版用户可以选择 PDF 工具可以读取或写入哪些本地文件夹
PDF 工具返回的文本、图像和元数据可以由克劳德或其他 MCP 主机处理。您主机和模型提供商的数据条款适用于该内容,因此整个工作流程不一定是零出口。
## 您可以使用
### 交互式 PDF 查看器
- 查看具有页面导航、缩放、搜索和全屏的 PDF
- 直接从页面中选择和
- 在侧边栏中查看具有填充状态的表单字段
- 使用视觉页面排序、旋转和删除页面,然后副本
### URL 到 PDF 工作流程
- 从 URL 下载 PDF 到您的本地机器
- 立查看器中打开下载的 PDF,以便填充、签名、页面管理、提取或分析
- 在克劳德的正常网络/代理获取路径无法检索 PDF 的情况下使用本地 MCP 主机
- 将下载的 PDF 保存在用户批准的本地目录中
### 表单和可重复使用的配置文件
- 填写 W-9、1099、租赁申请、豁免和任何可填充的 PDF
- 将个人或企业详细信息保存为可重复使用的配置文件
- 列出、加载和应用已保存的配置文件,以便重复的表单只需几秒钟即可完成,而不是几- 从 CSV 数据批量填充多个 PDF,并在提交前验证必填字段
### 签名模式和本地签名
- 使用模型可读坐标检测可能的签名、初始、打印名称和日期区域
- 切换到查看器的签名选项卡,以在检测到的区域放置签名、日期或文本
- 绘制或重用已保存的本地签名
- 检查区域,预览它,然后在自动检测不够用时将其转换为打字签名区域
- 保留签名编辑本地,具有主动文档跟踪和同文件突变的备份行为
### 页面组织工具
- 将多个 PDF 合并为一个文档
- 按确切的页面范围或固定间隔拆分 PDF
- 旋转和重新排序页面
- 应用完整的页面计划,一次完成页面的重新排序、删除,同时保留原件
### 提取和分析
- 读取现有的 PDF 文本层以进行总结、回答问题和研究工作流程
- 提取结构化数据到 CSV
- 检查页面级详细信息,如方向、文本存在、图像和可能的空白页
- 审查元数据,如页数、尺寸、表单字段和文件大小
PDF 工具目前不包含 OCR 引擎。文本读取使用 PDF.js 文本选定的 `read_pdf_content` 结果不包含文本,工具可能会返回第 1 页的渲染图像以供视觉能力的主机/模型检查。页面和区域渲染生成栅格图像,而不是识别文本。因此,混合文本/栅格 PDF 或第 1 页后的栅格页面可能包含广泛的文本读取无法识别的内容。 可选的本地 OCR 仍然是一个计划中的改进,而不是一个已发布的特性。
## 非常适合
- 审查论文和报告的研究人员
- 处理表单和后台 PDF 的操作员
- 组织合同和比较版本的律师
- 处理税务文件的会计师
- 任何希望在克劳德中进行本地 PDF 文件操作单独的 PDF 上传服务的人
## 示例提示
### 查看和检查
- "打开我的 W-9 并给我展示字段"
- "在我的文档文件夹中显示合同 PDF"
- "在报告中搜索每次提及赔偿的地方"
- "下载此 PDF URL 到本地,打开它,并告诉我需要填写什么"
### 填写表单
- "用我的商业信息填写此 W-9:Company Name LLC,123 Main St,税务编号 12-3456789"
- "使用我的工作资料填写此申请"
-此数据保存为名为 advisor-office 的可重复使用配置文件"
### 签名和日期
- "查找此 PDF 中需要签名或日期的所有位置"
- "打开签名模式,以便我可以绘制和放置我的签名"
- "在此已完成的表单中添加签名和日期框"
- "检查第 5 页的签名块并在那里创建一个自定义"
### 组织页面
- "将这三个合同合并为一个 PDF"
- "每 10 页拆分此报告"
- "将第 3 页旋转 90 度"
- "打开管理页面,以便我可以视觉化地重新排序和删除页面"
### 分析和提取
- "总结这篇研究论文"
- "从此发票用的文本,并告诉我哪些页面需要视觉- "渲染此扫描发票的第 1 页,以便检查"
- "仅渲染第 3 页块,以便您视觉检查"
- "阅读合同的第 8 到 10 页"
- "在 PDF 中搜索每次提及管辖法律的地方"
- "将此 PDF 的第 1 到 6 页转换为 Markdown,并告诉我任何覆盖范围的差距"
- "将这些 PDF 中的所有填充字段导出到 CSV 文件中"
- "分析此 PDF 以查找空白页和横向页面"
## 核心工具
### 查看器和阅读
- `display_pdf`
- `fetch_pdf_from_url`
- `list_pdfs`
- `read_pdf_content`
- `read_pdf_pages`
- `read_pdf_layout`
- `convert_pdf_to_markdown`
- `render_pdf_page`
- `render_pdf_region`
- `search_pdf_text`
- `get_uri`
### 表单和配置文件
- `read_pdf_fields`
- `fill_pdf`
- `bulk_fill`
- `save_profile`
- `load_profile`
- `list_profiles`
- `fill_with_profile`
- `validate_pdf`
### 签名
- `detectones`
- `add`
- `prepare_packet`
- `create- `list_signatures`
- `load_signature`
- `apply_signature`
- ``
### 组织和页面管理
- `merge_pdfs`
- `split_pdf`
- `rotate_pdf_pages`
- `reorder_pdf_pages`
- `apply_page_plan`
### 提取和分析
- `extract_to_csv`
- `get_pdf_identity`
- `get_pdf_info`
- `get_page_analysis 活动文档和程序
-_active_document`
- `set_active_document`
- `_resource_uri`
- `read_pdf_bytes`
- `reveal_in_finder`
## 从源代码构建
```bash
git clone https://github.com/Open-Document-Alliance/PDF-Tools
cd PDF-Tools
npm ci
npm run build:mcpb
```
## 开发
<summary>开发者详细信息</summary>
结构
```text
PDF-Tools/
├── server/index.js # MCP 服务器入口点
├── server/helpers.js 共享帮助
├── ui/ # 交互式查看器源代码(TypeScript)
├── dist-ui/ # 构建的查看器(单文件 HTML)
├── test/ # 单元测试(Vitest)
├── manifest.json # 扩展程序元数据
├── manifest.mcpb.json # MCPB 打包
├── package-for-friend.js # 共享包打包脚本
└── docs/ # 维护者和
```
### 常用命令
```bash
npmnpm run dev:ui
npm run smoke:uinpm run smoke:ui-sign
npm run smoke:pect
npm run smoke-preview-zone
npm run smoke:ui-draw
npm run smoke:mcpb -- pdf-toolkit-mcp.mcpb
npm run build:ui
npm run build:mcpb
npm test
node server/index.js
node package-for-friend.js
```
###模式
` dev:ui` 使用 ext-apps 主机真实的本地 MCP启动 Vite 查看器,位于 `/__dev__/tool面。
- 默认 URL:`http://127.0.1:5173/?pdf_path=example.pdf`
- 您?pdf_path=/absolute/file.pdf` 指向另一个文件
- 开发桥服务;`npm run build:ui` 仍然为打包生成生产单文件查看器
- `npm:ui-dev` 启动开发服务器在临时端口上 HTML 加载,并通过 `/__dev__/tool` 循环进行真正的 `display_pdf` 工具调用
- `npm run smoke:ui-sign` 启动开发服务器,打开一个真实的浏览器会话与 `agent-browser`,切换到签名模式,并验证签名面板交互打开签名模态
- `npm run smoke:ui-inspect` 启动开发服务器,真实的浏览器会话与 `agent-browser`,切换到签名模式,启用区域检查,拖动一个矩形,并验证区域预览模态打开
- `npm run smoke:ui-preview-zone` 启动开发服务器,打开一个真实的浏览器会话,驱动区域检查,从预览模态,并验证签名模态在新自定义区域上- `npm run smoke:ui-draw` 启动开发服务器,在真实的浏览器会话中打开绘图签名,绘制一个小笔画,填写保存字段,并验证模态在保存后关闭
### 维护者文档
- `docs/MAINTAINERS.md`架构和操作
docs/RELEASE.md 发布检查清单
- `docs/SUPPORT.md` — 问题排查
</details>
## 上游依赖
- MCP 规范:https://github.com/modelcontextprotocol
- MCPB CLI:https://github.comprotocol/mcpb
- MCP 应用:https://github.com/modelcontextprotocol/ext-apps
- SDK:modelcontextprotocol/sdk`
## 许可证
MIT