Back to Directory/Media & Images

Papyrio PDF Tools

Compress, convert, merge, split and OCR PDFs from an assistant, using local files.

Media & ImagesTypeScriptv0.1.3

papyrio-mcp

npm Listed on mcpservers.org

An MCP server for the Papyrio PDF API. Setup for Claude, Cursor and VS Code: papyrio.net/mcp. It lets an assistant compress, merge, OCR and convert PDFs on your own machine, reading and writing local files, so multi-step work does not mean uploading and downloading between every step.

OCR every scan in ~/invoices, merge them into one PDF, compress it under 5 MB

is four tool calls the assistant makes by itself.

Install

Add this to your Claude Desktop config:

macOS ~/Library/Application Support/Claude/claude_desktop_config.json Windows %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "papyrio": {
      "command": "npx",
      "args": ["-y", "papyrio-mcp"]
    }
  }
}

Restart Claude Desktop. The tools appear under the connector icon.

API key

The server works without one, metered as ordinary free web traffic: three operations a day per IP address. Enough to see whether it is useful.

For real use, subscribe on RapidAPI and pass the key:

{
  "mcpServers": {
    "papyrio": {
      "command": "npx",
      "args": ["-y", "papyrio-mcp"],
      "env": { "PAPYRIO_API_KEY": "your-rapidapi-key" }
    }
  }
}

The free RapidAPI tier is 50 requests a month and needs no card.

Tools

ToolDoesWrites
compress_pdfShrinks a PDF, 30–80% on image-heavy files.pdf
merge_pdfsJoins 2–10 PDFs in order.pdf
split_pdfSeparates every page into its own file.zip
extract_pdf_textReturns the text layer as UTF-8.txt
pdf_to_wordRebuilds the document as an editable .docx.docx
pdf_to_jpgRenders every page as a JPG.zip
ocr_pdfAdds a searchable text layer to a scan.pdf
office_to_pdfWord, PowerPoint or Excel to PDF.pdf
image_to_pdfWraps a JPG, PNG or WebP in a PDF page.pdf
webpage_to_pdfRenders a public URL in a headless browser.pdf
protect_pdfEncrypts with AES-256.pdf
unlock_pdfRemoves a password you already know.pdf

Every tool takes absolute paths. output_path is optional and defaults to the input name with a -papyrio suffix — except webpage_to_pdf, which has no input file to derive a name from and so requires it.

Adding a tool

Add an entry to src/tools.ts. The MCP tool, its input schema and the HTTP call are all generated from it.

Testing

npm run build
PAPYRIO_API_KEY=your-key node smoke.mjs

Drives all twelve tools over the real MCP protocol against the live API and checks the returned file's magic bytes, so a JSON error body named .pdf fails rather than passes. Without a key it runs on the guest tier, where three operations a day means most cases will hit rate_limit_exceeded.

Develop

npm install
npm run build

Point your config at the local build while working on it:

{
  "mcpServers": {
    "papyrio": {
      "command": "node",
      "args": ["/absolute/path/to/mcp/dist/index.js"]
    }
  }
}

Privacy: files are sent to the Papyrio API, processed in memory, and discarded when the response is sent. Nothing is stored.

Licence

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y papyrio-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-atabekdemurtaza-papyrio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "papyrio-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

papyrio-mcpnpm

Compatible MCP Clients

Papyrio PDF Tools works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More