pdfedit-mcp
v1.0.0
Published
MCP server for PDFEdit — process PDFs with AI agents
Maintainers
Readme
pdfedit-mcp
MCP server for PDFEdit — process PDF files with AI agents using the Model Context Protocol.
Prerequisites
- Node.js ≥ 18
- A PDFEdit Pro account with an API key → pdf-edit.dev/dashboard
Installation
# Use directly with npx (no install needed)
npx pdfedit-mcp
# Or install globally
npm install -g pdfedit-mcpConfiguration
Set your API key via environment variable:
export PDFEDIT_API_KEY=pfe_your_api_key_here| Variable | Required | Default | Description |
|---|---|---|---|
| PDFEDIT_API_KEY | ✅ | — | Your PDFEdit Pro API key |
| PDFEDIT_API_URL | ⬜ | https://pdf-edit.dev/api/v1 | Custom API base URL |
Claude Desktop setup
Add to your claude_desktop_config.json:
{
"mcpServers": {
"pdfedit": {
"command": "npx",
"args": ["-y", "pdfedit-mcp"],
"env": {
"PDFEDIT_API_KEY": "pfe_your_api_key_here"
}
}
}
}Available tools
| Tool | Description |
|---|---|
| merge_pdfs | Merge multiple PDF files into one |
| split_pdf | Split a PDF by page or custom ranges |
| compress_pdf | Compress a PDF to reduce file size |
| rotate_pdf | Rotate pages by 90 / 180 / 270° |
| protect_pdf | Add password protection |
| unlock_pdf | Remove password protection |
merge_pdfs
input_files string[] Ordered list of PDF file paths to merge
output_file string Output file pathsplit_pdf
input_file string PDF file path to split
output_dir string Directory where split files will be saved
ranges [[n,n], ...] Optional page ranges (1-indexed). Default: one file per page.compress_pdf
input_file string PDF file path to compress
output_file string Output file pathrotate_pdf
input_file string PDF file path
output_file string Output file path
angle 90|180|270 Rotation angle in degrees
pages number[] Page numbers to rotate (1-indexed). Default: all pages.protect_pdf
input_file string PDF file path
output_file string Output file path
user_password string Password to open the PDF
owner_password string Password to edit/print (optional, defaults to user_password)unlock_pdf
input_file string Protected PDF file path
output_file string Output file path
password string Current PDF passwordExample prompts
"Merge all PDFs in
/reportsfolder into/reports/final.pdf"
"Compress
/docs/presentation.pdfand save it to/docs/presentation_compressed.pdf"
"Split
/contracts/bundle.pdfinto individual pages in/contracts/pages/"
"Protect
/private/document.pdfwith passwordsecret123and save to/private/document_protected.pdf"
License
MIT
