E-Book MCP Server with PDF Conversion について
画像を含むHTMLドキュメントをPDFに変換するMCPサーバーです。pdfkitまたはreportlabで生成し、pdfkitが利用できない場合や失敗した場合はreportlabに切り替えます。
主な機能
- 01HTMLファイルからPDFへの変換
- 02埋め込み画像参照の処理
- 03pdfkitまたはreportlabによるPDF生成
- 04変換失敗時のreportlabへの切り替え
- 05一時ファイルの削除
活用シーン
- 01HTMLドキュメントをPDF化
- 02画像を含むHTMLをPDFに変換
- 03pdfkitが使えない環境でPDFを生成
MCP 対応
HTMLからPDFへの変換と画像パスの処理を行うCREATE_DOCツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PDF変換機能を備えた電子書籍MCPサーバー
埋め込み画像を含むHTMLコンテンツから電子書籍やPDFドキュメントを作成するサーバーです。このプロジェクトは、埋め込み画像を適切に処理しながら、HTMLファイルをPDFに変換する堅牢な機能を提供します。
機能
- 画像を適切に処理しながら、HTMLファイルをPDFドキュメントに変換します
- pdfkit(wkhtmltopdf)とreportlabの両方のPDF生成エンジンに対応しています
- 堅牢なエラー処理とログ記録
- 一時ファイルを管理し、自動的にクリーンアップします
- 変換処理中に詳細な診断情報を表示します
要件
- Python 3.9+
- wkhtmltopdf(任意ですが、PDF品質の向上のため推奨)
- Pythonパッケージ:
- fastapi
- python-docx
- pdfkit
- reportlab
- pydantic
- uvicorn
- pillow
インストール
- このリポジトリをクローンします
- 必要なPythonパッケージをインストールします:
pip install fastapi python-docx pdfkit reportlab pydantic uvicorn pillow - wkhtmltopdfをインストールします(任意):
- Windows:wkhtmltopdf.orgからダウンロードしてインストールします
- Linux:
sudo apt-get install wkhtmltopdf - macOS:
brew install wkhtmltopdf
使用方法
サーバーには、次の引数を受け取るhandle_call_toolという関数があります:
arguments = {
"text_file": "path/to/input.html",
"images": {
"image1.png": "path/to/image1.png",
"image2.jpg": "path/to/image2.jpg"
},
"output_pdf": "path/to/output.pdf"
}
例
result = await handle_call_tool("CREATE_DOC", {
"text_file": "document.html",
"images": {
"header.png": "images/header.png",
"footer.jpg": "images/footer.jpg"
},
"output_pdf": "output/document.pdf"
})
仕組み
- サーバーが入力されたHTMLファイルを処理します
- HTML内の画像参照を絶対パスに置き換えます
- pdfkitが利用可能な場合は、pdfkitを使用してHTMLからPDFへの変換を試みます
- pdfkitが失敗するか利用できない場合は、reportlabに切り替えます
- 生成されたPDFを指定された出力パスに保存します
プロジェクト構成
main.py:PDF変換のコア機能を含みますpyproject.toml:プロジェクトのメタデータと依存関係を定義します
ライセンス
MIT
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。