Every tool is callable via the MCP protocol. Parameters marked required must be present; optional parameters may be omitted. All mutation tools accept an optional idempotencyKey.
list_filesFilesReturn all files stored in the authenticated account.
Response
{ id: string; originalname: string; size: number; createdAt: string }[]get_file_urlFilesGet a signed download URL valid for 15 minutes.
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | ID of the file to get a URL for. |
Response
{ url: string }upload_from_urlFilesFetch a remote PDF by URL and save it to the account. The URL must return Content-Type: application/pdf.
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | yes | Public URL of a PDF file. |
| filename | string | no | Filename to save as. Defaults to the URL basename. |
| idempotencyKey | string | no | Unique key to prevent duplicate uploads on retry. |
Response
{ fileId: string; originalname: string; size: number }merge_pdfsEditCombine two or more PDFs into a single document in the order given.
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileIds | string[] | yes | Ordered array of file IDs to merge. Minimum 2. |
| outputName | string | no | Filename for the merged PDF. |
| idempotencyKey | string | no | Unique key to prevent duplicate merges on retry. |
Response
{ fileId: string; originalname: string; size: number }split_pdfEditExtract page ranges from a PDF into separate output files.
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | ID of the PDF to split. |
| ranges | string | yes | Comma-separated page ranges, e.g. "1-3,4-6,7-10". |
| idempotencyKey | string | no | Unique key to prevent duplicate splits on retry. |
Response
{ fileId: string; originalname: string; size: number }[]compress_pdfEditReduce file size. The quality parameter controls the size/fidelity tradeoff.
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | ID of the PDF to compress. |
| quality | 'low' | 'medium' | 'high' | 'extreme' | no · medium | low = best quality, largest file. extreme = smallest file, most quality loss. |
| idempotencyKey | string | no | Unique key to prevent duplicate operations on retry. |
Response
{ fileId: string; originalname: string; size: number; originalSize: number; compressionRatio: number }rotate_pagesEditRotate specific pages by 90, 180, or 270 degrees.
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | ID of the PDF to modify. |
| pages | number[] | yes | 1-indexed page numbers to rotate. |
| degrees | 90 | 180 | 270 | yes | Rotation in degrees. 90 = clockwise, 270 = counter-clockwise. |
| idempotencyKey | string | no | Unique key to prevent duplicate operations on retry. |
Response
{ fileId: string; originalname: string }reorder_pagesEditRearrange pages by supplying the complete desired page sequence.
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | ID of the PDF to reorder. |
| pageOrder | number[] | yes | Complete new sequence as 1-indexed page numbers, e.g. [3,1,2] puts page 3 first. |
| idempotencyKey | string | no | Unique key to prevent duplicate operations on retry. |
Response
{ fileId: string; originalname: string; originalPageCount: number; newPageCount: number }delete_pagesEditRemove specific pages. The remaining pages keep their original order.
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | ID of the PDF to edit. |
| pages | number[] | yes | 1-indexed page numbers to remove. |
| idempotencyKey | string | no | Unique key to prevent duplicate operations on retry. |
Response
{ fileId: string; originalname: string; originalPageCount: number; removedPages: number[]; finalPageCount: number }pdf_to_imagesConvertConvert each page to a separate image file stored in the account. Use get_file_url on each returned fileId to download.
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | ID of the PDF to convert. |
| format | 'png' | 'jpg' | no · png | Output image format. |
| idempotencyKey | string | no | Unique key to prevent duplicate operations on retry. |
Response
{ fileId: string; originalname: string; page: number }[]pdf_to_wordConvertConvert a PDF into an editable Word document (.docx).
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | ID of the PDF to convert. |
| idempotencyKey | string | no | Unique key to prevent duplicate operations on retry. |
Response
{ fileId: string; originalname: string; size: number }word_to_pdfConvertConvert a Word document (.doc or .docx) stored in the account into a PDF.
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | ID of the Word file to convert. |
| idempotencyKey | string | no | Unique key to prevent duplicate operations on retry. |
Response
{ fileId: string; originalname: string; size: number }