mcpField
S
superPDF AI

superPDF AI

ローカル
superpdf.ai生産性02 週間前に更新

superPDF AI について

superPDF AIは、開発者やAIアシスタント利用者向けのローカルPDFツールキットです。コマンドライン、SDK、ローカルAPI、MCPから利用でき、LLMを使わずに文書構造、表、グラフを抽出し、OCRにも対応します。ファイルアクセスは許可したフォルダーに限定されます。

主な機能

  1. 01Markdown、HTML、JSONへの構造出力
  2. 02表とグラフの値の抽出
  3. 0315言語のスキャンOCR
  4. 04PDFの結合、分割、比較、編集
  5. 05フォーム入力と文書形式の変換
  6. 06許可フォルダーへのアクセス制限

活用シーン

  1. 01レポートPDFを構造化Markdownに変換
  2. 02表を抽出して表計算で分析
  3. 03OCRでスキャン文書を読み取り
  4. 04版の比較やPDFフォームへの入力

MCP 対応

PDFの一覧表示と読み取り、内容抽出、ファイル変換・編集、バッチ処理のMCPツールを提供します。アクセス先は `--allow-dir` で指定したディレクトリーに限定されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"arjunprabhulal-superpdf": {
"command": "npx",
"args": [
"-y",
"@superpdf/cli"
]
}
}
}
起動コマンドnpx -y @superpdf/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@superpdf/cli0.4.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

superPDF AI

superPDF AI:コンピューター上で実行できる PDF ツール。コマンドライン、Python、AI アシスタント(MCP)、ローカル API から利用できます。

表、グラフ、見出し、スキャン文書を Markdown、HTML、JSON に変換できます。Word、Excel、PowerPoint、フォーム、結合、比較にも対応しています。リーダーは言語モデルではなくルールに基づいて動作し、スキャン文書は Tesseract OCR で処理します。データがアップロードされることはありません。

CI npm License: Apache-2.0 Node.js 22+ MCP server

ウェブサイト · ドキュメント · Python ドキュメント · ベンチマーク · 変更履歴

比較 · クイックスタート · JavaScript/TypeScript · Python · MCP ツール · 仕組み

npx @superpdf/cli export report.pdf --output report.md



superPDF MCP サーバーを使う Claude Code:2 つの請求書を結合し、販売元、番号、支払期日、合計を一覧にするよう依頼すると、superPDF を 3 回呼び出して表で回答します

superPDF は PDF を、作成されたときの構造に基づいて読み取ります。つまり、内部のテキスト、フォント、図形から内容を読み取ります。文書を Markdown、HTML、JSON として再構成し、適切なレベルの見出し、行と列を保った表、元になった数値を復元したグラフを生成します。スキャンされたページは 15 言語の OCR で読み取ります。

コンピューター上でコマンド、Python パッケージ、Claude Code、Cursor、Codex などの AI アシスタント向け MCP サーバー、または独自のスクリプト用ローカル REST API として実行できます。許可したフォルダー内のファイルのみを開き、ファイルをアップロードすることはありません(MCP 経由では、アシスタントが読み取るテキストは、そのアシスタントに見せたファイルと同様に、アシスタントのモデルに送信されます)。これは、ブラウザーで superpdf.ai を支えるものと同じリーダーです。

利用方法インストールまたは実行ドキュメント
コマンドラインnpm install -g @superpdf/cli、またはインストールせずに npx @superpdf/cli …CLI
Homebrew を使ったコマンドラインbrew install arjunprabhulal/superpdf/superpdfTap
AI アシスタント向け MCP サーバーsuperpdf mcp --allow-dir ~/Documents/superPDFMCP の設定
ローカル REST API(OpenAPI 3.1)superpdf serve --allow-dir ~/Documents/superPDFAPI
JavaScript および TypeScript SDKnpm install @superpdf/cli の後、import { toDocx } from '@superpdf/cli'SDK
Python SDKpip install superpdf または uv add superpdfPython
インストールせずに Python を使用uvx superpdf … または pipx run superpdf …Python
LangChainpip install langchain-superpdfローダー
LlamaIndexpip install llama-index-readers-superpdfリーダー
LangGraph エージェントlangchain-mcp-adapters 経由の MCP サーバーエージェント

比較

ParseBench のオープンソーステストスイートを全 2,078 件のドキュメントで実行した独自のテストでは、superPDF の総合スコアは 65.0 です(調整に使われていないドキュメントでは 64.8)。公式リーダーボードにはまだ掲載されていません。その他のスコアは、公開リーダーボード(2026 年 10 月 12 日)から一部を抜粋したものです。

