README
🚀 PDF Tools MCP Server
这是一个用于操作PDF文件的Model Context Protocol (MCP) 服务器,可通过Claude Desktop、Claude Code等MCP客户端使用。
✨ 主要特性
✨ 轻松创建排除特定页面的PDF文件
其他PDF工具通常具备「提取特定页面」的功能,而本工具则提供了相反的「排除特定页面」功能。例如,若要从一个31页的PDF中删除第7页,无需指定其余30页,仅需指定要排除的页码即可。
✨ 自由重新排列PDF页面顺序
通过页面重排功能,可轻松更改PDF的页面顺序。能够直观地修正因扫描错误导致的页面顺序颠倒问题,或把特定页面移到开头位置。
📦 功能
- merge_pdfs - 将多个PDF文件合并为一个
- split_pdf - 将PDF拆分为单页文件
- extract_pages - 从PDF中提取特定页面
- extract_text - 从PDF中提取文本
- exclude_pages ⭐ - 创建排除特定页面后的新PDF文件
- reorder_pages - 按照指定顺序重新排列PDF页面
- get_pdf_info - 获取PDF的相关信息(如页数、标题、创建者等)
📦 安装指南
# 克隆仓库
git clone https://github.com/h-ucchi/pdf-mcp-server.git
cd pdf-mcp-server
# 安装依赖
npm install
# 构建
npm run build
💻 使用示例
使用Claude Desktop(桌面应用)
- 打开Claude Desktop的配置文件
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
- 添加以下配置
{
"mcpServers": {
"pdf-tools": {
"command": "node",
"args": ["/绝对路径/pdf-mcp-server/build/index.js"]
}
}
}
⚠️ 重要提示
请将
/绝对路径/替换为实际的项目路径。
- 重启Claude Desktop
- 在Claude Desktop中使用自然语言请求PDF操作
从PDF中提取第5页
合并多个PDF文件
创建排除PDF第7页的文件
使用Claude Code(CLI)
- 注册MCP服务器
claude mcp add --transport stdio pdf-tools -- node /path/to/pdf-mcp-server/build/index.js
- 在Claude Code中使用自然语言请求PDF操作
从PDF中提取第5页
合并多个PDF文件
创建排除PDF第7页的文件
创建排除PDF第3、7、15页的文件
- 检查MCP服务器
# 查看已注册的MCP服务器
claude mcp list
具体使用示例
基础用法
从document.pdf中排除第7页
→ 会创建一个从31页中删除第7页后的30页PDF文件
从presentation.pdf中排除第3、7、15页
→ 可一次性排除多个页面
高级用法
从document.pdf中提取第5页
合并文件夹内的所有PDF文件
将report.pdf拆分为单页文件
交换PDF的第3页和第5页
→ 可自由重新排列页面顺序
将第5页移到开头
→ 页面会按 [5, 1, 2, 3, 4, 6, 7, ...] 的顺序重新排列
🔧 技术细节
技术栈
- Model Context Protocol SDK - MCP实现
- pdf-lib - PDF操作
- pdf-parse - PDF文本提取
- TypeScript
开发
# 构建
npm run build
# 开发模式(文件监听)
npm run build -- --watch
📚 详细文档
故障排除
Claude Desktop出现「Server disconnected」错误
原因:由于macOS的安全限制,Claude Desktop可能无法访问桌面文件夹中的文件。 解决办法:请将项目移至主目录。
# 将项目移至主目录
mv ~/Desktop/pdf-mcp-server ~/pdf-mcp-server
# 更新配置文件路径
# ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"pdf-tools": {
"command": "node",
"args": ["/Users/你的用户名/pdf-mcp-server/build/index.js"]
}
}
}
# 重启Claude Desktop
查看日志
可通过查看Claude Desktop的日志获取详细的错误信息。
# macOS
tail -f ~/Library/Logs/Claude/mcp-server-pdf-tools.log
# Windows
type %USERPROFILE%\AppData\Local\Claude\Logs\mcp-server-pdf-tools.log
检查MCP服务器是否启动
# 在终端中直接运行进行测试
node /path/to/pdf-mcp-server/build/index.js
# 若显示 "PDF Tools MCP Server started" 则表示正常
Scan to join WeChat group