
superPDF AI
io.github.arjunprabhulal由 GitHub 帳號 arjunprabhulal 發布v0.4.1更新於 Oct 27, 2026
PDF tools on your computer: read, convert, edit, merge, fill and compare PDFs. Nothing is uploaded.
概覽
本機 MCP 伺服器,讓助理在你允許的資料夾內讀取、轉換、編輯、合併、填寫與比對 PDF,且不上傳檔案。
- 可以做什麼
- 列出並檢視允許資料夾中的 PDF:檔案清單、頁數、頁面尺寸、表單欄位與屬性
- 讀取內容:逐頁取出內嵌文字,並以 Markdown、HTML 或 JSON 輸出含標題、表格、圖表與清單的結構
- 擷取表格與向量圖表為 Excel、CSV、JSON 或 Markdown;取得大綱並逐頁比對兩個版本
- 將 PDF 轉為 Word、PowerPoint 或 EPUB,也可由圖片或 Markdown 產生 PDF
- 編輯頁面與表單:合併、拆分、擷取或刪除頁面,填寫並扁平化表單,加入文字、調整尺寸、旋轉、加頁碼或浮水印
- 加密與修復:AES-256 密碼保護、解鎖、清除中繼資料、修復損壞檔案;執行多步驟流程或批次作業
- 適用情境
- 適合需要在自己電腦上處理 PDF 的情況,例如把發票明細整理成表格、把報告轉成 Markdown 或 Word、合併檔案或填寫表單,同時讓檔案留在本機。
- 執行需求
- 透過 npm 套件 @superpdf/cli 以 stdio 在本機執行,需要 Node.js 22 或更新版本(也可用 Homebrew 安裝)。啟動時以 --allow-dir 指定助理可用的資料夾。Office 轉 PDF 需要 LibreOffice。未宣告帳號、API 金鑰或環境變數。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 superPDF AI,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
[superPDF AI]
superPDF AI: PDF tools that run on your computer, from the command line, Python, AI assistants (MCP) or a local API.
Tables, charts, headings and scans to Markdown, HTML or JSON; Word, Excel and PowerPoint; forms, merging and comparing. The reader works by rules, not a language model; scans go through Tesseract OCR. Nothing is uploaded.
[CI] [npm] [License: Apache-2.0] [Node.js 22+] [MCP server]
Website · Docs · Python docs · Benchmark · Changelog
How it compares · Quick start · JavaScript/TypeScript · Python · MCP tools · How it works
npx @superpdf/cli export report.pdf --output report.md
superPDF reads a PDF the way it was made: from the text, fonts and drawings inside it. It rebuilds the document as Markdown, HTML or JSON, with headings at the right level, tables with their rows and columns, and charts turned back into the numbers they were drawn from. Scanned pages are read with OCR in 15 languages.
It runs on your computer as a command, a Python package, an MCP server for AI assistants such as Claude Code, Cursor and Codex, or a local REST API for your own scripts. It only opens files in the folders you allow and never uploads them (through MCP, the text your assistant reads goes to its model, as with any file you show it). It is the same reader that powers superpdf.ai in the browser.
How it compares
On ParseBench, in our own run of its open-source test suite on all 2,078 documents, superPDF scores 65.0 overall (64.8 on documents it was never tuned on). It is not on the official leaderboard yet. The other scores are a selection from the public leaderboard (October 12, 2026).
Compared with the Azure, Google and AWS services, superPDF scores much higher on charts and higher on formatting; Azure and Textract score higher on tables. LlamaParse and Claude Opus 5.5 score higher overall. Full table and method: superpdf.ai/performance.
Quick start
You need Node.js 22 or later.
Use it from the terminal
npx downloads the tool once and runs it. To install the superpdf command for regular use:
Or with Homebrew on macOS or Linux, which brings its own Node.js:
Use it from your AI assistant (MCP)
Create the folder the assistant may use, then add the server. For Claude Code:
For Cursor, Claude Desktop and other assistants that read an MCP settings file:
With the command installed (npm install -g @superpdf/cli), use superpdf mcp --allow-dir … in place of
npx -y @superpdf/cli mcp --allow-dir …. Then ask, for example: "Read invoice.pdf in my superPDF folder and give me
the line items as a table." The assistant can only use the folders you pass with --allow-dir. Setup for each
assistant: superpdf.ai/docs/mcp-api/mcp-tool-access.
Use it from Python
Node.js comes with the package. All 30 tools, a LlamaIndex reader and the full reference are in the Python docs and python/README.md.
Use it from JavaScript or TypeScript
Every tool is an async function (merge, split, fillForm, compare, runBatch and the rest; tools() lists
them) that takes the tool's JSON input and returns its typed result. It runs in your Node.js process (22 or later):
no server, no subprocess. TypeScript types come with the package, generated from the same schemas as the MCP server
and the API. Errors are SuperPDFError with a code (validation, conflict, not_found, operation_failed).
Each call may only use the folders of the paths you give it, or the ones you pass as { allowDirs }.
Use it from your own code (REST API)
This starts a private API on 127.0.0.1 that only this computer can reach. It prints a token when it starts (or set
SUPERPDF_API_TOKEN, at least 32 characters); every request under /v1/ needs it. The OpenAPI 3.1 document is served at /openapi.json (also
openapi.json here, generated from the tool schemas). Guide and reference:
superpdf.ai/docs/api.
What it reads
[Input: a one-page report PDF with a table and a bar chart. Output: the Markdown superPDF writes from it, with the heading levels, the table, and the chart's values as a table]Commands
[superpdf help in a terminal: commands grouped under Read and convert, Edit pages, and For AI agents and code, then examples and notes]Results are always written to a new file; existing files are never overwritten. superpdf help shows every command.
Try info and export on examples/quarterly-report.pdf, a one-page report.
export also reads an https:// link: up to 2 GB, stopping after 60 seconds without data and following up to 5
redirects. Links to this computer or the local network (localhost, private and link-local addresses) are refused at
every redirect, anything that isn't a PDF is refused, and the download is deleted once it's read. Only export takes
links; mcp, serve and tool read files inside their --allow-dir folders.
MCP tools
What makes it different
Most PDF-to-text tools take the text layer and sort it by position, or run an AI model on a picture of the page. superPDF works from the PDF's own drawing instructions, which keeps exact text and positions and recovers things both approaches tend to lose:
- Charts become data. Bars, lines, dots, areas and pie slices are drawn as shapes;
pdf-charts.jsmeasures bars, lines, dots and areas against the axis labels (or, without an axis, against the values printed on them), reads pie slices from their angles, and matches series to their legend colours. Charts saved as pictures fall back to reading the bars' pixels. - Lost letters are recovered. When a font has no proper Unicode table, PDF.js reads its letters as blanks or leaves them out.
pdf-text-fixes.jsmatches each glyph's outline against letters it has already identified, and checks TrueType fonts against the standard Mac glyph order, then puts the letters back. - Bold is measured, not guessed. Font names are often hidden (
F1,g_d0_f2), sopdf-structure.jsmeasures the glyphs' stroke thickness, compares the widths of two cuts of one font, and detects text drawn twice or outlined to look bold. On scans it measures the ink thickness of each word. - Spacing and hidden text are fixed. False spaces that PDF.js inserts in letter-spaced words and around Chinese and Japanese characters are removed by measuring the glyphs the page draws, text drawn outside a rectangular clipping area is left out, and Arabic lam-alef ligatures that come out with their letters swapped are corrected.
- OCR only where it's needed. Whole scanned pages, pages whose font encoding is garbled, and pictures that contain text (checked first for letter-like shapes, so photos don't produce noise). The language comes from the PDF's language tag or the text itself, and a poor reading is retried with Sauvola thresholding.
- Tables three ways. Ruled lines, lines found in the pixels of scanned pages, and borderless tables from aligned columns of text (on pages with a text layer).
How it works
- Read. PDF.js gives the text with its fonts and positions, and the drawing operations (lines, rectangles, curves).
- Recognize. Scanned or garbled pages, and pictures that contain text, go through Tesseract OCR.
- Repair. Letters drawn without a Unicode mapping are recovered from their outlines, and spacing is fixed.
- Rebuild. Rules group the text into lines and blocks, find table grids and borderless columns, read charts from their shapes and axis labels, size headings from the fonts and order columns for reading.
- Write. Markdown, HTML or JSON; the JSON keeps each block's page and position.
The reader lives in lib/: pdf-structure.js (pages to blocks), pdf-layout.js (lines, tables, reading
order), pdf-charts.js (charts) and pdf-text-fixes.js (text repairs). Ideas adapted from pdfplumber, Camelot,
tabula-java and others are credited in NOTICE.
Privacy and security
- Everything runs on your computer. The only network requests superPDF makes are the job callbacks (webhooks) you configure for the API; the OCR language data is in the package.
- The MCP server and the API read and write only inside the
--allow-dirfolders; paths are resolved through symlinks, so they can't escape. - The API listens on
127.0.0.1only and needs its bearer token on every request under/v1/. - Outputs are written to new files; existing files are never overwritten.
Found a security issue? See SECURITY.md.
Contributing
Issues and pull requests are welcome. For a reading problem, attach the PDF (or one page of it) and the output you expected. See CONTRIBUTING.md.
License
Apache-2.0. Credits for adapted ideas and bundled data are in NOTICE. "superPDF" and its logo are the project's marks and are not covered by the licence.
來源:README.md,提交 ed8194d
工具
0版本歷史
1- v0.4.1最新Oct 15, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分