パーサー総合表グラフコンテンツ書式根拠
LlamaParse Agentic Plus(有料サービス)90.293.494.292.387.184.1
Claude Opus 5.5(AI モデル)78.093.964.191.877.063.2
superPDF(言語モデル不使用、独自テスト)65.068.452.280.562.361.5
Azure Document Intelligence59.686.01.684.951.973.8
Docling(docling-models)50.666.452.866.91.066.1
Google Cloud Document AI50.455.11.483.750.561.3
AWS Textract47.984.66.074.83.770.4

Azure、Google、AWS のサービスと比べると、superPDF はグラフのスコアが大幅に高く、書式のスコアも高くなっています。一方、表では Azure と Textract のスコアが高くなっています。総合スコアでは LlamaParse と Claude Opus 5.5 が上回っています。全比較表と方法については、superpdf.ai/performance をご覧ください。

クイックスタート

Node.js 22 以降が必要です。

ターミナルから使う
npx @superpdf/cli export report.pdf --output report.md

npx はツールを一度ダウンロードして実行します。superpdf コマンドをインストールして継続的に使うには、次のようにします。

npm install -g @superpdf/cli
superpdf help

または、macOS または Linux では、Node.js が同梱された Homebrew を使います。

brew install arjunprabhulal/superpdf/superpdf
AI アシスタントから使う(MCP)

アシスタントが使用できるフォルダーを作成してから、サーバーを追加します。Claude Code の場合:

mkdir -p ~/Documents/superPDF
claude mcp add --scope user superpdf -- npx -y @superpdf/cli mcp --allow-dir ~/Documents/superPDF

Cursor、Claude Desktop、その他の MCP 設定ファイルを読み込むアシスタントの場合:

{
  "mcpServers": {
    "superpdf": {
      "command": "npx",
      "args": ["-y", "@superpdf/cli", "mcp", "--allow-dir", "/Users/you/Documents/superPDF"]
    }
  }
}

コマンドをインストール済みの場合(npm install -g @superpdf/cli)、npx -y @superpdf/cli mcp --allow-dir … の代わりに superpdf mcp --allow-dir … を使います。次のように依頼してみてください:"superPDF フォルダーにある invoice.pdf を読み込み、明細項目を表にまとめてください。" アシスタントは、--allow-dir で指定したフォルダーのみ使用できます。各アシスタントのセットアップについては、superpdf.ai/docs/mcp-api/mcp-tool-access をご覧ください。

Python から使う
pip install superpdf                 # or run without installing: uvx superpdf export report.pdf --output report.md
import superpdf

markdown = superpdf.export("report.pdf")
pages = superpdf.export_pages("report.pdf")        # Markdown per page

superpdf.merge(["a.pdf", "b.pdf"], "combined.pdf")  # every tool is a typed function
superpdf.extract_tables("report.pdf", "tables.xlsx")
superpdf.to_docx("report.pdf", "report.docx")

from superpdf.langchain import SuperPDFLoader       # pip install "superpdf[langchain]"
docs = SuperPDFLoader("report.pdf").load()

パッケージには Node.js が同梱されています。30 種類すべてのツール、LlamaIndex リーダー、完全なリファレンスについては、Python ドキュメント と python/README.md をご覧ください。

JavaScript または TypeScript から使う
npm install @superpdf/cli
import { exportPages, extractTables, toDocx, SuperPDFError } from '@superpdf/cli';

const pages = await exportPages('report.pdf');          // [{ page: 1, markdown: '# Quarterly report…' }]
const word = await toDocx({ input: 'report.pdf', output: 'report.docx' });
await extractTables({ input: 'report.pdf', format: 'csv', output: 'tables.csv' });

すべてのツールは非同期関数(merge、split、fillForm、compare、runBatch など。tools() で一覧を取得できます)で、ツールの JSON 入力を受け取り、型付きの結果を返します。Node.js プロセス内で実行されるため(22 以降)、サーバーもサブプロセスも必要ありません。TypeScript 型はパッケージに含まれており、MCP サーバーおよび API と同じスキーマから生成されています。エラーは code(validation、conflict、not_found、operation_failed)を持つ SuperPDFError です。各呼び出しで使用できるのは、指定したパスのフォルダー、または { allowDirs } として渡したフォルダーのみです。

独自のコードから使う(REST API)
superpdf serve --allow-dir ~/Documents/superPDF

これにより、同じコンピューターからのみアクセスできる、127.0.0.1 上のプライベート API が起動します。起動時にトークンが表示されます(または、32 文字以上の SUPERPDF_API_TOKEN を設定してください)。/v1/ 以下へのすべてのリクエストにトークンが必要です。OpenAPI 3.1 ドキュメントは /openapi.json で提供されます(ツールスキーマから生成された openapi.json もこちらにあります)。ガイドとリファレンスについては、superpdf.ai/docs/api をご覧ください。

読み取り内容

