pdffr について
pdffr-mcpは、エージェントや他のMCPクライアント向けにPDFをMarkdownへ変換するローカルMCPサーバーです。まずグリフの幾何情報を読み取り、説明できないページ内容に限ってオンデバイスOCRを使うため、文書は端末内に留まります。
主な機能
- 01PDFからMarkdownへの変換
- 02幾何情報に基づくテキスト抽出
- 03説明できない内容へのオンデバイスOCR
- 04PDF見出しアウトラインの抽出
- 05JSON形式での表取得
活用シーン
- 01デジタル生成PDFからのテキスト抽出
- 02OCRによるスキャンページの読み取り
- 03ページ選択前の文書見出し確認
- 04構造化処理向けのPDF表取得
MCP 対応
MCPクライアントにPDF変換、アウトライン、表のツールを提供します。入力にはファイルパス、URL、base64データを指定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| ocr | boolean | いいえ | テキストレイヤーで説明できないインクをオンデバイス OCR に切り替えます(デフォルト true) |
| url | string | いいえ | 取得する PDF の URL |
| lang | string | いいえ | OCR に使用する Tesseract の言語(例:'eng'、'deu'、'eng+ara'。デフォルトは 'eng') |
| path | string | いいえ | このマシン上の PDF のパス |
| pages | string | いいえ | ページの選択(例:'1-3,7'。デフォルトはすべて) |
| base64 | string | いいえ | base64 エンコードされた PDF の生バイト列 |
| maxChars | integer | いいえ | Markdown を指定した文字数に切り詰めます(デフォルト 200000) |
詳細
pdffr-mcp
Claude Desktop、Claude Code、Cursor、Windsurf、Zed、ご自身の環境など、あらゆるエージェントに、pdffrを基盤とした、ローカルでプライベートな PDF → Markdown ツールを提供するMCPサーバーです。デジタル生成されたページはグリフの幾何情報からミリ秒単位で逆コンパイルされます。スキャンやスクリーンショットでは、テキストレイヤーで判別できない文字部分に限り、デバイス上でOCRを実行します。データがマシンの外に送信されることはありません。
インストール
Claude Desktop/Claude Code/Cursor/Windsurfでは、MCP 設定に追加します。
{
"mcpServers": {
"pdffr": {
"command": "npx",
"args": ["-y", "pdffr-mcp"]
}
}
}
Claude Code のワンライナー:
claude mcp add pdffr -- npx -y pdffr-mcp
Node 20 以降が必要です。初回実行時に、指定した言語(デフォルトは英語)のOCRモデルがOSの一時ディレクトリにダウンロードされます。
ツール
pdf_to_markdown
PDFをMarkdownに逆コンパイルします。path、url、base64のいずれかを指定してください。
| 引数 | 型 | 説明 |
|---|---|---|
path | string | 絶対パスまたは相対ファイルパス |
url | string | サーバーのネットワークアクセスを使って取得 |
base64 | string | PDFの生バイト列 |
pages | string | 例:"1-3,7"。デフォルトではすべてのページ |
ocr | boolean | 判別できない文字部分をOCRに回します(デフォルトはtrue) |
lang | string | tesseractの言語。例:"deu"、"eng+ara"(デフォルトは"eng") |
maxChars | number | 結果を切り詰めます(デフォルトは200 000)。切り詰めた場合は応答で通知します |
Markdownに続いて、統計情報(ページ数、処理時間、OCR領域数)を1行で返します。
pdf_outline
見出しのみを、レベル、テキスト、ページ番号とともに返します。エージェントは、各ページの内容を取得する前に、どのページを読むか判断できます。入力は同じです(path/url/base64、ocr、lang)。
pdf_tables
すべての表をJSONの行として返します([{ page, rows: string[][] }])。入力は同じです。
なぜビジョンモデルを使わないのか
PDFには、すべてのグリフの位置情報がすでに含まれています。pdffrはその幾何情報を直接読み取り、テキストレイヤーで判別できないピクセルに限ってOCRを行います。そのため、30ページのレポートは1秒もかからず、スキャンされた請求書は数秒で処理できます。APIキーもアップロードも必要ありません。アーキテクチャの解説をご覧ください。
MIT © Amer Sarhan
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。