Get the FREE Ultimate OpenClaw Setup Guide →

PDF

A high-performance MCP (Model Context Protocol) server for PDF processing, built in Rust/C++.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio paradyno-pdf-mcp-server docker run -i paradyno/pdf-mcp-server

How to use

The PDF MCP Server provides a high-performance set of PDF capabilities implemented in Rust, exposed through the MCP (Model Context Protocol) interface. It enables you to read, search, manipulate, and secure PDFs using a suite of tools such as extract_text, extract_metadata, extract_outline, extract_annotations, extract_links, extract_form_fields, as well as operations for splitting, merging, compressing, and filling forms. It also supports security features like protect_pdf and unprotect_pdf, along with sandboxing and SSRF protections. You can access these tools through MCP clients by issuing standardized requests to the server and passing PDF sources in a variety of accepted formats. The server can also expose PDFs as MCP Resources for direct client access, enabling streamlined integration into AI workflows and agent tooling.

To use the server, connect via the MCP endpoint and call the desired tool by name (e.g., extract_text, extract_metadata, convert_page_to_image, split_pdf, merge_pdfs). Each tool accepts a JSON payload with sources (paths, base64, URLs, or cache keys), optional parameters like pages or password, and caching controls. Depending on the tool, you may receive structured results such as extracted text, metadata objects, outlines, link lists, form fields, or image data (base64-encoded PNGs for rendered pages). It’s designed to work efficiently with batch processing and an LRU cache with a configurable byte budget, enabling fast repeated queries.

For best results, prepare your PDF inputs in one of the supported forms and tailor the request to the specific tool’s parameters (e.g., pages range for extraction, which annotation types to include, or which fields to read from a form). If you’re integrating with agents or pipelines, you can chain operations by using cache keys or by passing intermediate results as inputs to subsequent tools, taking advantage of the server’s performance optimizations.

How to install

Prerequisites:

  • Docker installed and running (recommended for running the prebuilt image).
  • Alternatively, you can build from source and run the binary locally if you prefer native execution.

Option A: Run via Docker (recommended)

  1. Ensure Docker is installed and running on your system.

  2. Start the PDF MCP Server using the published image:

    docker run -i --rmParadyno/pdf-mcp-server

  3. Connect your MCP client to the exposed endpoint (configure host/port as needed in your client).

Option B: Build from source (Rust)

  1. Install Rust and Cargo from https://www.rust-lang.org/tools/install

  2. Clone the repository:

    git clone https://github.com/paradyno/pdf-mcp-server.git cd pdf-mcp-server

  3. Build the server binary:

    cargo build --release

  4. Run the server binary (adjust path as needed):

    ./target/release/pdf-mcp-server

  5. Connect your MCP client to the local endpoint.

Prerequisites summary:

  • Docker (recommended) or Rust toolchain (for building from source)
  • Network access to your MCP clients
  • Optional: GPU drivers or additional libraries if you enable specific acceleration features

Additional notes

Tips and common considerations:

  • If using Docker, consider setting resource limits (CPU/mmemory) to match your workload and enabling persistent storage if the server maintains caches or state.
  • Review environment variables and configuration options for security (e.g., restricting access, enabling SSRF protections, sandboxing paths).
  • For large PDFs or batch processing, leverage the server’s batch processing and LRU caching with a suitable byte budget to maximize throughput.
  • When using password-protected PDFs, pass the password per request via the password field.
  • If you encounter missing tool capabilities, ensure you are using a compatible image or build that includes the pdf-mcp-server tooling, and verify that the input sources are provided in an accepted format (path, base64, url, or cache_key).

Related MCP Servers

Sponsor this space

Reach thousands of developers