PDF Tools MCP Server

by Open-Document-Alliance• 158•• Scanned•Claim this listing•Request removal
Productivity & Workflowclaudeclaude desktopelectronic signaturemcpmcpb

Fill, sign, merge, split, and extract PDFs from Claude Desktop and other MCP hosts. Maintained by the Open Document Alliance.

PDF Tools is an open-source mcp server by Open-Document-Alliance, written mainly in JavaScript, with 158 GitHub stars and the MIT license. Its code was last updated Oct 21, 2026.

Scan summary: scanned Nov 5, 2026 at commit eff6b2d. Seen able to connect to databases, connect to the internet. Scan policy

What PDF Tools can touch

  • Run shell commandsNot seen in this scan
  • Run dynamic codeNot seen in this scan
  • Read or write filesNot seen in this scan
  • Read environment and secretsNot seen in this scan
  • Control a web browserNot seen in this scan
  • Connect to databasesListed as a tool: verify_table_proposal
  • Read or send messagesNot seen in this scan
  • Touch money or tradingNot seen in this scan
  • Connect to the internetFound in the code by our scan

"Not seen" means our checks did not find it, and the tool may still do it. Covers commit eff6b2d, Nov 5, 2026. See the scan policy.

Before you install PDF Tools

AgenticMart scanned PDF Tools on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What it can access

  • An MCP server is a program your AI app starts and talks to. A local one runs with your user's permissions: it can see the files, environment variables and network your account can.

Before you install

  1. Pin the version you reviewed instead of always installing the latest release.
  2. Read the tool list or scripts before the first run, and keep approval prompts on for actions that write, send or delete.
  • Maintained by Open-Document-Alliance on GitHub, 158 stars and 25 forks. Popularity is not proof of safety.
  • Last code change: Oct 21, 2026.
  • Open-source license: MIT.

Tools PDF Tools exposes (64)

