Skip to main content
Glama
README.md
# papyrio-mcp

[![npm](https://img.shields.io/npm/v/papyrio-mcp)](https://www.npmjs.com/package/papyrio-mcp)
[![Listed on mcpservers.org](https://mcpservers.org/badge.svg)](https://mcpservers.org/servers/atabekdemurtaza/papyrio-mcp)

An MCP server for the [Papyrio](https://papyrio.net) PDF API. Setup for Claude, Cursor and VS Code: [papyrio.net/mcp](https://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`

```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](https://rapidapi.com/atabekdemurtaza/api/papyrio-pdf-tools) and pass
the key:

```json
{
  "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

| Tool | Does | Writes |
| --- | --- | --- |
| `compress_pdf` | Shrinks a PDF, 30–80% on image-heavy files | `.pdf` |
| `merge_pdfs` | Joins 2–10 PDFs in order | `.pdf` |
| `split_pdf` | Separates every page into its own file | `.zip` |
| `extract_pdf_text` | Returns the text layer as UTF-8 | `.txt` |
| `pdf_to_word` | Rebuilds the document as an editable .docx | `.docx` |
| `pdf_to_jpg` | Renders every page as a JPG | `.zip` |
| `ocr_pdf` | Adds a searchable text layer to a scan | `.pdf` |
| `office_to_pdf` | Word, PowerPoint or Excel to PDF | `.pdf` |
| `image_to_pdf` | Wraps a JPG, PNG or WebP in a PDF page | `.pdf` |
| `webpage_to_pdf` | Renders a public URL in a headless browser | `.pdf` |
| `protect_pdf` | Encrypts with AES-256 | `.pdf` |
| `unlock_pdf` | Removes 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

```bash
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

```bash
npm install
npm run build
```

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

```json
{
  "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

TDQS

A4.1/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct operation or input/output pair, such as text extraction versus OCR, and compression versus splitting or merging. Conversion tools are clearly differentiated by source and target formats. There is no meaningful overlap that would cause misselection.

Naming Consistency4/5

All names use snake_case consistently, which makes the set predictable and readable. Most tools use a verb_noun pattern, while conversion tools use source_to_target, a minor deviation from the dominant convention. The deviation is internally consistent and easy to follow.

Tool Count5/5

Twelve tools is a well-scoped size for a PDF utility server. Each tool earns its place by covering a distinct common operation, with no redundant or filler entries. The count is neither thin nor bloated.

Completeness4/5

The surface covers core PDF workflows: compression, merging, splitting, text extraction, OCR, security, and conversion from Office, images, and web pages. Minor gaps remain around page-level editing such as rotating, reordering, or deleting pages, and form or annotation handling, but agents can work around most of these.

Maintenance

ActivityMaintained
ResponsivenessNo issues