Back to MCP Servers

PDF Tools MCP Server

Local-first MCP server for Claude Desktop that fetches, views, fills, signs, reorganizes, and extracts data from PDFs without uploading files to external services.

Developer Tools by Open Document Alliance None active
Overview

PDF Tools is an open-source MCP server, maintained by the Open Document Alliance, that brings PDF manipulation directly into Claude Desktop and other MCP hosts. It is designed to keep documents on the user's machine: files are read, written, and analyzed locally rather than being uploaded to a third party service. By default the server can read and write inside ~/Documents, ~/Downloads, and ~/Desktop, and additional folders can be allowed through Claude Desktop's "Allowed PDF Directories" setting.

The server exposes roughly 40 tools across five workflows: viewing and reading PDFs (display_pdf, read_pdf_content, render_pdf_page, search_pdf_text), form workflows with reusable profiles (read_pdf_fields, fill_pdf, bulk_fill_from_csv, save_profile, load_profile), signature handling (detect_signature_zones, create_signature, apply_signature), page management (merge_pdfs, split_pdf, rotate_pdf_pages, reorder_pdf_pages), and structured extraction (extract_to_csv, get_pdf_info, get_page_analysis).

PDF Tools is distributed as a Claude Desktop Extension (.mcpb bundle) for one-click install, and can also be wired into any other MCP host by pointing it at the Node server entry point. It is MIT-licensed and requires no API keys or external accounts.

Tools

Tool Description
fetch_pdf_from_url Download a PDF from a URL into an allowed local directory.
display_pdf Show a PDF inline so Claude can inspect it visually.
list_pdfs List PDFs in allowed directories.
read_pdf_content Extract full text content from a PDF.
read_pdf_pages Read text from a specific page range.
render_pdf_page Render a PDF page as an image for visual inspection.
search_pdf_text Search for text within a PDF.
read_pdf_fields Inspect all fillable form fields in a PDF.
fill_pdf Fill and save a PDF with provided field values.
bulk_fill_from_csv Generate many filled PDFs from a CSV of field values.
save_profile Save a reusable set of field values as a named profile.
load_profile Load a saved profile to reuse field values across forms.
list_profiles List saved form-fill profiles.
validate_pdf Validate PDF structure and form integrity.
detect_signature_zones Detect likely signature zones in a document.
add_signature_field Add a signature field at a given location.
create_signature Create a reusable signature asset.
list_signatures List saved signatures.
apply_signature Apply a saved signature to a PDF.
apply_text Apply text overlays such as dates or names to a PDF.
merge_pdfs Merge multiple PDFs into one.
split_pdf Split a PDF into multiple files.
rotate_pdf_pages Rotate selected pages by 90, 180, or 270 degrees.
reorder_pdf_pages Reorder pages within a PDF.
apply_page_plan Apply a multi-step page reorganization plan in one call.
extract_to_csv Extract structured data from a PDF into CSV.
get_pdf_info Return PDF metadata such as page count, title, and author.
get_page_analysis Analyze the layout and content of a specific page.
Setup Guide

Claude Desktop (recommended)

Download the latest .mcpb file from the project's GitHub Releases page and double-click it. Claude Desktop will install it as an extension. The extension also appears in Claude's built-in extension directory.

After install, open Claude Desktop settings and review the "Allowed PDF Directories" list. By default the server can access:

  • ~/Documents
  • ~/Downloads
  • ~/Desktop

Add any additional folders you want Claude to read or write before invoking PDF tools on them.

Other MCP hosts (Cursor, Cline, Continue, etc.)

Clone the repo and point your MCP client at the Node server entry:

git clone https://github.com/Open-Document-Alliance/PDF-Tools.git
cd PDF-Tools
npm install

Then add the server to your MCP client config:

{
  "mcpServers": {
    "pdf-tools": {
      "command": "node",
      "args": ["/full/path/to/PDF-Tools/server/index.js"]
    }
  }
}

Prerequisites

  • Node.js installed locally
  • Claude Desktop (for the .mcpb install path) or any MCP-compatible client
  • No API keys, accounts, or paid plans required
Use Cases
  • Batch-fill recurring HR or tax forms by saving a reusable profile and re-applying it to new templates, or by bulk-filling many records from a CSV.
  • Sign and date contracts locally: detect signature zones, apply a stored signature, and overlay the date without sending the document to a cloud signing service.
  • Reorganize scanned documents by merging multiple PDFs, splitting a combined statement into per-month files, and rotating or reordering pages.
  • Pull structured data out of invoices, statements, or reports into CSV for further analysis with extract_to_csv and get_page_analysis.
  • Triage a PDF inbox: list PDFs in ~/Downloads, search across them for keywords, and surface the relevant pages as rendered images for review.
Example Prompts
  • "Fill out the W-9 in ~/Downloads using my 'Acme LLC' profile and save it as W-9-acme-signed.pdf."
  • "Merge all invoices from ~/Documents/Invoices/2026/Q1 into one PDF and rotate any landscape pages back to portrait."
  • "Detect signature zones in lease.pdf, apply my saved signature, and stamp today's date next to it."
  • "Read the form fields in benefits-enrollment.pdf and bulk-fill it from employees.csv, one output per row."
  • "Extract the line items from statement.pdf into a CSV with columns date, description, and amount."
Pros
  • Local-first design keeps PDFs on the user's machine with a directory sandbox; no uploads, no API keys.
  • Broad tool coverage across viewing, form filling, signing, page management, and extraction (40+ tools).
  • Ships as a one-click Claude Desktop .mcpb extension while also supporting any other MCP host via a standard Node command.
  • Reusable profiles and signatures make repetitive form workflows much faster.
Limitations
  • Tightly oriented around Claude Desktop's extension model; the cleanest install path assumes Claude Desktop users.
  • Access is limited to directories explicitly allowed in settings, which can trip up users who store PDFs outside ~/Documents, ~/Downloads, or ~/Desktop.
  • README is concise and does not document every tool's parameter schema in detail, so some experimentation is needed.
Alternatives
  • PDF.co MCP Server: cloud-backed PDF operations including OCR and advanced form handling via the PDF.co API.
  • FormFill MCP: focused MCP server specifically for filling PDF forms from an AI agent.
  • danielkennedy1/pdf-tools-mcp: Python-based MCP server for extracting text, snippets, and rendering PDF pages.