# iLovePDF MCP

> iLovePDF connects PDF document manipulation—merging, splitting, compressing, and converting files—to your AI agent. You can initiate complex file tasks through natural conversation; it tracks progress in real time, allowing you to retrieve finalized documents without manual web steps.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** pdf-processing, file-conversion, document-automation, compression, merge-split, api-integration

## Description

You need to run a batch of PDFs through several stages—say, merging three reports, then running them through compression, and finally converting the whole thing to DOCX. Manually doing that is painful. This MCP lets your AI agent handle the entire workflow conversationally. You can upload files using just a URL or give it local documents; the system handles the task queuing and progress tracking. It's built for developers who need reliable file processing pipelines, so you don't have to write boilerplate code for every step. When connected through Vinkius, your agent gets access to this whole toolkit right alongside everything else in the catalog.

## Tools

### get_pdf_download_link
Retrieves a usable download URL for a PDF that has finished processing.

### get_task_status
Checks the current status of any ongoing or completed PDF task using its unique ID.

### list_pdf_tasks
Retrieves a list of all recent PDF processing jobs that have run through the system.

### process_pdf_task
Executes specific, configured PDF manipulations on files already uploaded to the system.

### start_pdf_task
Starts a new PDF processing job; it requires parameters and returns a task ID you can track.

### upload_pdf_by_url
Downloads a PDF file directly from an external web address for use in a task.

## Prompt Examples

**Prompt:** 
```
Merge these 3 PDF reports into a single document and compress it.
```

**Response:** 
```
Merge task started (task_4521). Uploading: Q1_Report.pdf ✅, Q2_Report.pdf ✅, Q3_Report.pdf ✅. Processing merge... ✅ Complete! Merged: Combined_Reports.pdf (42 pages, 8.2 MB). Starting compression... ✅ Compressed: 8.2 MB → 2.1 MB (74% reduction). Download ready: Combined_Reports_compressed.pdf. Would you like to split or convert?
```

**Prompt:** 
```
Convert the quarterly report PDF to Word format and check all task statuses.
```

**Response:** 
```
Conversion task started (task_4522). Uploading: Q4_Report.pdf ✅. Converting PDF → DOCX... ✅ Complete! Output: Q4_Report.docx (38 pages, preserving formatting). All tasks: task_4521 (merge) — ✅ Completed. task_4522 (convert) — ✅ Completed. task_4519 (compress) — ✅ Completed. 3 tasks completed today.
```

**Prompt:** 
```
Split the merged PDF — extract pages 1-10 as a separate document.
```

**Response:** 
```
Split task started (task_4523). Source: Combined_Reports.pdf (42 pages). Extracting pages 1-10... ✅ Complete! Output: Combined_Reports_p1-10.pdf (10 pages, 1.8 MB). Remaining pages available for additional splits. Tasks today: 4 completed (merge, convert, compress, split). Would you like to process another document?
```

## Capabilities

### Manage PDF Processing Tasks
Initiate a full suite of document actions—including merging multiple files or splitting one large file—and get an ID for tracking.

### Check File Status
Query the current state of any processing job, telling you if it's pending, running, or complete.

### Source PDFs by URL
Start a task using a file link instead of having to upload the actual file data.

### Retrieve Final Documents
Get a direct, temporary download link for any processed PDF output.

## Use Cases

### Compliance Audit File Collection
A compliance officer needs to gather reports from five different departments. Instead of manually downloading and merging them, they ask their agent to use `upload_pdf_by_url` for all five links, then call `start_pdf_task` to merge them into a single audit package.

### Converting Legacy Documentation
You receive 50 old PDFs that need to be converted to Word format. You instruct your agent to run the full batch through the conversion process, then use `get_task_status` repeatedly until all are ready for final retrieval.

### Creating a Master Presentation
Your marketing team has three separate pitch decks (PDF). You tell your agent to merge them using `start_pdf_task`, then compress the resulting large file, ensuring the output is small enough for email.

## Benefits

- You don't have to manually monitor job status. Instead, use `get_task_status` to keep your agent informed until a task is ready.
- Merge complex reports in one go. Use `start_pdf_task` to combine multiple documents and run compression or conversion on the result immediately.
- Process files from anywhere. The `upload_pdf_by_url` tool means you can start a job just by providing an address, no file upload needed.
- Keep track of everything. Run `list_pdf_tasks` to see a history of all jobs completed today or last week—it's great for debugging workflows.
- Get the final product right away. Once processing is done, `get_pdf_download_link` gives you the direct URL, so your agent can pass it off immediately.

## How It Works

The bottom line is: you feed it a job and a URL, it runs the whole thing in the background, and then you retrieve the result via a link.

1. Tell your agent to start the job. You can begin by uploading files via URL or giving it local documents, which returns a unique task ID.
2. Use that task ID with the status check tool (`get_task_status`) until the process is marked 'Complete'.
3. Finally, use `get_pdf_download_link` to pull the finished file into your workflow.

## Frequently Asked Questions

**How do I start merging PDFs with iLovePDF MCP?**
You initiate a merge by calling `start_pdf_task`. You pass the IDs of all the source files, and the tool returns a task ID that you must use for tracking.

**Can I process PDFs using iLovePDF MCP if they are only online?**
Yes. Use `upload_pdf_by_url` to pull the document from an external web address, making it available to your task without needing a direct upload.

**What do I use if my PDF job is finished? iLovePDF MCP?**
You need `get_pdf_download_link`. This tool takes the successful task ID and gives you the final, working URL for the document.

**How can I check on a long-running job with iLovePDF MCP?**
Use `get_task_status` and provide it with the unique task ID. This lets your agent know if the process is still running or if it finished successfully.

**What credentials do I need to connect iLovePDF MCP and start tasks?**
You need your iLovePDF Public Key and Secret Key. You get these from the developer portal. Providing these keys allows your agent to run all processing tools, like starting a new task or listing existing ones.

**How do I specify advanced parameters when using start_pdf_task?**
You pass specific instructions in the JSON payload for `start_pdf_task`. This lets you define exact output formats, like converting to DOCX, or specifying page ranges for splitting.

**What happens if I use upload_pdf_by_url and the URL is inaccessible?**
The tool will return an error code indicating failure. You must check the URL validity first. If it's a temporary network issue, retrying with `start_pdf_task` usually solves it.

**If I need to process multiple different types of tasks, which tools should I use?**
Use `list_pdf_tasks` first to see your history. Then, you can start new jobs using `process_pdf_task` or `start_pdf_task`. Don't forget to check the status with `get_task_status` afterward.

**Can I merge multiple PDF files into one?**
Yes. Use `start_pdf_task` with task type 'merge', then upload each PDF with `upload_pdf_by_url`, and finally call `process_pdf_task` to execute. Use `get_pdf_download_link` to retrieve the merged result.

**Does iLovePDF require two credentials?**
Yes. iLovePDF uses a **Public Key** and **Secret Key** pair. The server exchanges these for a JWT token automatically via `api.ilovepdf.com/v1`. No manual token management required.

**Can I track the status of a PDF processing task?**
Yes. Use `get_task_status` with the task ID to check progress. Use `list_pdf_tasks` to see all tasks with their current status (pending, processing, completed, failed).