使用说明
PDF MCP服务器
通过Claude集成,使用AI驱动的自然语言命令转换PDF操作
全面的PDF工具包,通过MCP(模型上下文协议)与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桌面集成
-
找到Claude配置文件:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- 窗户:
-
添加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"]
}
}
}
带venv的macOS/Linux:
{
"mcpServers": {
"pdf-tools": {
"command": "/path/to/pdf-mcp-server/.venv/bin/python",
"args": ["/path/to/pdf-mcp-server/server.py"]
}
}
}
-
重新启动克劳德桌面
-
开始使用自然语言:
- “将这3个PDF合并到一个文档中”
- “使用密码保护加密我的报告”
- “摘录本手册第1-10页”
📚 完整的工具参考
核心业务
| 工具 | 说明 | 示例 |
|---|---|---|
merge_pdfs |
合并多个PDF | merge_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_pdf |
AES-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 |
修复损坏的PDF | repair_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 |
在文件夹中列出PDF | count_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(搜索默认目录)
默认搜索顺序:
PDF_WORKSPACE环境变量~/Documents/PDFs~/Downloads~/Desktop- 当前工作目录
⚙️ 配置
自定义工作区:
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
内置:
🤝 贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature/amazing-feature - 提交更改:
git commit -m 'Add amazing feature' - 推送到分支:
git push origin feature/amazing-feature - 打开拉取请求
📄 许可证
该项目根据麻省理工学院许可证获得许可
👨💻 作者
Sohaib-2 - GitHub
🌟 致谢
⭐ 标记此回购 如果它对你有帮助! | 🐛 报告问题 | 💡 请求功能