入力:表と棒グラフを含む1ページのレポートPDF。出力:superPDFが作成したMarkdown。見出しレベル、表、グラフの値が表として記載されています
PDFの要素superPDFの読み取り方法
表罫線のある表は線から、罫線のない表はテキストの配置から読み取ります(セル内の網掛けは行の区切りとして扱われます)。--tables html を指定すると、結合されたヘッダーセルを維持します
グラフ図形として描かれた棒グラフ、折れ線グラフ、ドットグラフ、面グラフ、円グラフを値の表に変換します。印字ではなく描画から測定した値には、概算であることを示します
構造見出しとそのレベル、段落、リスト、太字と斜体のテキスト、ページヘッダーとフッター
読み取り順序複数列のページは列間の余白で分割するため、テキストを正しい順序で読み取れます
スキャンテキストレイヤーのないページは、英語とその他14言語のTesseract OCRで読み取ります。言語データは同梱されているため、ダウンロードは不要です
大容量ファイルページ数の上限はなく、最大2 GBのファイルに対応します

コマンド

ターミナル上のsuperpdf help:コマンドが「読み取りと変換」「ページの編集」「AIエージェントとコード」ごとに分類され、その後に例と注記が続きます
superpdf info document.pdf                                    # pages, sizes, form fields, properties
superpdf merge a.pdf b.pdf --output combined.pdf
superpdf extract document.pdf --pages 1,3-5 --output selected.pdf
superpdf rotate document.pdf --pages 2 --angle 90 --output rotated.pdf
superpdf export document.pdf --output document.md             # or .html / .json (--format)
superpdf export document.pdf --tables html --output doc.md    # tables as HTML, keeping merged header cells
superpdf export https://example.com/a.pdf --output a.md       # a PDF from an https:// link
superpdf convert report.docx --output report.pdf              # Word, Excel, PowerPoint; needs LibreOffice
superpdf pipeline document.pdf --steps steps.json --output result.pdf
superpdf audio document.pdf --output document.m4a             # read aloud with the macOS system voice
superpdf tools                                                # all 30 tools with their JSON input schemas
superpdf tool pdf_protect --input '{"input":"a.pdf","password":"…","output":"locked.pdf"}'   # any tool, JSON in and out

結果は常に新しいファイルに書き込まれ、既存のファイルが上書きされることはありません。superpdf help ですべてのコマンドを確認できます。 1ページのレポートである examples/quarterly-report.pdf に対して、info と export を試してみてください。

export は https:// リンクも読み取ります。最大2 GBまでダウンロードし、データが60秒間届かなければ停止して、最大5回まで リダイレクトをたどります。リダイレクトのたびに、このコンピューターやローカルネットワーク(localhost、プライベートアドレス、リンクローカルアドレス)へのリンクは拒否され、PDF以外のファイルも拒否されます。ダウンロードしたファイルは読み取り後に削除されます。リンクを受け付けるのは export のみです。mcp、serve、tool は --allow-dir フォルダー内のファイルを読み取ります。

MCP ツール

ツール機能
pdf_list_files許可されたフォルダー内のPDFを一覧表示します
pdf_infoページ数、ページサイズ、フォームフィールド、プロパティを表示します
pdf_read_text埋め込みテキストをページごとに読み取ります
pdf_extract_structure見出し、表、グラフ、リストを含むMarkdown、HTML、またはJSONを出力します
pdf_merge、pdf_split、pdf_extract_pages、pdf_remove_pagesページを結合・分割して、新しいPDFを作成します
pdf_extract_tables表とベクター形式のグラフをExcel、CSV、JSON、またはMarkdownとして出力します
pdf_outline、pdf_compare各セクションのページを示すアウトライン、または2つのバージョン間の変更点をページごとに表示します
pdf_to_docx、pdf_to_pptx、pdf_to_epub編集可能なWord、PowerPoint(テキストはテキストボックスとして出力)、EPUB 3に変換します
pdf_from_images、pdf_from_markdownJPG・PNG画像またはMarkdownファイルからPDFを作成します
pdf_fill_form、pdf_flatten名前を指定してフォームフィールドに入力し、フィールドをページの一部にします
pdf_add_text、pdf_resize_pages署名や注記を文字で追加し、余白を切り取るかページを拡大・縮小します
pdf_rotate_pages、pdf_add_page_labels、pdf_add_watermarkページを回転し、番号を付け(ヘッダーまたはフッター)、透かしを追加します
pdf_protect、pdf_unlock、pdf_remove_metadata、pdf_repairAES-256パスワードの設定、プロパティの削除、破損ファイルの修復を行います
pdf_from_officeWord、Excel、PowerPointをPDFに変換します(LibreOfficeが必要です)
pdf_run_pipeline、pdf_run_batch1つのPDFに対して最大10ステップを実行するか、最大50個のPDFに対して同じステップを実行します

