pdfeverything
Enables AI agents to perform 13 PDF operations (merge, split, compress, watermark, encrypt, and more) on local files via MCP.
README
<h1 align="center"> <img src="resources/app_icon_readme.png" width="64" align="center" /> PDFeverything </h1>
<p align="center"> <b>🪄 The PDF Swiss Army Knife</b><br> <sub>Throw in PDFs, Word docs, PowerPoints, Excel sheets, images, text files —<br>get one clean PDF out the other end. No fuss.</sub> </p>
<p align="center"> <a href="https://github.com/Lezheng2333/PDFeverything/releases"><img src="https://img.shields.io/badge/platform-macOS%20%7C%20Windows-blue?style=flat-square" /></a> <a href="https://github.com/Lezheng2333/PDFeverything/releases/latest"><img src="https://img.shields.io/badge/version-v1.3.9-007aff?style=flat-square" /></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" /></a> </p>
✨ Why PDFeverything?
You've been there: a Word report here, a PDF scan there, some photos of the whiteboard, an Excel chart… and now someone wants "one combined PDF please, by 5pm". 😤
PDFeverything is built for exactly this moment.
Drag everything in — any combination of PDFs, Word documents, PowerPoint decks, Excel spreadsheets, PNGs, JPEGs, text files — and it merges them into one unified PDF, in the order you decide, with progress you can watch.
| Platform | Download |
|---|---|
| 🍎 macOS (Apple Silicon) | PDFeverything_macOS.zip |
| 🪟 Windows 10/11 (64-bit) | PDFeverything.exe |
🆕 What's New in v1.3.9
- 🌐 English UI — toggle between Chinese and English in Settings > Language
- 🪟 Windows Office COM — native Word/PPT/Excel conversion on Windows (no fallback renderer needed!)
- 🤖 AI Agent CLI mode —
PDFeverything.exe merge -i a.pdf b.pdf -o out.pdffrom any terminal
🎯 The Killer Feature: Mixed-File Merge
📄 report.docx (2 pages)
📊 chart.xlsx (1 page)
🖼️ photo.jpg (1 page)
📄 appendix.pdf (5 pages)
🪄 one click 🪄
↓
┌─────────────────────┐
│ unified.pdf │
│ 9 pages, in order │
└─────────────────────┘
Every file goes through its own converter (AppleScript → Office on macOS, or pure-Python fallback), then everything gets stitched together. If one file fails, the rest still go through — you get a summary of what worked and what didn't.
🔧 Everything It Can Do
| Operation | What it does |
|---|---|
| 🔀 Mixed Merge | PDF + Word + PPT + Excel + images + text → one PDF |
| 🔗 PDF Merge | Combine multiple PDFs in any order |
| ✂️ PDF Split | Split by page, by chunks of N pages, or by custom ranges |
| 🖼️ Images → PDF | Turn a batch of images into a single PDF |
| 📝 Word → PDF | Convert .docx / .doc files to PDF |
| 📊 PPT / Excel → PDF | Convert .pptx and .xlsx files |
| 📝 PDF → Word | Convert PDF to editable .docx |
| 📊 PDF → PowerPoint | Convert PDF pages to .pptx slides |
| 📈 PDF → Excel | Extract PDF tables to .xlsx |
| 📄 PDF → Images | Export each PDF page as a PNG |
| 📤 Extract Text | Pull out all text from a PDF |
| 🖼️ Extract Images | Rip embedded images from a PDF |
| 🗜️ Compress | Shrink PDF file size (lossless / medium / aggressive) |
| 💧 Watermark | Stamp a text or PDF overlay on every page |
| 🔒 Encrypt | Set an open-password on a PDF |
| 🔓 Decrypt | Remove password protection |
| 🔄 Rotate | Rotate pages 90° / 180° / 270° |
| ℹ️ Info | Inspect page count, metadata, encryption status |
📥 Supported Inputs
| Category | Extensions |
|---|---|
.pdf |
|
| 🖼️ Images | .png .jpg .jpeg .gif .bmp .tiff .webp |
| 📝 Word | .docx .doc .rtf |
| 📊 PowerPoint | .pptx .ppt |
| 📈 Excel | .xlsx .xls .csv |
| 📃 Text & Code | .txt .md .json .xml .html .py .yml … |
🖥️ The GUI
┌──────────────────────────────────────────────┐
│ 📄 doc.pdf [🔼] [🔽] [✖] │
│ 📊 data.xlsx [🔼] [🔽] [✖] │
│ 🖼️ photo.jpg [🔼] [🔽] [✖] │
│ 📝 report.docx [🔼] [🔽] [✖] │
│ │
│ ── drag & drop files here ── │
│ │
│ [🔀 Merge All →] [✂️ Split...] │
│ [🗜️ Compress...] [💧 Watermark...] │
│ [🔒 Encrypt...] [🔄 Rotate...] │
│ │
│ ████████████░░░░░░ 78% │
│ Converting: report.docx (3/5)... │
└──────────────────────────────────────────────┘
- 🖱️ Drag & drop files from Finder / Explorer
- 🔄 Reorder with arrow buttons or by dragging inside the list
- ⚡ Multi-threaded — never freezes, always shows progress
- 🧠 Smart buttons — the UI adapts to what's in your file list
- 🌐 Bilingual UI — switch between Chinese and English (Settings > Language)
🤖 AI Agent Integration (MCP Server)
PDFeverything comes with a built-in Model Context Protocol (MCP) server. Any AI agent (Claude Desktop, Claude Code, Cursor, etc.) can discover all 16 PDF tools and call them directly — no Python, no install, just the app file.
How it works
The same .exe / .app binary supports three modes:
| Mode | macOS | Windows |
|---|---|---|
| 🖥️ GUI | double-click .app |
double-click .exe |
| ⌨️ CLI | /path/to/PDFeverything.app/Contents/MacOS/PDFeverything merge -i a.pdf -o out.pdf |
PDFeverything.exe merge -i a.pdf b.pdf -o out.pdf |
| 🔌 MCP | /path/to/PDFeverything.app/Contents/MacOS/PDFeverything --mcp |
PDFeverything.exe --mcp |
Setup — Claude Desktop
Add to ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"pdfeverything": {
"command": "/Applications/PDFeverything.app/Contents/MacOS/PDFeverything",
"args": ["--mcp"]
}
}
}
Windows:
{
"mcpServers": {
"pdfeverything": {
"command": "C:\\Program Files\\PDFeverything\\PDFeverything.exe",
"args": ["--mcp"]
}
}
}
Setup — Claude Code
Add to .claude/settings.json in your project:
{
"mcpServers": {
"pdfeverything": {
"type": "stdio",
"command": "/Applications/PDFeverything.app/Contents/MacOS/PDFeverything",
"args": ["--mcp"]
}
}
}
What the AI sees (16 tools)
Once connected, the agent automatically discovers these tools — no manual instruction needed:
| Tool | Description |
|---|---|
pdf_merge |
Merge multiple PDFs into one |
pdf_split |
Split PDF by pages or ranges |
pdf_info |
Get metadata (pages, size, author, etc.) |
pdf_extract_text |
Extract all text from PDF |
pdf_extract_images |
Extract embedded images |
pdf_to_images |
Convert PDF pages to PNG |
images_to_pdf |
Images → single PDF |
pdf_to_word |
Convert PDF to Word (.docx) |
pdf_to_ppt |
Convert PDF to PowerPoint (.pptx) |
pdf_to_excel |
Extract PDF tables to Excel (.xlsx) |
pdf_compress |
Reduce PDF file size |
pdf_watermark |
Add text watermark |
pdf_encrypt |
Set open password |
pdf_decrypt |
Remove password |
pdf_rotate |
Rotate pages 90/180/270° |
pdf_mixed_merge |
🔥 Mixed files → unified PDF |
Direct CLI mode (no MCP needed)
AI agents can also call the binary directly:
# macOS
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything merge -i a.pdf b.pdf -o out.pdf
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything info -i doc.pdf
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything -h
# Windows
PDFeverything.exe merge -i a.pdf b.pdf -o out.pdf
PDFeverything.exe info -i doc.pdf
PDFeverything.exe -h
💡 The
.appand.exeare the SAME single binary. Give it CLI args → headless mode. Give it--mcp→ MCP server. No args → GUI. One file, three personalities.
🚀 Quick Start (for Developers)
# 1. Install dependencies
pip install PyQt6 PyMuPDF pypdf pikepdf pillow python-docx python-pptx openpyxl
# 2. Launch GUI
python main.py
# 3. Or use the CLI
python pdf_tool.py merge -i a.pdf b.pdf -o merged.pdf
python pdf_tool.py info -i document.pdf
# 4. Or start the MCP server
python mcp/server.py
Build from Source
Windows (one-file portable exe):
pyinstaller build_windows.spec --noconfirm --clean
# → dist/PDFeverything.exe
macOS (app bundle):
pyinstaller PDFeverything.spec --noconfirm --clean
# → dist/PDFeverything.app
🧱 Tech Stack
| Layer | Tech |
|---|---|
| 🖼️ GUI | PyQt6 — native look on both macOS & Windows |
| 🧠 PDF Engine | PyMuPDF + pypdf + pikepdf |
| 📝 Office Converters | AppleScript (macOS) / COM (Windows) / python-docx + python-pptx + openpyxl (fallback) |
| 📦 Packaging | PyInstaller (onefile on Windows, app bundle on macOS) |
📄 License
MIT — do whatever you want with it. LICENSE
<h2 align="center">🇨🇳 中文介绍</h2>
<p align="center"> <b>🪄 PDF 万能工具箱</b><br> <sub>把 PDF、Word、PPT、Excel、图片、文本文件统统丢进来 ——<br>一键合成一个整整齐齐的 PDF。就这么简单。</sub> </p>
🎯 核心功能:混合文件合并
📄 报告.docx (2 页)
📊 图表.xlsx (1 页)
🖼️ 照片.jpg (1 页)
📄 附录.pdf (5 页)
🪄 一键合并 🪄
↓
┌─────────────────────┐
│ 统一输出.pdf │
│ 9 页,顺序不变 │
└─────────────────────┘
把不同类型的文件拖进来,每个文件经过专用转换器处理,然后按顺序合并。某个文件转换失败了也不影响其他的——最后会给你一份汇总报告。
🔧 全部功能
| 操作 | 说明 |
|---|---|
| 🔀 混合合并 | PDF + Word + PPT + Excel + 图片 + 文本 → 一个 PDF |
| 🔗 PDF 合并 | 多个 PDF 按任意顺序合并 |
| ✂️ PDF 拆分 | 按页码、每 N 页或自定义范围拆分 |
| 🖼️ 图片 → PDF | 多张图片一键合成为 PDF |
| 📝 Word → PDF | 转换 .docx / .doc 文件 |
| 📊 PPT / Excel → PDF | 转换 .pptx / .xlsx 文件 |
| 📝 PDF → Word | 将 PDF 转换为可编辑的 .docx |
| 📊 PDF → PowerPoint | PDF 每页转为 .pptx 幻灯片 |
| 📈 PDF → Excel | 提取 PDF 表格为 .xlsx |
| 📄 PDF → 图片 | 每页导出为 PNG |
| 📤 提取文字 | 提取 PDF 中所有文字 |
| 🖼️ 提取图片 | 提取 PDF 中嵌入的图片 |
| 🗜️ 压缩 | 缩小 PDF 文件体积 |
| 💧 水印 | 添加文字或 PDF 叠加水印 |
| 🔒 加密 / 解密 | 设置或移除 PDF 打开密码 |
| 🔄 旋转 | 旋转页面 90° / 180° / 270° |
| ℹ️ 信息 | 查看页数、元数据、加密状态 |
🆕 v1.3.9 新功能
- 🌐 英文界面 — 设置 → 语言 切换中英文
- 🪟 Windows Office 集成 — 调用本机 Word/PPT/Excel 高保真转换
- 🤖 AI 调用的命令行模式 —
PDFeverything.exe merge -i a.pdf b.pdf -o out.pdf
🖥️ 界面预览
┌──────────────────────────────────────────────┐
│ 📄 doc.pdf [🔼] [🔽] [✖] │
│ 📊 data.xlsx [🔼] [🔽] [✖] │
│ 🖼️ photo.jpg [🔼] [🔽] [✖] │
│ 📝 report.docx [🔼] [🔽] [✖] │
│ │
│ ── 拖放文件到此处 ── │
│ │
│ [🔀 合并为统一 PDF] [✂️ 拆分...] │
│ [🗜️ 压缩...] [💧 水印...] │
│ [🔒 加密...] [🔄 旋转...] │
│ │
│ ████████████░░░░░░ 78% │
│ 转换中: 报告.docx (3/5)... │
└──────────────────────────────────────────────┘
- 🖱️ 从资源管理器/Finder 拖放文件
- 🔄 用按钮或拖动调整顺序
- ⚡ 多线程处理 — 界面永不卡顿,实时进度条
- 🧠 智能按钮 — 根据文件列表内容自动变化
🤖 AI Agent 集成(MCP 服务器)
PDFeverything 内置了 Model Context Protocol (MCP) 服务器。任何 AI Agent(Claude Desktop、Claude Code、Cursor 等)都能自动发现全部 16 个 PDF 工具并直接调用——无需安装 Python、无需额外依赖,只要有这个 app 文件就行。
同一个文件,三种模式
| 模式 | macOS | Windows |
|---|---|---|
| 🖥️ GUI | 双击 .app |
双击 .exe |
| ⌨️ 命令行 | /Applications/PDFeverything.app/Contents/MacOS/PDFeverything merge -i a.pdf -o out.pdf |
PDFeverything.exe merge -i a.pdf b.pdf -o out.pdf |
| 🔌 MCP | /Applications/PDFeverything.app/Contents/MacOS/PDFeverything --mcp |
PDFeverything.exe --mcp |
配置 Claude Desktop
在 ~/.claude/claude_desktop_config.json 中添加:
{
"mcpServers": {
"pdfeverything": {
"command": "/Applications/PDFeverything.app/Contents/MacOS/PDFeverything",
"args": ["--mcp"]
}
}
}
Windows:
{
"mcpServers": {
"pdfeverything": {
"command": "C:\\Program Files\\PDFeverything\\PDFeverything.exe",
"args": ["--mcp"]
}
}
}
配置 Claude Code
在项目下的 .claude/settings.json 中添加:
{
"mcpServers": {
"pdfeverything": {
"type": "stdio",
"command": "/Applications/PDFeverything.app/Contents/MacOS/PDFeverything",
"args": ["--mcp"]
}
}
}
AI 能看到的 16 个工具
连接后 Agent 会自动发现这些工具——无需手动教它:
| 工具 | 说明 |
|---|---|
pdf_merge |
合并多个 PDF |
pdf_split |
按页或范围拆分 |
pdf_info |
查看元数据(页数、大小、作者等) |
pdf_extract_text |
提取全部文字 |
pdf_extract_images |
提取嵌入的图片 |
pdf_to_images |
PDF 每页 → PNG |
images_to_pdf |
多张图片 → 一个 PDF |
pdf_to_word |
PDF 转 Word (.docx) |
pdf_to_ppt |
PDF 转 PowerPoint (.pptx) |
pdf_to_excel |
提取 PDF 表格为 Excel (.xlsx) |
pdf_compress |
压缩 PDF 体积 |
pdf_watermark |
添加文字水印 |
pdf_encrypt |
设置打开密码 |
pdf_decrypt |
移除密码 |
pdf_rotate |
旋转页面 90/180/270° |
pdf_mixed_merge |
🔥 混合文件 → 统一 PDF |
直接 CLI 调用(无需 MCP)
AI Agent 也可以直接调用二进制:
# macOS
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything merge -i a.pdf b.pdf -o out.pdf
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything info -i doc.pdf
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything -h
# Windows
PDFeverything.exe merge -i a.pdf b.pdf -o out.pdf
PDFeverything.exe info -i doc.pdf
PDFeverything.exe -h
💡
.app和.exe就是同一个二进制文件。 给参数 → 命令行模式。给--mcp→ MCP 服务器。不给参数 → GUI。一个文件,三种用法。
🚀 开发者快速开始
pip install PyQt6 PyMuPDF pypdf pikepdf pillow python-docx python-pptx openpyxl
python main.py # 启动 GUI
python pdf_tool.py info -i document.pdf # CLI 模式
📦 从源码构建
Windows(单文件便携版):
pip install pywin32 # Windows Office COM 支持
pyinstaller build_windows.spec --noconfirm --clean
# → dist/PDFeverything.exe
macOS(App Bundle):
pyinstaller PDFeverything.spec --noconfirm --clean
# → dist/PDFeverything.app
🧱 技术栈
| 层 | 技术 |
|---|---|
| 🖼️ 界面 | PyQt6 — macOS / Windows 原生体验 |
| 🧠 PDF 引擎 | PyMuPDF + pypdf + pikepdf |
| 📝 Office 转换 | AppleScript (macOS) / COM (Windows) / python-docx + python-pptx + openpyxl (备选) |
| 🔌 AI 集成 | MCP (Model Context Protocol) — 16 个工具自动发现 |
| 📦 打包 | PyInstaller (Windows onefile / macOS app bundle) |
📄 许可证
MIT — 随便用。 LICENSE
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。