mcpField
P
PDF Manipulation Toolkit

PDF Manipulation Toolkit

本地服务
github.com/Sohaib-2文件与存储1669 周前更新

关于 PDF Manipulation Toolkit

面向 Claude 等 MCP 客户端的 PDF 处理服务,可通过自然语言指令操作文档。涵盖页面编辑、加密、压缩、修复、元数据和文件管理。

主要功能

  1. 01合并、拆分和提取页面
  2. 02加密及移除密码保护
  3. 03压缩、修复并检查完整性
  4. 04查看和更新 PDF 元数据
  5. 05下载文件并管理工作目录

适用场景

  1. 01合并研究文档或拆分手册
  2. 02保护或解锁 PDF 文件
  3. 03修复损坏文件并压缩文档
  4. 04检查文档结构和附件

MCP 相关

该 MCP 服务通过工具向客户端提供 PDF 操作、分析和文件管理能力,并可接入 Claude Desktop。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

PDF MCP 服务

GitHub stars GitHub issues GitHub license Python 3.8+

通过与 Claude 集成,使用 AI 驱动的自然语言命令,轻松处理 PDF

功能全面的 PDF 工具包,可通过 MCP(Model Context Protocol)与 Claude AI 无缝集成。使用简单的对话式命令执行复杂的 PDF 操作——轻松合并、拆分、加密、优化和分析 PDF。

演示

🚀 快速开始

克隆并设置
git clone https://github.com/Sohaib-2/pdf-mcp-server.git
cd pdf-mcp-server
选项 1:使用虚拟环境(推荐)
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux  
source .venv/bin/activate

pip install -r requirements.txt
选项 2:不使用虚拟环境
pip install fastmcp requests pathlib
安装 PDF 工具

PDFtk:

# Ubuntu/Debian
sudo apt-get install pdftk
# macOS
brew install pdftk-java
# Windows: Download from https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

QPDF:

# Ubuntu/Debian
sudo apt-get install qpdf
# macOS
brew install qpdf
# Windows: Download from https://qpdf.sourceforge.io/

🔧 Claude Desktop 集成

  1. 找到 Claude 配置文件:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加 PDF MCP 服务:

使用虚拟环境:

{
  "mcpServers": {
    "pdf-tools": {
      "command": "C:\\path\\to\\pdf-mcp-server\\.venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\pdf-mcp-server\\server.py"]
    }
  }
}

不使用虚拟环境:

{
  "mcpServers": {
    "pdf-tools": {
      "command": "python",
      "args": ["C:\\path\\to\\pdf-mcp-server\\server.py"]
    }
  }
}

macOS/Linux 使用 venv:

{
  "mcpServers": {
    "pdf-tools": {
      "command": "/path/to/pdf-mcp-server/.venv/bin/python",
      "args": ["/path/to/pdf-mcp-server/server.py"]
    }
  }
}
  1. 重启 Claude Desktop

  2. 开始使用自然语言:

    • “将这 3 个 PDF 合并为一个文档”
    • “为我的报告加密并设置密码保护”
    • “从这份手册中提取第 1–10 页”

📚 完整工具参考

