New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

pdffr-mcp

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pdffr-mcp

MCP server for pdffr: PDF → Markdown for AI agents, local and private. Tools: pdf_to_markdown, pdf_outline, pdf_tables.

latest
Source
npmnpm
Version
0.1.1
Version published
Weekly downloads
29
-34.09%
Maintainers
1
Weekly downloads
 
Created
Source

pdffr-mcp

An MCP server that gives any agent — Claude Desktop, Claude Code, Cursor, Windsurf, Zed, your own — a local, private PDF → Markdown tool backed by pdffr. Born-digital pages decompile from glyph geometry in milliseconds; scans and screenshots get on-device OCR only where the text layer can't explain the ink. Nothing leaves the machine.

Install

Claude Desktop / Claude Code / Cursor / Windsurf — add to your MCP config:

{
  "mcpServers": {
    "pdffr": {
      "command": "npx",
      "args": ["-y", "pdffr-mcp"]
    }
  }
}

Claude Code one-liner:

claude mcp add pdffr -- npx -y pdffr-mcp

Requires Node 20+. The first run downloads the OCR model for the requested language (English by default) into the OS temp directory.

Tools

pdf_to_markdown

Decompile a PDF to Markdown. Give it one of path, url or base64.

ArgumentTypeNotes
pathstringabsolute or relative file path
urlstringfetched with the server's network access
base64stringraw PDF bytes
pagesstringe.g. "1-3,7"; default all
ocrbooleanescalate unexplained ink to OCR (default true)
langstringtesseract language(s), e.g. "deu", "eng+ara" (default "eng")
maxCharsnumbertruncate the result (default 200 000) — the response says if it did

Returns the Markdown, followed by a one-line stats footer (pages, time, OCR regions).

pdf_outline

Headings only — level, text and page — so an agent can decide which pages to read before paying for them. Same inputs (path / url / base64, ocr, lang).

pdf_tables

Every table as JSON rows ([{ page, rows: string[][] }]). Same inputs.

Why not a vision model

A PDF already knows where every glyph is. pdffr reads that geometry directly and reserves OCR for the pixels the text layer doesn't explain, so a 30-page report comes back in well under a second and a scanned invoice in a couple of seconds — with no API key and no upload. See the architecture notes.

MIT © Amer Sarhan

Keywords

mcp

FAQs

Package last updated on 03 Sep 2026

Related posts