Document Loader MCPサーバー
ドキュメントの解析とコンテンツ抽出を行う Model Context Protocol (MCP) サーバーです。
この MCP サーバーは、PDF、Word ドキュメント、Excel スプレッドシート、PowerPoint プレゼンテーション、画像など、さまざまなドキュメント形式からコンテンツを解析・抽出するためのツールを提供します。
機能
- PDF テキスト抽出: pdfplumber を使用して PDF ファイルからテキストコンテンツを抽出
- Word ドキュメント処理: markitdown を使用して DOCX/DOC ファイルを Markdown に変換
- Excel スプレッドシート読み取り: XLSX/XLS ファイルを解析して Markdown に変換
- PowerPoint プレゼンテーション処理: PPTX/PPT ファイルからコンテンツを抽出
- 画像読み込み: さまざまな画像形式(PNG、JPG、GIF、BMP、TIFF、WEBP)を読み込んで表示
- スライド画像抽出: LibreOffice と poppler を使用して、PPTX、PPT、PDF ファイルから個々のスライド/ページを PNG 画像として抽出
前提条件
インストール要件
- Astral または GitHub README から
uvをインストールします uv python install 3.10を使用して Python 3.10 以降(またはより新しいバージョン)をインストールします
オプション: スライド画像抽出
extract_slides_as_images ツールには、外部のシステムパッケージが必要です。
- LibreOffice(PPTX/PPT → PDF 変換用):
- Ubuntu/Debian:
sudo apt install libreoffice - macOS:
brew install --cask libreoffice - Windows: libreoffice.org からダウンロード
- Ubuntu/Debian:
- poppler-utils(PDF → 画像レンダリング用):
- Ubuntu/Debian:
sudo apt install poppler-utils - macOS:
brew install poppler - Windows: GitHub からダウンロードして PATH に追加
- Ubuntu/Debian:
インストール
| Kiro | Cursor | VS Code |
|---|---|---|
お使いの MCP クライアントの設定で MCP サーバーを設定します。
{
"mcpServers": {
"awslabs.document-loader-mcp-server": {
"command": "uvx",
"args": ["awslabs.document-loader-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
}
}
Kiro の MCP 設定については、Kiro IDE ドキュメント または Kiro CLI ドキュメント を参照してください。
グローバル設定の場合は ~/.kiro/settings/mcp.json を編集します。プロジェクト固有の設定の場合は、プロジェクトディレクトリ内の .kiro/settings/mcp.json を編集します。
利用可能なツール
read_document: file_path と file_type('pdf'、'docx'、'doc'、'xlsx'、'xls'、'pptx'、'ppt')を指定して、さまざまなドキュメント形式からコンテンツを抽出しますread_image: LLM での閲覧および分析用に画像ファイルを読み込みますextract_slides_as_images: PPTX、PPT、PDF ファイルからスライド/ページを個々の PNG 画像として抽出します。LibreOffice(PPTX/PPT 用)と poppler-utils(PDF から画像へのレンダリング用)が必要です
環境変数
FASTMCP_LOG_LEVEL: ログレベルを設定します(ERROR、INFO、DEBUG)MAX_FILE_SIZE_MB: 許可される最大ファイルサイズ(メガバイト単位、デフォルト: 50)。正の整数である必要があります。DOCUMENT_BASE_DIR: ファイルアクセスセキュリティ用のベースディレクトリ。ドキュメントの読み込みをこのディレクトリ内のファイルに制限します。デフォルトは現在の作業ディレクトリです。
開発
セットアップ
# Clone the repository
git clone https://github.com/awslabs/mcp.git
cd mcp/src/document-loader-mcp-server
# Install dependencies
uv sync
# Install in development mode
uv pip install -e .
テスト
# Run tests
uv run pytest
# Run with coverage
uv run pytest --cov=awslabs.document_loader_mcp_server
テストスイートには以下が含まれます。
- サーバー機能の検証
- 生成されたサンプルファイルによるドキュメント解析テスト
- エラーハンドリングの検証
サンプルドキュメント
テストスイートは、テスト用のサンプルドキュメントを自動的に生成します。
- 複数ページのコンテンツを持つ PDF
- 書式設定されたテキストとリストを持つ DOCX
- 複数のシートとデータを持つ XLSX
- スライドとコンテンツを持つ PPTX
- さまざまな画像形式
Docker
このサーバーを Docker コンテナで実行することもできます。
docker build -t document-loader-mcp-server .
docker run -p 8000:8000 document-loader-mcp-server
ライセンス
このプロジェクトは Apache License 2.0 の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
コントリビューション
コントリビューションを歓迎します。詳細については CONTRIBUTING.md を参照してください。
サポート
問題や質問がある場合は、GitHub issue トラッカー をご利用ください。