Listed by the server itself during our scan of commit eff6b2d.

  • unlock_pdf

    Open a private local window to enter this PDF's password. The password goes directly to PDF Tools and is never a tool argument. Access lasts at most ten minutes for this exact document in this server session. Does not grant modification permissions or remove encryption.

  • get_pdf_unlock_status

    Check whether this exact PDF is unlocked in the current PDF Tools session. Returns status only, never a password or unlock link.

  • lock_pdf

    Clear this PDF's in-memory password and cancel its pending unlock window. Already completed reads or saved outputs are not removed.

  • import_host_pdf

    Import exact PDF bytes explicitly supplied by an app into the already-permitted private plugin workspace. Does not accept or fetch a source path or URI, grant folder access, replace a file, send a document, or sign. Refuses encrypted or unsupported PDFs. Creates a new local copy of at most 16 MiB.

  • open_pdf_workspace

    Open the PDF Tools workspace starting screen. No PDF is opened, no folders are scanned, and no document is changed or sent. Choose a task, then identify the PDF in the conversation.

  • list_pdfs

    List PDF files in a directory, sorted by name, returning at most 200 paths per call and reporting the true total when more exist. Use offset to page through a folder with more than 200 PDFs. This tool operates on the user's local filesystem — all paths must be absolute paths on the user's machine (e

  • read_pdf_fields

    Read all form fields from a PDF file and display them in an interactive viewer. Returns field names, types, and current values. Also renders the PDF visually — no need to also call display_pdf. All paths must be absolute paths on the user's local machine, NOT Claude container paths (/mnt/...). For p

  • fill_pdf

    Fill a PDF form with provided data and save it. output_path may be the same as pdf_path for in-place editing; the original is backed up on the first same-path mutation. All paths must be absolute paths on the user's local machine, NOT Claude container paths (/mnt/...). For password-protected PDFs, u

  • bulk_fill_from_csv

    Fill multiple PDFs using data from a CSV file. Output filenames must be unique. New outputs need no identity; every existing destination requires one exact entry in expected_output_identities. Any missing, stale, unrelated, or duplicate identity or any row failure aborts the whole batch. For passwor

  • save_profile

    Save form data as a reusable profile

  • load_profile

    Load a saved profile

  • list_profiles

    List all saved profiles

  • fill_with_profile

    Fill a PDF using a saved profile For password-protected PDFs, use unlock_pdf and enter the password in its local window before retrying. Never pass passwords in chat or tool arguments.

  • extract_to_csv

    Extract form data from filled PDFs to a new CSV file. Publishes atomically, preserves every source PDF, and refuses existing output files. Choose a new output path for each export.

  • validate_pdf

    Inspect AcroForm value coverage and the PDF's actual Required flags without mutating the document. Returns explicit complete, partial, no-fields, and indeterminate states plus a narrow required-field claim boundary; it does not determine legal validity, business-rule validity, signature validity, or

  • read_pdf_content

    Read PDF text for broad understanding of the document. Returns an explicit extraction_status (complete, partial, or failed); a failed result must not be interpreted as an empty PDF. Best for full-document summarization, question answering, and exploratory analysis when you want a single text-oriente

  • read_pdf_pages

    Read a specific page range from a PDF with page-numbered structured output. Use this when the model should inspect or quote a bounded slice of the document instead of loading the whole thing at once. All paths must be absolute paths on the user's local machine, NOT Claude container paths (/mnt/...).

  • read_pdf_layout

    Extract a bounded page range into the versioned PDF Tools Extraction IR using the local pinned PDF.js parser. Returns source identity, raw page boxes and rotation when available, PDF.js-authoritative display geometry in physical 1/72-inch points after UserUnit, conservative lines and nonsemantic flo

  • convert_pdf_to_markdown

    Convert a bounded page range of a local PDF into deterministic Markdown from the source-validated PDF Tools Extraction IR. Headings and lists require geometry or literal marker evidence. By default, a table requires a complete recurring text grid, a clean ruled-rectangle grid, or a complete closed p

  • verify_table_proposal

    Deterministically check an untrusted table-structure proposal against a fresh, independently source-validated parse of the current PDF. The caller supplies only a region/token identity and item-to-cell assignments; text, geometry, header evidence, and packet fields are regenerated from source bytes.

  • render_pdf_page

    Render one PDF.js page view to a PNG image for visual reasoning. The source-bound result distinguishes raw MediaBox/CropBox geometry from the rotated, UserUnit-scaled PDF.js view and raster coordinate spaces. Use this when text extraction is weak or visual layout must be inspected. All paths must be

  • render_pdf_region

    Render a rectangular region from the rotated, UserUnit-scaled PDF.js page view. Coordinates use a top-left origin in PDF.js viewport points and are not interchangeable with MediaBox-relative detect_signature_zones or signing coordinates. The macOS system renderer preserves this view mapping and repo

  • search_pdf_text

    Search extracted PDF text for a literal phrase and return page-numbered snippets. Use this when you need to find mentions of a clause, person, amount, or keyword before deciding which pages to inspect more deeply. All paths must be absolute paths on the user's local machine, NOT Claude container pat

  • get_pdf_resource_uri

    Return the PDF's `pdf://...` resource URI so Claude-compatible MCP hosts can reference the binary directly through this server's Resources API. Use this when the host supports MCP resources and you want to hand Claude the document itself rather than only extracted text.

  • get_pdf_identity

    Return a stable local artifact identity for a PDF without parsing or decrypting its document structure: canonical path, exact byte length, and SHA-256. Use this to bind plans, approvals, outputs, or provenance to the exact input bytes. The tool reads at most 250 MiB through one race-aware file descr

  • display_pdf

    Open the interactive PDF viewer with page navigation, zoom, in-document search, text selection, form-field sidebar, and Sign mode. This is the primary tool for visually working with a PDF. If the user gave you a URL instead of a local path, call fetch_pdf_from_url first, then pass the downloaded loc

  • get_active_document

    Return the toolkit's current active PDF document, including its canonical active_path, any backup_path created on first mutation, and the last mutation metadata. Use this when an agent needs to resume work on the current document without guessing which file is canonical.

  • set_active_document

    Set or rehydrate the toolkit's active document state from a viewer session. Intended for the viewer to resync the canonical active_path and optional backup_path after MCP/server restarts.

  • read_pdf_bytes

    Read PDF file bytes in chunks (for UI rendering)

  • merge_pdfs

    Merge multiple PDF files into a single PDF. For multi-input merges, descriptive metadata is preserved only when every input asserts the same value; conflicting, partial, or invalid Title, Author, Subject, and Keywords claims are omitted rather than misattributed. New outputs commit atomically. Repla

  • split_pdf

    Split a PDF into multiple files by page ranges (e.g. '1-5,6-10') or at regular intervals (e.g. 'every 5'). New outputs need no identity; every existing destination requires one exact entry in expected_output_identities. Any identity or output failure aborts the whole split set. All paths must be abs

  • rotate_pdf_pages

    Rotate pages in a PDF by 90, 180, or 270 degrees. New outputs commit atomically. Replacing a distinct existing output requires its exact current expected_output_identity. All paths must be absolute paths on the user's local machine. For password-protected PDFs, use unlock_pdf and enter the password

  • reorder_pdf_pages

    Rearrange the pages of a PDF in a new order. All pages must be included exactly once (strict permutation). New outputs commit atomically. Replacing a distinct existing output requires its exact current expected_output_identity. All paths must be absolute paths on the user's local machine. For passwo

  • inspect_pdf_accessibility

    Inspect an unencrypted bounded local PDF for exactly eight shallow catalog-level accessibility signals. Returns exact missing or unavailable observations, a source SHA-256 binding, fixed limitations, and areas requiring qualified human review. This structural review does not run veraPDF, assess tag

  • compare_pdfs

    Deterministically compare two complete bounded local PDFs through source-bound parser observations, Extraction IR text geometry, forms, ordinary annotations, metadata, and optional raw-RGBA visual evidence. Page alignment never guesses across unresolved repeated-page ambiguity. Default mode suppress

  • get_pdf_info

    Inspect a bounded local PDF through the pinned parser and return source-bound page geometry, Info and XMP metadata, form fields and widgets, and inert ordinary annotations. Every retained observation is tied to the canonical path, byte length, and SHA-256. Caps and parser failures are reported as pa

  • apply_page_plan

    Apply a page plan to a PDF: reorder, rotate, and delete pages in one pass. Pages not listed in page_order are excluded (deleted). The source is never modified. Replacing a distinct existing output requires its exact current expected_output_identity. All paths must be absolute. For password-protected

  • get_page_analysis

    Analyze a PDF and return per-page metadata with explicit content-analysis provenance: text length, text snippet, image/vector-graphics presence, dimensions, orientation, and blank_status. Only likely_blank pages with complete content measurements are blank candidates, and every candidate still requi

  • create_signature

    Save a reusable signature the user can apply to PDFs. Two styles: 'typed' uses the user's display name rendered in italic script on apply, 'image' uses a PNG/JPEG the user provides (a scan or photo of their actual signature, or a drawn signature as a data URL). Signatures are stored locally at ~/.pd

  • get_allowed_directories

    Report which folders this server may read and write, which configuration layer supplied them, and where the stored configuration file lives. Answers without touching the filesystem, so it works before anything is configured. Use it to explain a path refusal or to tell the user where to change the bo

PDF Tools is an open-source mcp server by Open-Document-Alliance, written mainly in JavaScript. Fill, sign, merge, split, and extract PDFs from Claude Desktop and other MCP hosts. Maintained by the Open Document Alliance.

At a glance

Stars
158
Forks
25
Language
JavaScript
License
MIT
Created
Jun 2025
Last update
Oct 21, 2026
Type
MCP Server
Price
Free

Topics

claudeclaude-desktopelectronic-signaturemcpmcpbmodel-context-protocolpdfpdf-fillerpdf-formspdf-tools

Questions about PDF Tools

What is PDF Tools?

Fill, sign, merge, split, and extract PDFs from Claude Desktop and other MCP hosts. Maintained by the Open Document Alliance.

Who maintains PDF Tools?

PDF Tools is maintained by Open-Document-Alliance on GitHub (Open-Document-Alliance/PDF-Tools). AgenticMart lists it from public repository data.

Is PDF Tools safe to use?

AgenticMart scanned PDF Tools on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What license does PDF Tools use?

It is published under the MIT license.

PDF Tools alternatives

View more →

Similar mcp servers in Productivity & Workflow, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
PDF Tools (this page)
Open-Document-Alliance
158MITOct 21, 2026Scanned, no flagged issues
N8n MCP
czlonkowski
23kMITOct 27, 2026Scanned, no flagged issues
Trigger Dev
triggerdotdev
17kApache-2.0Oct 31, 2026Scanned, no flagged issues
Skill Seekers
yusufkaraaslan
15kMITSep 30, 2026Scanned, no flagged issues
Windows MCP
CursorTouch
11kMITNov 1, 2026Scanned, no flagged issues
Mobile MCP
mobile-next
10kApache-2.0Oct 30, 2026Scanned, no flagged issues