RelayPDF

Generate, convert, edit, and extract PDFs from MCP clients. RelayPDF is a PDF and document MCP server. It generates PDFs from HTML, URLs, Markdown, and templates, converts Office files, images, and email, and edits PDFs (merge, split, fill, protect, optimize). It extracts OCR text and JSON. Hosted at https://api.relaypdf.com/mcp or local via npx @relaypdf/cli mcp.

Hosted MCP Server

npx add-mcp 'https://api.relaypdf.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Use POST https://api.relaypdf.com/mcp when the host needs a public URL (Claude, Relevance, remote Cursor). Use npx @relaypdf/cli mcp on a laptop after relaypdf setup. Agents should never ask a human to paste an API key into chat.

Two transports, same tools. Hosted MCP is Streamable HTTP with Clerk OAuth (browser login) or a Bearer API key. Stdio MCP is for local Cursor/Claude Desktop after relaypdf setup. Generating tools on the hosted server return a 24-hour URL — not filesystem paths and not raw bytes.

Hosted (Streamable HTTP)

POST https://api.relaypdf.com/mcp. Unauthenticated requests return 401 with WWW-Authenticate resource_metadata. Cursor and Claude then complete Clerk sign-in. File inputs are https URLs or base64 file. Prefer a previous tool’s url as the next input. async: true returns a job id; poll with jobs_get or jobs_wait.

Claude Code

claude mcp add --transport http relaypdf https://api.relaypdf.com/mcp

Cursor / JSON (remote)

URL only. The host stores the OAuth token after Allow. Do not put a key in the prompt. Bearer headers still work for hosts that already have a key.

mcp.json

{
  "mcpServers": {
    "relaypdf": {
      "url": "https://api.relaypdf.com/mcp"
    }
  }
}

Bearer API key (optional)

Scripts and hosts that cannot run OAuth can send Authorization: Bearer pdf_live_…. Store the key in the host’s header or env mapping — not in chat.

mcp.json

{
  "mcpServers": {
    "relaypdf": {
      "url": "https://api.relaypdf.com/mcp",
      "headers": {
        "Authorization": "Bearer pdf_live_…"
      }
    }
  }
}

Stdio (local CLI)

Uses the same local credentials as CLI commands (~/.config/relaypdf/credentials.json or RELAYPDF_API_KEY). Binary tools require out (a filesystem path).

Start

npx @relaypdf/cli mcp

Cursor example (stdio)

Point an MCP server entry at npx after relaypdf setup.

mcp.json

{
  "mcpServers": {
    "relaypdf": {
      "command": "npx",
      "args": ["-y", "@relaypdf/cli", "mcp"]
    }
  }
}