ilovepdf-mcp
An MCP server that integrates the iLovePDF API to enable PDF manipulation tasks such as merging, splitting, compressing, and converting directly from AI conversations.
README
iLovePDF MCP Server
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.
Features
- 22 PDF tools covering all major PDF operations
- Supports both local files and URLs as input
- Customizable output with user-specified directories and filenames
- Operation chaining for complex workflows
- Full TypeScript support with type definitions
Available Tools
Core Operations
| 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 |
Conversion Operations
| 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 |
Enhancement Operations
| 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 |
Signature Operations
| Tool | Description |
|---|---|
sign-pdf |
Create digital signature requests |
get-signature-status |
Check signature request status |
void-signature |
Cancel pending signature requests |
Utility Operations
| Tool | Description |
|---|---|
chain-operations |
Chain multiple operations together |
list-tasks |
List recent API tasks |
get-remaining-files |
Check API quota |
Installation
Prerequisites
- Node.js 18 or higher
- iLovePDF API credentials (get them at developer.ilovepdf.com)
Install from npm
npm install -g ilovepdf-mcp
Install from source
git clone https://github.com/yourusername/ilovepdf-mcp.git
cd ilovepdf-mcp
npm install
npm run build
Configuration
Environment Variables
Create a .env file in your project root:
ILOVEPDF_PUBLIC_KEY=your_public_key_here
ILOVEPDF_SECRET_KEY=your_secret_key_here
DEFAULT_OUTPUT_DIR=./output
Or set environment variables directly in your shell.
Claude Desktop Integration
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"
}
}
}
Usage Examples
Once configured, you can use natural language in Claude to process PDFs:
Merge PDFs
"Merge these three PDF files: report1.pdf, report2.pdf, and appendix.pdf"
Compress PDF
"Compress my large-document.pdf using extreme compression"
Convert to Images
"Convert this PDF to JPG images at 300 DPI"
Add Watermark
"Add a 'CONFIDENTIAL' watermark to all pages of contract.pdf"
Chain Operations
"Compress then merge these PDFs: file1.pdf, file2.pdf, file3.pdf"
OCR
"Make this scanned PDF searchable using English and Spanish OCR"
Development
# Install dependencies
npm install
# Build
npm run build
# Run in development mode
npm run dev
# Clean build artifacts
npm run clean
API Reference
Common Parameters
Most 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 |
Response Format
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"
}
Troubleshooting
"Missing iLovePDF API credentials"
Ensure ILOVEPDF_PUBLIC_KEY and ILOVEPDF_SECRET_KEY are set in your environment or .env file.
"File not found"
- Check the file path is correct and accessible
- For URLs, ensure they are publicly accessible
"API quota exceeded"
Use get-remaining-files to check your quota. Upgrade your iLovePDF plan if needed.
License
MIT
Credits
- iLovePDF for their excellent PDF API
- Model Context Protocol for the MCP specification
- Built with @modelcontextprotocol/sdk
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.