MCP PDF
📄 MCP PDF
PDF処理のためのFastMCPサーバー
テキスト抽出、OCR、テーブル、フォーム、注釈、Markdown↔PDF変換など、47種類のツール
MCP Office Tools との併用が最適です
機能概要
MCP PDFは、複数のライブラリを使用してPDFからコンテンツを抽出し、自動フォールバック機能を備えています。あるメソッドが失敗した場合、別のメソッドを試行します。
主な機能:
テキスト抽出: PyMuPDF、pdfplumber、またはpypdfを使用(自動フォールバック)
テーブル抽出: Camelot、pdfplumber、またはTabulaを使用(自動フォールバック)
OCR: Tesseractを使用したスキャン済みドキュメントの読み取り
フォーム処理: PDFフォームの抽出、入力、作成
ドキュメント構成: ページの結合、分割、並べ替え
注釈: 付箋、ハイライト、スタンプ
ベクターグラフィックス: 回路図や技術図面をSVGとして抽出
フォーマット変換: PDF ↔ Markdown(PDF→MDはPyMuPDF、MD→PDFはpandocを使用)
Related MCP server: PDF MCP Flow
クイックスタート
# Run from PyPI (one-shot, no permanent install)
uvx mcp-pdf
# Add to Claude Code — note the `--` separator before uvx
claude mcp add pdf-tools -- uvx mcp-pdf
# Include the markdown_to_pdf tool (requires pandoc on host)
claude mcp add pdf-tools -- uvx --from "mcp-pdf[markdown]" mcp-pdf
uvxはツールインストールを積極的にキャッシュします。新しいリリースにアップグレードした後は、uvx --refresh mcp-pdf(またはエクストラを使用している場合はuvx --refresh --from "mcp-pdf[markdown]" mcp-pdf)を使用してリフレッシュを強制してください。
git clone https://github.com/rsp2k/mcp-pdf
cd mcp-pdf
uv sync
# System dependencies (Ubuntu/Debian)
sudo apt-get install tesseract-ocr tesseract-ocr-eng poppler-utils ghostscript
# For markdown_to_pdf — pick one PDF-engine route:
sudo apt-get install pandoc tectonic # recommended (small)
# or: sudo apt-get install pandoc texlive-xetex texlive-latex-extra # full TeX
# or: sudo apt-get install pandoc && pip install weasyprint # skip TeX
# Verify
uv run python examples/verify_installation.pyツール
コンテンツ抽出
ツール | 機能 |
| PDFページからテキストを抽出(大きなファイル用に自動チャンク分割) |
| テーブルをJSON、CSV、またはMarkdownとして抽出 |
| 埋め込み画像を抽出 |
| ページフィルタリング付きですべてのハイパーリンクを取得 |
| Tesseractを使用してスキャン済みドキュメントをOCR処理 |
| ベクターグラフィックスをSVGとしてエクスポート(回路図、チャート、図面) |
フォーマット変換
ツール | 機能 |
| 構造を保持したままPDFをMarkdownに変換。画像やSVGベクターをディスクに抽出 |
|
|
markdown_to_pdfの要件: pip install mcp-pdf[markdown] に加え、pandocバイナリと少なくとも1つのPDFエンジン(xelatex、pdflatex、tectonic、weasyprint、またはwkhtmltopdf)がPATH上にある必要があります。ツールは利用可能なものを自動検出し、最高品質のものを使用します。pdf_engine=で指定するか、extra_args=で生のpandocオプションを渡すことができます。
ドキュメント分析
ツール | 機能 |
| タイトル、作成者、作成日、ページ数などを取得 |
| 目次とブックマークを抽出 |
| 列、ヘッダー、フッターを検出 |
| PDFにOCRが必要か確認 |
| テキスト、構造、またはメタデータで2つのPDFを比較 |
| 破損や最適化の可能性をチェック |
| 暗号化、権限、署名をレポート |
フォーム
ツール | 機能 |
| フォームフィールド名と値を取得 |
| JSONからフォームフィールドに入力 |
| テキストフィールド、チェックボックス、ドロップダウンを含む新しいフォームを作成 |
| 既存のPDFにフィールドを追加 |
許可フォーム(座標ベース)
スキャンされたPDFやインタラクティブなフィールドがないフォーム用。座標(x, y)にテキストを描画します。
ツール | 機能 |
| 座標を指定して描画することで任意のPDFに入力(スキャンされたフォームでも動作) |
| 検証やUI生成のためのフィールド定義を取得 |
| 入力前にフィールドスキーマに対してデータを検証 |
| フィールド境界を示すPDFを生成(デバッグ用) |
| 「Xページを参照」という参照付きの画像/テキストページを挿入 |
要件: pip install mcp-pdf[forms] (reportlab依存関係を追加)
ドキュメント構成
ツール | 機能 |
| ブックマークを保持したまま複数のPDFを結合 |
| ページ範囲で分割 |
| 章やセクションの境界で分割 |
| ページをカスタム順序で並べ替え |
注釈
ツール | 機能 |
| コメント注釈を追加 |
| テキスト領域をハイライト |
| 「承認済み」「ドラフト」「機密」などのスタンプを追加 |
| 注釈をJSONとしてエクスポート |
フォールバックの仕組み
サーバーは各操作に対して複数のライブラリを試行します:
テキスト抽出:
PyMuPDF (最速)
pdfplumber (複雑なレイアウトに最適)
pypdf (最も互換性が高い)
テーブル抽出:
Camelot (最高精度、Ghostscriptが必要)
pdfplumber (依存関係なし)
Tabula (Javaが必要)
あるライブラリでPDFの処理が失敗した場合、自動的に次が試行されます。
トークン管理
大きなPDFはMCPの応答制限を超える可能性があります。サーバーは以下のように処理します:
自動チャンク分割: 大きなドキュメントをページグループに分割
テーブル行制限: 巨大なテーブルが応答を圧迫するのを防止
サマリーモード: 全コンテンツではなく構造のみを返す
# Get first 10 pages
result = await extract_text("huge.pdf", pages="1-10")
# Limit table rows
tables = await extract_tables("data.pdf", max_rows_per_table=50)
# Structure only
tables = await extract_tables("data.pdf", summary_only=True)URL処理
PDFはHTTPS URLから直接取得できます:
result = await extract_text("https://example.com/report.pdf")ファイルは後続の操作のためにローカルにキャッシュされます。
システム依存関係
一部の機能にはシステムパッケージが必要です:
機能 | 依存関係 |
OCR |
|
Camelotテーブル |
|
Tabulaテーブル |
|
PDFから画像へ |
|
|
|
markdown_to_pdf 用のPDFエンジンの選択
PandocはMarkdown → HTMLまたはLaTeX → PDFの変換を行います。LaTeXパスは最も洗練された出力を生成しますが、TeXのインストールが必要です。トレードオフは以下の通りです:
エンジン | ディスクサイズ | メモ |
| ~30 MB | 新規インストールに推奨。 単一の静的バイナリ。LaTeXパッケージをオンデマンドでダウンロードするため、事前の大量インストールが不要。 |
| ~500 MB | インストール後の出力は最高。すでにTeXを使用している場合に推奨。 |
| ~200 MB | 頻繁に失敗します。 実際のドキュメントで |
| ~40 MB | 純粋なPython ( |
| ~40 MB | 古いHTML-to-PDFツール。十分ですが、メンテナンスはあまり活発ではありません。 |
Ubuntu/Debian:
sudo apt-get install tesseract-ocr tesseract-ocr-eng poppler-utils ghostscript default-jre-headless
# For markdown_to_pdf — pick one engine route:
# Option A — tectonic (smallest, downloads packages on demand)
sudo apt-get install pandoc
# tectonic isn't in apt — install via cargo or download static binary:
# https://tectonic-typesetting.github.io/en-US/install.html
# Option B — full TeX (best quality, large download)
sudo apt-get install pandoc texlive-xetex texlive-latex-extra texlive-fonts-extra
# Option C — weasyprint (skip TeX entirely)
sudo apt-get install pandoc
pip install weasyprintArch Linux:
sudo pacman -S tesseract tesseract-data-eng poppler ghostscript jre-openjdk-headless
# For markdown_to_pdf — pick one engine route:
# Option A — tectonic (recommended for new installs, in official repo)
sudo pacman -S pandoc tectonic
# Option B — full TeX (best output, ~500 MB)
sudo pacman -S pandoc texlive-xetex texlive-latexextra texlive-fontsextra
# Option C — weasyprint (skip TeX)
sudo pacman -S pandoc
pip install weasyprint # or: uv pip install weasyprint
# Option D — wkhtmltopdf (from AUR)
yay -S wkhtmltopdf-staticmacOS (Homebrew):
brew install tesseract poppler ghostscript
# For markdown_to_pdf — pick one engine route:
# Option A — tectonic (recommended)
brew install pandoc tectonic
# Option B — full TeX (mactex-no-gui includes the latex-extra equivalent)
brew install pandoc
brew install --cask mactex-no-gui
# Option C — weasyprint
brew install pandoc weasyprintオプションのエクストラ
ベースインストールは軽量に保たれています。重い、またはニッチな依存関係はエクストラとして分離されています:
エクストラ | 追加内容 | インストール時期 |
|
| フォーム作成ツール ( |
|
| 高精度なテーブル抽出(Java + Ghostscriptも必要) |
|
|
|
| 上記すべて | すべての機能が必要な場合 |
設定
オプションの環境変数:
変数 | 目的 |
| ファイル出力用のコロン区切りディレクトリ |
| 処理用の一時ディレクトリ (デフォルト: |
| Tesseract言語データの場所 |
開発
# Run tests
uv run pytest
# With coverage
uv run pytest --cov=mcp_pdf
# Format
uv run black src/ tests/
# Lint
uv run ruff check src/ tests/ライセンス
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive PDF processing including text extraction, image extraction, and OCR capabilities for reading text within images across multiple languages.12MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI-driven PDF document processing including PDF to Markdown conversion, intelligent text and table extraction, image extraction, format conversion between PDF/Word/Markdown, batch processing, and fuzzy search - optimized for LLM context and RAG workflows.2MIT
- AlicenseNot gradedqualityDmaintenanceProvides intelligent OCR and PDF processing capabilities that automatically detect whether PDFs contain digital text or scanned images and apply appropriate extraction methods. Supports text extraction, OCR processing, structure analysis, and batch operations.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI applications to read and process PDF files with intelligent file search, text extraction, image processing, and optional OCR support for scanned documents.MIT
Related MCP Connectors
Turn any PDF into structured JSON via AI + OCR: invoices, bank statements, contracts.
PDF accessibility checks (veraPDF PDF/UA-1), auto-fix and Markdown conversion. EU-hosted.
Convert PDF bank statements into structured transactions, accounts, and balances.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rsp2k/mcp-pdf'
If you have feedback or need assistance with the MCP directory API, please join our Discord server