pdffr

io.github.AmerSarhan由 GitHub 帳號 AmerSarhan 發布v0.1.1更新於 Oct 24, 2026

Local, private PDF to Markdown for agents: geometry-first parsing, OCR only where needed.

已驗證STDIO僅桌面檔案與儲存資料與分析

概覽

AI 產生的概覽

本機 MCP 伺服器,讓 AI 助理把 PDF 轉成 Markdown、擷取大綱與表格,優先解析文字幾何資訊,只在必要時使用本機 OCR。

可以做什麼
從檔案路徑、URL 或 base64 位元組把 PDF 轉成 Markdown,可指定頁碼範圍、是否 OCR、語言與字元上限,回傳 Markdown 及一行統計資訊。擷取標題大綱,包含層級、文字與頁碼,方便助理先決定要讀哪些頁。把每個表格擷取為依頁分組的 JSON 列資料。三個工具都接受相同的路徑、URL 或 base64 輸入。
適用情境
適合助理需要在本機閱讀、摘要或引用 PDF 報告、發票或掃描檔時使用,尤其是不希望把文件上傳到第三方服務,或需要結構化擷取表格與大綱的情境。
執行需求
透過 npx 以本機 stdio 程序執行(套件名稱 pdffr-mcp),需要 Node 20 以上版本。首次執行會把所要求語言的 OCR 模型(預設英文)下載到作業系統暫存目錄。未宣告 API 金鑰、帳號或環境變數。使用 URL 輸入時需要網路存取。
安裝前請注意
url 輸入會讓伺服器抓取遠端檔案,只應傳入可信的網址。首次執行會下載 OCR 模型,需要網路存取與暫存目錄空間。輸出預設依 maxChars 截斷,長文件可能被截短。說明稱處理在本機進行,資料不會離開本機。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 pdffr,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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:

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

Claude Code one-liner:

bash
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

來源:packages/mcp/README.md,提交 642d495

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分