Ilovepdf Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Ilovepdf Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server that exposes iLovePDF API operations as tools for LLM clients like Claude. Process PDFs directly from your AI conversations - merge, split, compress, convert, and more.
| Tool | Description |
|---|---|
merge-pdfs | Merge multiple PDF files into one |
split-pdf | Split PDF by page ranges, fixed intervals, or remove pages |
compress-pdf | Reduce PDF file size (low/recommended/extreme) |
rotate-pdf | Rotate pages by 90, 180, or 270 degrees |
protect-pdf | Add password protection |
unlock-pdf | Remove password protection |
repair-pdf | Repair damaged PDFs |
| Tool | Description |
|---|---|
pdf-to-jpg | Convert PDF pages to JPG images |
images-to-pdf | Convert images to PDF |
html-to-pdf | Convert webpages to PDF |
office-to-pdf | Convert Word, Excel, PowerPoint to PDF |
convert-to-pdfa | Convert to PDF/A archive format |
validate-pdfa | Validate PDF/A compliance |
| Tool | Description |
|---|---|
add-watermark | Add text or image watermarks |
add-page-numbers | Add page numbers with custom formatting |
extract-text | Extract text content from PDF |
ocr-pdf | OCR scanned PDFs (100+ languages) |
edit-pdf | Add text or images to specific positions |
| Tool | Description |
|---|---|
sign-pdf | Create digital signature requests |
get-signature-status | Check signature request status |
void-signature | Cancel pending signature requests |
| Tool | Description |
|---|---|
chain-operations | Chain multiple operations together |
list-tasks | List recent API tasks |
get-remaining-files | Check API quota |
npm install -g ilovepdf-mcpgit clone https://github.com/yourusername/ilovepdf-mcp.git
cd ilovepdf-mcp
npm install
npm run buildCreate a .env file in your project root:
ILOVEPDF_PUBLIC_KEY=your_public_key_here
ILOVEPDF_SECRET_KEY=your_secret_key_here
DEFAULT_OUTPUT_DIR=./outputOr set environment variables directly in your shell.
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json
Option 1: Using .env file (recommended)
If you've set up your .env file with API keys, you only need:
{
"mcpServers": {
"ilovepdf": {
"command": "node",
"args": ["/path/to/ilovepdf-mcp/dist/index.js"]
}
}
}Option 2: Keys in config only
If you prefer not to use a .env file:
{
"mcpServers": {
"ilovepdf": {
"command": "node",
"args": ["/path/to/ilovepdf-mcp/dist/index.js"],
"env": {
"ILOVEPDF_PUBLIC_KEY": "your_public_key",
"ILOVEPDF_SECRET_KEY": "your_secret_key",
"DEFAULT_OUTPUT_DIR": "/path/to/output"
}
}
}
}If installed globally via npm:
{
"mcpServers": {
"ilovepdf": {
"command": "ilovepdf-mcp"
}
}
}Once configured, you can use natural language in Claude to process PDFs:
"Merge these three PDF files: report1.pdf, report2.pdf, and appendix.pdf"
"Compress my large-document.pdf using extreme compression"
"Convert this PDF to JPG images at 300 DPI"
"Add a 'CONFIDENTIAL' watermark to all pages of contract.pdf"
"Compress then merge these PDFs: file1.pdf, file2.pdf, file3.pdf"
"Make this scanned PDF searchable using English and Spanish OCR"
# Install dependencies
npm install
# Build
npm run build
# Run in development mode
npm run dev
# Clean build artifacts
npm run cleanMost tools accept these common parameters:
| Parameter | Type | Description |
|---|---|---|
file / files | string / string[] | Input file path(s) or URL(s) |
outputDir | string? | Output directory (default: ./output) |
outputFilename | string? | Custom output filename |
All tools return a consistent JSON response:
{
"success": true,
"message": "Operation completed successfully",
"outputPath": "/path/to/output.pdf",
"details": {
"originalSize": "5.2 MB",
"outputSize": "1.3 MB"
}
}On error:
{
"success": false,
"error": "Error message describing what went wrong"
}Ensure ILOVEPDF_PUBLIC_KEY and ILOVEPDF_SECRET_KEY are set in your environment or .env file.
Use get-remaining-files to check your quota. Upgrade your iLovePDF plan if needed.
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.