使用说明
PDF MCP服务器
模型上下文协议(MCP)服务器,为AI助手提供全面的PDF操作功能。该服务器通过强大的编辑、表单填充、页面操作和安全工具,实现了与PDF文档的自然语言交互。
🚀 快速安装
适用于Claude桌面用户
快速设置(NPX-无需安装):
- 添加到Claude Desktop配置(请参阅 安装 下节)
- 重新启动克劳德桌面
- 开始使用PDF工具!
或全局安装:
npm install -g mcp-pdf
# Then configure Claude Desktop (see Installation section)
适用于Cursor IDE用户
- 配置光标MCP设置(请参阅 安装 下节)
- 重新启动游标IDE
- PDF工具将在聊天中提供!
✨ 提示: 使用NPX方法-无需安装!需要时,软件包会自动下载。
✨ 特性
📄 文档操作
- 打开PDF -使用会话管理加载和读取PDF文件
- 创建PDF -生成新的空白PDF文档
- 保存PDF -将修改后的PDF保存到文件系统
- 显示简介 -检索元数据、页数、大小、加密状态
📝 表单操作
- 列表表单字段 -发现所有具有类型和值的表单字段
- 填写表单字段 -填充单个表单字段(文本、复选框、单选框、下拉列表)
- 填写表单字段 -通过一次操作同时填写多个表单字段
- 获取表单值 -导出所有表单数据
- 扁平表格 -使表单字段不可编辑
✏️ 编辑操作
- 添加文本 -在具有样式的特定坐标处插入文本
- 添加图像 -将图像嵌入PDF页面
- 添加注释 -创建评论、亮点和笔记
- 添加水印 -将文本或图像水印应用于所有页面
- 修改元数据 -更新标题、作者、主题、关键字
📑 页面操作
- 列表页面 -获取页面尺寸和信息
- 合并PDF -合并多个PDF文档
- 拆分PDF -将PDF拆分为单独的文件(每页一个)
- 旋转页面 -旋转特定页面
- 删除页面 -从PDF中删除页面
- 提取页面 -将页面提取为新的PDF文件
✍️ 签名操作
- 视觉签名 -添加基于图像的签名
- 签名字段 -在表单中创建签名字段
- 数字签名 -使用证书应用数字签名(需要实施)
- 验证签名 -检查现有数字签名
🔒 安全操作
- 加密PDF -添加密码保护(有限支持)
- 设置权限 -控制打印、复制、编辑权限
- 获取安全信息 -检查加密和权限状态
📤 出口业务
- 提取文本 -提取所有文本内容(需要额外实现)
- 提取图像 -提取嵌入图像(需要额外实现)
- 导出表单数据 -将表单数据导出为JSON或CSV
- 压缩PDF -优化PDF文件大小
🛠️ 安装
先决条件
- Node.js(v18或更高版本)- 下载Node.js
- 已安装Cursor IDE或Claude Desktop
📱 Cursor IDE的安装
Cursor IDE通过其配置支持MCP服务器。请按照以下步骤操作:
第一步:安装Node.js
确保已安装Node.js(v18或更高版本):
node --version # Should be v18.0.0 or higher
步骤2:配置游标IDE
-
打开光标设置:
- 按
Cmd+,(macOS)或Ctrl+,(Windows/Linux)打开设置 - 或前往
Cursor→Settings→Features→Model Context Protocol
- 按
-
添加MCP服务器配置:
配置文件的位置取决于您的操作系统:
- macOS:
~/Library/Application Support/Cursor/User/globalStorage/mcp.json - 窗户:
%APPDATA%\Cursor\User\globalStorage\mcp.json - Linux:
~/.config/Cursor/User/globalStorage/mcp.json
- macOS:
-
编辑配置文件:
创建或编辑
mcp.json文件并添加:{ "mcpServers": { "mcp-pdf": { "command": "npx", "args": ["-y", "mcp-pdf"] } } }替代方案(如果使用全局安装):
{ "mcpServers": { "mcp-pdf": { "command": "pdf-mcp" } } } -
重新启动游标IDE:
- 完全退出Cursor(不仅仅是关闭窗口)
- 重新打开Cursor以应用更改
-
验证安装:
- 在Cursor中打开聊天
- 现在,MCP工具菜单中应该可以使用PDF工具
🖥️ Claude Desktop的安装
Claude Desktop使用配置文件连接到MCP服务器。
第一步:安装Node.js
确保已安装Node.js(v18或更高版本):
node --version # Should be v18.0.0 or higher
步骤2:安装软件包(可选但推荐)
选项A:使用NPX(无需安装)
# No installation needed - npx will download and run automatically
选项B:全局安装
npm install -g mcp-pdf
步骤3:配置Claude桌面
-
找到配置文件:
配置文件的位置取决于您的操作系统:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
创建或编辑配置文件:
如果文件不存在,请创建它。然后添加或更新
mcpServers章节:{ "mcpServers": { "mcp-pdf": { "command": "npx", "args": ["-y", "mcp-pdf"] } } }如果全局安装,请使用:
{ "mcpServers": { "mcp-pdf": { "command": "pdf-mcp" } } }如果您有多个MCP服务器,请合并它们:
{ "mcpServers": { "mcp-pdf": { "command": "npx", "args": ["-y", "mcp-pdf"] }, "other-server": { "command": "npx", "args": ["-y", "other-package"] } } } -
重新启动克劳德桌面:
- 完全退出Claude Desktop(不仅仅是关闭窗口)
- 重新打开Claude Desktop以应用更改
-
验证安装:
- 打开克劳德桌面
- 开始对话
- PDF工具应该可用——试着问:“有哪些PDF工具可用?”
快速设置脚本(macOS/Linux)
您可以使用此命令快速添加配置:
# For Claude Desktop (macOS)
mkdir -p ~/Library/Application\ Support/Claude
cat > ~/Library/Application\ Support/Claude/claude_desktop_config.json << 'EOF'
{
"mcpServers": {
"mcp-pdf": {
"command": "npx",
"args": ["-y", "mcp-pdf"]
}
}
}
EOF
🔧 故障排除
常见问题
1.MCP服务器未出现:
- 验证是否安装了Node.js:
node --version - 检查配置文件语法(必须是有效的JSON)
- 确保完全重新启动应用程序(退出并重新打开)
- 检查应用程序日志是否有错误
2.“找不到命令”错误:
- 如果使用全局安装,请确保npm global bin在您的PATH中
- 尝试使用
npx方法(不需要安装) - 验证包名称:
mcp-pdf(不是pdf-mcp)
3.找不到配置文件:
- 如果目录不存在,则创建该目录
- 确保您使用的操作系统路径正确
- 检查文件权限
4.工具不工作:
- 验证MCP服务器是否正在运行(检查应用程序日志)
- 确保PDF文件使用绝对路径
- 检查PDF文件是否存在并且可读
验证安装
测试安装:
# Test CLI (if installed globally)
pdf-mcp --version
# Test with npx
npx mcp-pdf --version
📦 替代安装方法
从源代码安装:
git clone https://github.com/nitaiaharoni1/pdf-mcp.git
cd pdf-mcp
npm install
npm run build
npm start
🎯 可用工具
PDF MCP服务器提供30多种强大的PDF操作工具:
文档工具
open_pdf-打开并阅读PDF文件信息create_pdf-创建新的空白PDF或从模板创建save_pdf-将PDF保存到文件系统close_pdf-关闭PDF并清理资源get_pdf_info-获取元数据、页数、大小、加密状态
表单工具
list_form_fields-列出所有具有类型和值的表单字段fill_form_field-填写特定的表单字段(文本、复选框、单选框、下拉列表)fill_form_fields-一次填写多个表单字段(批量操作)get_form_values-获取所有当前表单值flatten_form-展平表单以使字段不可编辑
编辑工具
add_text-在带有样式的坐标处向PDF添加文本add_image-将图像插入PDFadd_annotation-添加评论、亮点、注释add_watermark-添加文本或图像水印modify_metadata-更新标题、作者、主题、关键字
页面工具
get_pages-列出所有有尺寸的页面merge_pdfs-合并多个PDFsplit_pdf-将PDF拆分为单独的文件rotate_page-旋转特定页面delete_pages-从PDF中删除页面extract_pages-将页面提取为新的PDF
签名工具
add_visual_signature-添加基于图像的签名create_signature_field-在表单中创建签名字段sign_pdf_digital-使用证书应用数字签名verify_signature-验证现有数字签名
安全工具
encrypt_pdf-添加密码保护和权限decrypt_pdf-删除密码保护set_permissions-设置打印、复制、编辑权限get_security_info-检查加密和权限
导出工具
extract_text-提取所有文本内容extract_images-提取嵌入图像export_form_data-将表单数据导出为JSON/CSVcompress_pdf-优化PDF文件大小
🖥️ CLI命令
pdf-mcp包提供了几个命令行工具:
设置命令
pdf-mcp init [directory]-初始化PDF工作目录pdf-mcp init ~/my-pdfs pdf-mcp init # Uses default: ~/pdf-mcp
管理命令
pdf-mcp status-显示当前配置和活动会话pdf-mcp status
测试命令
pdf-mcp test [pdf_path]-使用示例PDF测试PDF操作pdf-mcp test /path/to/sample.pdf
信息命令
pdf-mcp --help/-h-显示帮助信息pdf-mcp --version/-v-显示版本信息
💡 使用示例
基本PDF操作
"Open the PDF at /path/to/document.pdf"
"Create a new PDF document"
"Save the PDF to /path/to/output.pdf"
"Get information about the current PDF"
表单操作
"List all form fields in this PDF"
"Fill the 'name' field with 'John Doe'"
"Fill multiple form fields: name='John Doe', email='john@example.com', agree=true"
"Get all form values"
"Flatten the form to make it non-editable"
编辑操作
"Add text 'DRAFT' at coordinates 100, 100 on page 1"
"Add an image from /path/to/image.png to page 1"
"Add a watermark 'CONFIDENTIAL' to all pages"
"Update the PDF title to 'My Document'"
页面操作
"List all pages with their dimensions"
"Merge /path/to/file1.pdf and /path/to/file2.pdf"
"Split this PDF into separate files"
"Rotate page 2 by 90 degrees"
"Delete pages 3 and 4"
"Extract pages 1-5 to a new PDF"
签名操作
"Add a visual signature from /path/to/signature.png to page 1"
"Create a signature field named 'signature' on page 1"
出口业务
"Export form data to /path/to/output.json as JSON"
"Export form data to /path/to/output.csv as CSV"
"Compress this PDF and save to /path/to/compressed.pdf"
🔧 配置
环境变量
PDF_WORKING_DIR-PDF操作的工作目录(默认:~/pdf-mcp)TEMP_DIR-PDF操作的临时目录(默认:/tmp/pdf-mcp)
文件路径
所有文件路径必须 绝对路径。出于安全原因,不支持相对路径。
会话管理
PDF文档通过会话进行管理。每个打开或创建的PDF都会获得一个唯一的会话ID,用于后续操作。会话在1小时不活动后会自动清理。
🧪 测试
PDF MCP服务器包括测试功能:
# Test PDF operations
pdf-mcp test /path/to/sample.pdf
# Run unit tests (if available)
npm test
🏗️ 发展
地方发展设置
-
克隆存储库:
git clone https://github.com/nitaiaharoni1/pdf-mcp.git cd pdf-mcp -
安装依赖项:
npm install -
构建项目:
npm run build -
本地测试:
npm run dev
📋 技术细节
第一文库
- pdf库 -全面的PDF操作(表单、编辑、页面操作)
存储
- 仅支持绝对路径的本地文件系统
会话管理
- 使用唯一ID在内存中维护打开的PDF文档
- 自动清理非活动会话
错误处理
- 妥善处理损坏的PDF
- 权限错误处理
- 不支持的功能检测
局限性
- 数字签名:需要使用节点伪造进行额外实施
- 文本提取:需要pdfjs dist或类似库
- 图像提取:需要PDF解析库
- 加密:pdf库的加密支持有限
📄 许可证
MIT许可证 -请参阅 许可证 提交完整的条款和条件。
🙋♂️ 支持
- GitHub问题: 报告错误或请求功能
- 文档:此README和内联代码文档
- 社区:欢迎投稿和讨论!
由...制作❤️ 面向人工智能和PDF处理社区
