mcpField
P
PDF Reader

PDF Reader

ローカル
github.com/Xvvln生産性120 週間前に更新

PDF Reader について

PDF Readerは、MCPクライアント向けのPDF読み取り・分析サーバーです。テキスト、ページ画像、表、リンク、注釈、メタデータを抽出し、検索や統計、ページ間のテキスト比較も行えます。

主な機能

  1. 01テキストとページ画像の抽出
  2. 02目次、リンク、注釈の取得
  3. 03表の検出と画像の抽出
  4. 04ページの文脈付きテキスト検索
  5. 05メタデータとテキスト統計の取得
  6. 06ページ間のテキスト比較

活用シーン

  1. 01レポート内の特定内容の検索
  2. 02PDFページと文書情報の確認
  3. 03表、画像、リンクの抽出
  4. 042ページ間のテキスト比較

MCP 対応

互換性のあるMCPクライアントに、テキスト、画像、表、リンク、注釈、メタデータなどを扱うPDF読み取り・分析ツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"xvvln-pdf-reader": {
"command": "uvx",
"args": [
"pdf-insight-mcp"
]
}
}
}
起動コマンドuvx pdf-insight-mcp

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

パッケージ
pypipdf-insight-mcp0.2.1

ツール

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

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

詳細

pdf-reader-mcp

PDF ファイルの読み取りと分析に使用する MCP サーバーです。MCP(Model Context Protocol)に対応するクライアントに、PDF のテキスト、ページ画像、表、リンク、注釈、目次、メタデータ、基本的なテキスト統計を提供します。

PDF ファイルからテキスト、レンダリングしたページ、表、リンク、注釈、アウトライン、メタデータ、テキスト統計を抽出することに特化した MCP サーバーです。

パッケージ名

  • GitHub リポジトリ:pdf-reader-mcp
  • MCP Registry 名:io.github.Xvvln/pdf-reader-mcp
  • PyPI パッケージ:pdf-insight-mcp
  • CLI コマンド:pdf-reader-mcp および pdf-insight-mcp

pdf-reader-mcp はプロジェクト名です。PyPI では、pdf-reader-mcp というパッケージ名が利用できないため、pdf-insight-mcp として公開されています。

機能

ツール説明
get_pdf_infoドキュメントのメタデータ、ページ数、ファイルサイズ、暗号化状態を読み取ります。
read_pdf_as_textページ数と文字数の上限を指定して、選択したページからテキストを抽出します。
read_pdf_as_images選択したページを Base64 エンコードされた画像としてレンダリングします。
get_pdf_outlineブックマークとアウトライン項目を読み取ります。
search_pdf_textテキストを検索し、一致箇所ごとのページコンテキストを返します。
extract_pdf_tablesPyMuPDF が検出できる場合、構造化された表を抽出します。
extract_pdf_imagesPDF に埋め込まれた画像を抽出します。
get_pdf_page_info1 ページのサイズ、テキスト、画像、リンク、回転を調べます。
extract_pdf_links外部 URL と内部ページへのジャンプを抽出します。
get_pdf_annotationsコメント、ハイライト、注釈のメタデータを読み取ります。
get_pdf_text_statsテキスト、行、段落、およびスキャン文書らしさの統計を算出します。
compare_pdf_pages2 ページ間のテキストの類似度を比較します。

クイックスタート

まだインストールしていない場合は、uv をインストールします。

curl -LsSf https://astral.sh/uv/install.sh | sh

PyPI からサーバーを直接実行します。

uvx pdf-insight-mcp

または、先にインストールします。

python -m pip install pdf-insight-mcp
pdf-reader-mcp

MCP クライアントの設定

公開済みの PyPI パッケージを使用します。

{
  "mcpServers": {
    "pdf-reader": {
      "command": "uvx",
      "args": ["pdf-insight-mcp"]
    }
  }
}

開発にはローカルのチェックアウトを使用します。

{
  "mcpServers": {
    "pdf-reader": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/pdf-reader-mcp",
        "run",
        "pdf-reader-mcp"
      ]
    }
  }
}

/absolute/path/to/pdf-reader-mcp を、お使いのマシン上にあるこのリポジトリの絶対パスに置き換えてください。

一般的な使い方

MCP クライアントに、絶対パスで PDF を指定してツールを呼び出すよう依頼します。リクエストの例:

Read /Users/me/Documents/report.pdf as text.
Search /Users/me/Documents/report.pdf for "baseline characteristics".
Render pages 1-3 of /Users/me/Documents/report.pdf as images.
Extract links and annotations from /Users/me/Documents/review.pdf.

大きな PDF の場合は、まず小さなページ範囲を指定してください。スキャンされた PDF やレイアウトが重要な PDF では、read_pdf_as_images を使い、pages の範囲を小さくして、適度な dpi を指定してください。

制限と動作

  • read_pdf_as_text は、デフォルトで最大 50 ページ、返される文字数は最大 200000 文字です。
  • read_pdf_as_images は、20 ページを超えるリクエストを拒否します。
  • read_pdf_as_images の画像ペイロード全体の上限は、デフォルトで約 20 MB です。
  • extract_pdf_images は、埋め込み画像を最大 20 個返しますが、実際に検出した総数も報告します。
  • 暗号化された PDF は、パスワードなしですでにアクセスできる場合を除き、拒否されます。
  • スキャンされた PDF では、抽出可能なテキストがほとんどない、またはまったくない場合があります。必要に応じて、画像のレンダリングを使用するか、このサーバーの外部で OCR を行ってください。

開発

依存関係をインストールします。

uv sync --extra dev

テストを実行します。

uv run pytest -q

パッケージをビルドします。

uv build
uvx twine check dist/*

ローカルサーバーを実行します。

uv run pdf-reader-mcp

リリース

リリースは GitHub Actions を通じて公開されます。

初回リリースの前に、以下の設定で PyPI Trusted Publishing を構成してください。

PyPI project name: pdf-insight-mcp
Owner: Xvvln
Repository name: pdf-reader-mcp
Workflow filename: publish.yml
Environment name: leave empty

その後、pyproject.toml と server.json のバージョンを更新し、変更をコミットして、バージョンタグをプッシュするとリリースできます。

git tag vX.Y.Z
git push origin main --tags

Publish ワークフローは、テストの実行、Python パッケージのビルド、PyPI への公開、GitHub OIDC による MCP Registry の認証、server.json の公開を行います。

技術スタック

  • Python 3.10+
  • MCP Python SDK
  • PyMuPDF
  • uv
  • pytest

ライセンス

MIT

コメント

MCP は初めてですか?

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

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