hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Integrates with Codecov for code coverage reporting, as indicated by the badge showing coverage statistics for the project.
Provides Docker container deployment option, allowing users to run the PDF reader MCP server in an isolated environment with project directory mounting.
Integrates with GitHub for CI/CD pipeline execution, issue tracking, and repository management for the PDF reader MCP server.
PDF リーダー MCP サーバー (@sylphlab/pdf-reader-mcp)
単一の柔軟なツールを使用して、プロジェクトのコンテキスト内で PDF ファイルから安全に情報 (テキスト、メタデータ、ページ数) を読み取り、抽出する機能を AI エージェント (Cline など) に提供します。
インストール
npm の使用(推奨)
MCP ホスト環境またはプロジェクトに依存関係としてインストールします。
npx
を使用するように MCP ホスト (例: mcp_settings.json
) を構成します。
(ホストがターゲット プロジェクトに正しいcwd
を設定していることを確認してください)
Dockerの使用
イメージをプルします:
コンテナを実行するように MCP ホストを構成し、プロジェクト ディレクトリを/app
にマウントします。
ローカルビルド(開発用)
- クローン:
git clone https://github.com/sylphlab/pdf-reader-mcp.git
- インストール:
cd pdf-reader-mcp && pnpm install
- ビルド:
pnpm run build
- MCP ホストを構成する:(ホストがターゲット プロジェクトに正しいCopy
cwd
を設定していることを確認してください)
クイックスタート
サーバーが MCP ホストで実行され、構成されていると仮定します。
MCP リクエスト (ローカル PDF からメタデータとページ 2 のテキストを取得):
予想される応答スニペット:
このプロジェクトを選択する理由
- **🛡️ 安全:**ファイル アクセスをプロジェクトのルート ディレクトリに厳密に制限します。
- **🌐 柔軟性:**ローカル相対パスとパブリック URL の両方を処理します。
- **🧩 統合:**単一の
read_pdf
ツールで複数の抽出ニーズ (全文、特定のページ、メタデータ、ページ数) に対応します。 - **⚙️ 構造化された出力:**エージェントが解析しやすい予測可能な JSON 形式でデータを返します。
- 🚀 簡単な統合:
npx
または Docker を介して MCP 環境内でシームレスに使用できるように設計されています。 - **✅ 堅牢:**信頼性の高い解析には
pdfjs-dist
を使用し、入力検証には Zod を使用します。
パフォーマンス上の利点
サンプル PDF で Vitest を使用した初期ベンチマークでは、さまざまな操作が効率的に処理されていることが示されています。
シナリオ | 1秒あたりの操作数(Hz) | 相対速度 |
---|---|---|
存在しないファイルの処理 | 約12,933 | 最速 |
全文を見る | 約5,575 | |
特定のページを取得(ページ 1) | 約5,329 | |
特定のページを取得する(ページ 1 と 2) | 約5,242 | |
メタデータとページ数を取得する | 約4,912 | 最も遅い |
(hz が高いほどパフォーマンスは向上します。結果は PDF の複雑さと環境によって異なる場合があります。)
詳細と今後の計画については、パフォーマンス ドキュメントを参照してください。
特徴
- PDF ファイルから全文コンテンツを読み取ります。
- 特定のページまたはページ範囲からテキスト コンテンツを読み取ります。
- PDF メタデータ (作成者、タイトル、作成日など) を読み取ります。
- PDF の合計ページ数を取得します。
- 1 回のリクエストで複数の PDF ソース (ローカル パスまたは URL) を処理します。
- 定義されたプロジェクト ルート内で安全に動作します。
- MCP 経由で構造化された JSON 出力を提供します。
- npm および Docker Hub から利用できます。
デザイン哲学
このサーバーは、コンテキストの制限によるセキュリティ、構造化データ転送による効率性、そしてAIエージェントのワークフローへの容易な統合を可能にするシンプルさを重視しています。堅牢なpdfjs-dist
ライブラリを活用し、依存関係を最小限に抑えることを目指しています。
完全な設計哲学のドキュメントを参照してください。
他のソリューションとの比較
直接ファイルアクセス(多くの場合不可能)や汎用ファイルシステムツールと比較して、このサーバーはPDFに特化した解析機能を提供します。外部CLIツール(例: pdftotext
)とは異なり、構造化された出力を備えた安全で統合されたMCPインターフェースを提供し、AIエージェントの信頼性と使いやすさを向上させます。
完全な比較ドキュメントを参照してください。
今後の計画(ロードマップ)
- ドキュメント:
- すべてのドキュメント セクション (ガイド、API、設計、比較) を完成させます。
- TypeDoc の問題を解決し、API ドキュメントを生成します。
- さらに多くの例と高度な使用パターンを追加します。
- ドキュメント サイトに PWA サポートとモバイル最適化を実装します。
- ドキュメント サイトに共有ボタンと成長指標を追加します。
- ベンチマーク:
- さまざまな PDF ファイル (サイズ、複雑さ) を使用して包括的なベンチマークを実施します。
- メモリ使用量を測定します。
- URL とローカル ファイルのパフォーマンスを比較します。
- コア機能:
- 非常に大きな PDF ファイルの潜在的な最適化を検討します。
- 画像や注釈を抽出するためのオプションを調査します (長期的)。
- テスト:
- 可能な場合は、テスト範囲を 100% に増やします。
- 実行可能になったらランタイム テストを追加します。
ドキュメント
詳細な使用方法、API リファレンス、ガイドについては、完全なドキュメントの Web サイト(展開時にリンクが更新されます) をご覧ください。
コミュニティとサポート
- バグを見つけた場合や機能のリクエストがある場合は、 GitHub Issuesで問題を報告してください。
- **貢献してみませんか?**貢献を歓迎します! CONTRIBUTING.mdをご覧ください。
- **スターとウォッチ:**このプロジェクトが役に立つと思われる場合は、 GitHubのリポジトリに ⭐ スターを付けて 👀 ウォッチし、サポートを示して最新情報を入手してください。
ライセンス
このプロジェクトはMIT ライセンスに基づいてライセンスされています。
You must be authenticated.
柔軟な MCP ツールを使用して、AI エージェントがプロジェクト コンテキスト内の PDF ファイルから情報 (テキスト、メタデータ、ページ数) を安全に読み取り、抽出できるようにします。