他との違い

多くの PDF からテキストへの変換ツールは、テキストレイヤーを取り出して位置順に並べるか、ページの画像に AI モデルを適用します。 superPDF は PDF 自体の描画命令を処理するため、テキストと位置を正確に保持し、どちらの方法でも失われがちな情報を復元できます。

  • グラフをデータに変換します。 棒、線、点、面、円グラフのスライスは図形として描画されます。pdf-charts.js は軸ラベル(軸がない場合はグラフ上に印字された値)を基準に棒、線、点、面を測定し、角度から円グラフのスライスを読み取り、系列を凡例の色に対応付けます。画像として保存されたグラフは、棒のピクセルを読み取る方法に切り替わります。
  • 失われた文字を復元します。 フォントに適切な Unicode テーブルがない場合、PDF.js は文字を空白として読み取ったり、読み飛ばしたりします。pdf-text-fixes.js は各グリフの輪郭を、すでに特定された文字と照合し、TrueType フォントを標準の Mac グリフ順と照らし合わせてから、文字を戻します。
  • 太字を推測ではなく測定で判定します。 フォント名は隠されていることが多いため(F1、g_d0_f2 など)、pdf-structure.js はグリフの線幅を測定し、同じフォントの 2 つのウェイトの幅を比較して、テキストが二重に描画されている場合や、太字に見えるよう輪郭が描かれている場合を検出します。スキャンでは各単語のインクの太さを測定します。
  • 間隔と隠れたテキストを修正します。 PDF.js が文字間隔を空けた単語や中国語・日本語の文字の周囲に挿入する不要な空白は、ページ上で描画されるグリフを測定して取り除きます。四角形のクリッピング領域外に描画されたテキストは除外し、文字の順序が入れ替わって出力されるアラビア語のラム・アリフ合字を修正します。
  • 必要な箇所だけ OCR を実行します。 ページ全体がスキャンされている場合、フォントエンコーディングが文字化けしている場合、テキストを含む画像がある場合に実行します(写真からノイズが発生しないよう、まず文字らしい形があるか確認します)。言語は PDF の言語タグまたはテキストから判定し、読み取り精度が低い場合は Sauvola のしきい値処理で再試行します。
  • 3 つの方法で表を処理します。 罫線、スキャンページのピクセルから検出した線、テキストレイヤーがあるページのテキスト列の配置から抽出した罫線のない表に対応します。

仕組み

  1. 読み取る。 PDF.js から、フォントと位置を含むテキスト、および描画操作(線、長方形、曲線)を取得します。
  2. 認識する。 スキャンされたページや文字化けしたページ、テキストを含む画像を Tesseract OCR で処理します。
  3. 修復する。 Unicode マッピングなしで描画された文字を輪郭から復元し、間隔を修正します。
  4. 再構成する。 ルールに基づいてテキストを行とブロックにまとめ、表のグリッドと罫線のない列を検出し、図形と軸ラベルからグラフを読み取り、フォントから見出しのサイズを判定して、読みやすい順に列を並べます。
  5. 出力する。 Markdown、HTML、または JSON で出力します。JSON では各ブロックのページと位置が保持されます。

リーダーは lib/ にあります。pdf-structure.js(ページをブロックに変換)、pdf-layout.js(行、表、読み取り順)、pdf-charts.js(グラフ)、pdf-text-fixes.js(テキストの修復)で構成されています。pdfplumber、Camelot、tabula-java などから取り入れたアイデアについては、NOTICE に記載しています。

プライバシーとセキュリティ

  • すべての処理はお使いのコンピューター上で実行されます。superPDF が行うネットワークリクエストは、API 用に設定したジョブのコールバック(Webhook)だけです。OCR の言語データはパッケージに含まれています。
  • MCP サーバーと API は --allow-dir フォルダー内だけを読み書きします。パスはシンボリックリンクをたどって解決されるため、許可された範囲外にはアクセスできません。
  • API は 127.0.0.1 でのみリッスンし、/v1/ 以下へのすべてのリクエストでベアラートークンを必要とします。
  • 出力は新しいファイルに書き込まれます。既存のファイルが上書きされることはありません。

セキュリティ上の問題を見つけた場合は、SECURITY.md をご覧ください。

コントリビューション

Issue とプルリクエストを歓迎します。読み取りに関する問題を報告する場合は、PDF(またはその 1 ページ)と期待する出力を添付してください。CONTRIBUTING.md をご覧ください。

ライセンス

Apache-2.0。アイデアの改変および同梱データに関するクレジットはNOTICEに記載されています。「superPDF」とそのロゴはプロジェクトの商標であり、ライセンスの対象外です。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。