pdf-tools
PDF and image work your AI can finish on its own — merge, split, watermark, convert — handed back as a ready file.
What it's for
Most file tools assume a person with a mouse — an upload box, a settings screen, a download button. This one assumes an assistant. You ask for the thing you want, it fetches the files by URL, does the work, and gives you back a link to the finished file.
Nothing is stored. The result lives on a short-lived host and the link works once, then the file is gone. There is no account to make and no library of your old files sitting somewhere.
How a request flows
Tools
14 total| Tool | What it does |
|---|---|
| Assemble PDFs | |
| pdf_merge | Join several PDFs into one, in the order you give. |
| pdf_split | Break a PDF into one file per page. |
| pdf_organize | Pull out or reorder pages — give the page numbers you want. |
| pdf_rotate | Turn every page 90°, 180° or 270°. |
| Docs ↔ images | |
| pdf_images_to_pdf | Build a PDF from images — one image per page. |
| pdf_to_images | Render each page as an image. |
| pdf_preview | Page count, size, and a thumbnail of page one. Returns the image inline — nothing is hosted. |
| Edit images | |
| image_convert | Change format between PNG, JPEG, WebP and GIF. |
| image_resize | Resize to the dimensions you ask for — ratio kept if you give only one. |
| image_crop | Crop a rectangle out of an image. |
| Shrink & stamp | |
| pdf_compress | Shrink a PDF, and report how much was saved. |
| image_compress | Shrink an image, and report how much was saved. |
| pdf_watermark | Stamp diagonal text across each page. |
| image_contact_sheet | Lay several images out on one sheet, in columns. |
Technical details
Limits, transport and safety behaviourServer
Limits
25 MBper file20files per request500pages per document120characters of watermark text20 sto fetch a source URL
Anything past a limit is refused with a plain message rather than truncated silently.
Handling & safety
Private and link-local addresses are refused, so a URL cannot be used to make the server read something on its own network.
Connect
Any client that speaks MCP over HTTP:
{
"mcpServers": {
"pdf-tools": {
"type": "http",
"url": "https://mcp.pdfsnaps.com/mcp"
}
}
}
Key names vary by client — some call it transport rather
than type. The URL is the part that matters.