PDF Extraction MCP Server (Claude Code Fork) について
ローカルの PDF ファイルから内容を抽出する MCP サーバーで、原リポジトリを Claude Code CLI 向けにフォークしたものです。Claude Code でのインストールと実行に関する修正が含まれています。テキスト抽出に加え、スキャンされた文書向けの OCR にも対応しています。
主な機能
- 01ローカル PDF の内容を抽出する extract-pdf-contents ツール
- 02負のインデックスに対応した任意の pages 引数
- 03テキスト抽出と OCR への対応
- 04パッケージをモジュールとして実行する __main__.py
活用シーン
- 01Claude Code 内でローカルの PDF 文書を読み込む
- 02PDF の特定ページまたは最終ページを抽出する
- 03スキャンされた PDF を OCR で処理する
MCP 対応
MCP サーバーとして、extract-pdf-contents ツールを MCP クライアントに提供します。ローカルの PDF パスと任意のページ指定を受け取り、claude mcp add コマンドで Claude Code に追加します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PDF Extraction MCP Server(Claude Code フォーク)
PDF ファイルの内容を抽出する MCP サーバーです。Claude Code CLI へのインストールに関する修正が含まれています。
このフォークには、Claude Code(CLI 版)でサーバーをインストールして実行するための重要な修正が含まれています。
このフォークでの変更点
__main__.pyを追加 -python -m pdf_extractionでパッケージをモジュールとして実行できるようにします- Claude Code 固有の手順 - Claude Code CLI で動作する明確なインストール手順です
- インストール手順をテスト済み -
claude mcp addコマンドで動作することを確認しています
コンポーネント
ツール
このサーバーは、次のツールを実装しています。
- extract-pdf-contents:ローカルの PDF ファイルから内容を抽出します
- 必須の文字列引数として
pdf_pathを受け取ります(ローカルファイルのパス) - 省略可能な文字列引数として
pagesを受け取ります(カンマ区切りのページ番号。最後のページを示す-1のような負のインデックスに対応) - PDF のテキスト抽出と、スキャン文書の OCR の両方に対応しています
- 必須の文字列引数として
Claude Code CLI へのインストール
前提条件
- Python 3.11 以降
- pip または conda
- Claude Code CLI がインストールされていること(
claudeコマンド)
手順 1:クローンしてインストール
# Clone this fork
git clone https://github.com/lh/mcp-pdf-extraction-server.git
cd mcp-pdf-extraction-server
# Install in development mode
pip install -e .
手順 2:インストールされたコマンドを確認
# Check where pdf-extraction was installed
which pdf-extraction
# Example output: /opt/homebrew/Caskroom/miniconda/base/bin/pdf-extraction
手順 3:Claude Code に追加
# Add the server using the full path from above
claude mcp add pdf-extraction /opt/homebrew/Caskroom/miniconda/base/bin/pdf-extraction
# Verify it was added
claude mcp list
手順 4:Claude で使用
# Start a new Claude session
claude
# In Claude, type:
/mcp
# You should see:
# MCP Server Status
# • pdf-extraction: connected
使用例
接続すると、PDF の内容を抽出するよう Claude に依頼できます。
"Can you extract the content from the PDF at /path/to/document.pdf?"
"Extract pages 1-3 and the last page from /path/to/document.pdf"
トラブルシューティング
サーバーに接続できない
- サーバーを追加した後、新しい Claude セッションを開始したことを確認してください
- コマンドのパスが正しいことを確認してください:
ls -la $(which pdf-extraction) - コマンドを直接テストしてください(入力待ちで停止するはずです):
pdf-extraction
モジュールが見つからないエラー
Python のインポートエラーが発生する場合:
- パッケージをインストールした環境と同じ Python 環境を使用していることを確認してください
- Python のフルパスを指定してみてください:
claude mcp add pdf-extraction /path/to/python -m pdf_extraction
インストールの問題
pip install -e . が失敗する場合:
- Python 3.11 以降がインストールされていることを確認してください:
python --version - 新しい仮想環境を作成してみてください:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -e .
Claude Desktop ユーザー向け
このフォークは Claude Code CLI 専用です。Claude Desktop(GUI アプリ)を使用している場合は、インストール手順について元のリポジトリを参照してください。
依存関係
- mcp>=1.2.0
- pypdf2>=3.0.1
- pytesseract>=0.3.10(OCR 対応用)
- Pillow>=10.0.0
- pydantic>=2.10.1,<3.0.0
- pymupdf>=1.24.0
貢献
貢献を歓迎します!このフォークにおける主な変更点は、パッケージをモジュールとして実行できるようにする __main__.py の追加です。
ライセンス
元のリポジトリと同じです。
クレジット
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。