核心操作
工具描述示例
merge_pdfs合并多个 PDFmerge_pdfs(['doc1.pdf', 'doc2.pdf'], 'combined.pdf')
split_pdf拆分为单独的页面split_pdf('document.pdf', './pages/')
extract_pages提取指定页面范围extract_pages('book.pdf', '1-5,10,15-20', 'excerpt.pdf')
rotate_pages按角度旋转页面rotate_pages('scan.pdf', '90', 'rotated.pdf', '1-3')
安全与加密
工具描述示例
encrypt_pdfAES-256 加密encrypt_pdf('file.pdf', 'secure.pdf', 'password123')
encrypt_pdf_basic基本密码保护encrypt_pdf_basic('doc.pdf', 'protected.pdf', 'pass', 'admin')
decrypt_pdf移除密码保护decrypt_pdf('locked.pdf', 'unlocked.pdf', 'password')
优化与修复
工具描述示例
optimize_pdf为网页/电子邮件压缩optimize_pdf('large.pdf', 'small.pdf', 'high')
repair_pdf修复损坏的 PDFrepair_pdf('broken.pdf', 'fixed.pdf')
check_pdf_integrity验证 PDF 结构check_pdf_integrity('suspicious.pdf')
信息与分析
工具描述示例
get_pdf_info详细元数据(JSON)get_pdf_info('document.pdf')
update_pdf_metadata修改标题、作者等update_pdf_metadata('file.pdf', 'updated.pdf', title='New Title')
inspect_pdf_structure分析内部结构inspect_pdf_structure('complex.pdf', detailed=True)
extract_pdf_attachments提取嵌入文件extract_pdf_attachments('portfolio.pdf', './attachments/')
文件管理
工具描述示例
download_pdf从 URL 下载download_pdf('https://example.com/file.pdf', 'local.pdf')
open_pdf_preview使用系统查看器打开open_pdf_preview('report.pdf', browser=False)
get_file_info文件大小/路径详情get_file_info('document.pdf')
configure_pdf_workspace设置工作目录configure_pdf_workspace('/path/to/workspace')
count_pdfs_in_directory列出文件夹中的 PDFcount_pdfs_in_directory('./pdf_folder/')
系统管理
工具描述用途
get_server_status检查工具是否可用验证 PDFtk/QPDF 是否已安装
list_default_directories显示搜索路径调试文件解析问题
get_pdf_tools_help完整文档应用内帮助参考

💬 自然语言示例

文档管理:

  • “将我的所有研究论文合并为一份参考书目”
  • “将这份 100 页的手册拆分成多个章节”
  • “提取第 2–4 页的执行摘要”

安全操作:

  • “使用军用级保护加密这份合同”
  • “移除此锁定文档的密码”
  • “添加所有者权限以防止编辑”

文件优化:

  • “优化我下载文件夹中的所有 PDF”
  • “修复这份损坏的演示文稿文件”

高级分析:

  • “显示这篇学术论文的详细元数据”
  • “分析内部结构以进行安全审计”

🗂️ 文件路径处理

灵活的路径解析:

  • 绝对路径: C:\Documents\file.pdf
  • 相对路径: ../pdfs/document.pdf
  • 仅文件名: report.pdf(搜索默认目录)

默认搜索顺序:

  1. PDF_WORKSPACE 环境变量
  2. ~/Documents/PDFs
  3. ~/Downloads
  4. ~/Desktop
  5. 当前工作目录

⚙️ 配置

自定义工作区:

configure_pdf_workspace('/path/to/your/pdfs')

检查安装:

get_server_status()  # Verify PDFtk and QPDF availability

🛠️ 故障排除

常见问题:

问题解决方案
PDFtk not found安装 PDFtk 并将其添加到 PATH
QPDF error通过包管理器安装 QPDF
File not found使用 list_default_directories() 检查搜索路径
Permission denied使用适当的文件权限运行
Invalid PDF使用 check_pdf_integrity() 验证文件

调试命令:

get_server_status()           # Check tool installation
list_default_directories()    # Verify search paths  
get_pdf_info('file.pdf')      # Validate PDF structure

🏗️ 架构

pdf-mcp-server/
├── server.py              # FastMCP server with 16 tools
├── pdftk_tools.py         # PDFtk CLI wrapper
├── qpdf_tools.py          # QPDF CLI wrapper  
├── utils.py               # File utilities & path resolution
└── requirements.txt       # Python dependencies

构建所用技术:

🤝 贡献

  1. Fork 此仓库
  2. 创建功能分支:git checkout -b feature/amazing-feature
  3. 提交更改:git commit -m 'Add amazing feature'
  4. 推送到分支:git push origin feature/amazing-feature
  5. 发起 Pull Request

📄 许可证

本项目基于 MIT License 授权

👨‍💻 作者

Sohaib-2 - GitHub

🌟 致谢

  • 感谢 Anthropic 推出 MCP Protocol
  • 感谢 PDFtk 和 QPDF 团队
  • 感谢开源社区带来的灵感

⭐ 如果此仓库对你有帮助,请为它点亮星标! | 🐛 报告问题 | 💡 请求功能

评论

支持 Markdown

第一次接触 MCP?

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

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