PPTX MCP Server について
PPTX MCP サーバーは、FastMCP と python-pptx で構築された MCP サーバーで、PowerPoint(PPTX)プレゼンテーションをプログラムから作成、編集、レンダリングします。スライドを自動生成したい開発者に向いており、LibreOffice を使ってスライドを PNG 画像に変換できます。
主な機能
- 01プレゼンテーションファイルの作成とクリア
- 02レイアウトを指定したスライドの追加
- 03タイトル、本文、テキストボックスの挿入
- 04フローチャート要素を含む各種図形の挿入
- 05画像の埋め込みとスライド内容のテキスト化
- 06LibreOffice による PNG へのレンダリング
活用シーン
- 01スクリプトやエージェントによるプレゼンテーションの自動生成
- 02生成後のスライド内容とレイアウトの確認
- 03プレビュー用のスライド画像の作成
MCP 対応
FastMCP を通じてツールとリソースを公開しており、MCP クライアントは create_or_clear_presentation、add_slide、add_textbox などのツールで PPTX ファイルを編集できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PPTX MCP サーバー
PowerPoint(PPTX)プレゼンテーションをプログラムで作成、編集、レンダリングするための FastMCP 搭載サーバーです。スライドの作成、テキストや図形の挿入、画像の埋め込み、スライドの PNG へのレンダリング(LibreOffice を使用)に対応しています。
機能
- プレゼンテーションの作成/クリア: 新しい PPTX ファイルを作成するか、既存のファイルをリセットします。
- スライドの追加: レイアウトをカスタマイズしてスライドを挿入します。
- テキストとコンテンツ: スライドにタイトル、コンテンツ、カスタムテキストボックスを追加します。
- 図形: さまざまな PowerPoint 図形(フローチャートの要素を含む)を挿入します。
- 画像: スライドに画像を埋め込みます。
- スライドの説明: スライドの内容をテキストで要約し、確認できます。
- スライドのレンダリング: スライドを PNG 画像としてレンダリングします(LibreOffice が必要です)。
- PPTX のダウンロード: 生成したプレゼンテーションファイルをダウンロードします。
要件
- Python 3.12+
- python-pptx
- Pillow
- FastMCP
- LibreOffice(スライド画像のレンダリングに必要です。別途インストールし、システムの PATH から利用できる状態にしてください)
- python-dotenv(開発環境の設定用)
インストール
-
Python の依存関係をインストールします:
pip install .(依存関係は
pyproject.tomlからインストールされます) -
任意:開発環境の環境変数を扱うため、python-dotenv をインストールします:
pip install python-dotenv -
LibreOffice をインストールします(画像のレンダリング用):
- Linux:
sudo pacman -S libreoffice-freshまたはsudo apt install libreoffice - macOS:
brew install --cask libreoffice - Windows:libreoffice.org からダウンロード
- Linux:
使用方法
サーバーを起動します:
python server.py
環境変数を使って開発する場合:
環境変数を使ってサーバーのホストとポートを設定できます:
HOST(デフォルト:127.0.0.1)PORT(デフォルト:8000)
たとえば、すべてのインターフェースでポート 9000 を使用して実行する場合:
HOST=0.0.0.0 PORT=9000 python server.py
または
プロジェクトのルートにある .env ファイルを作成/編集します:
たとえば、すべてのインターフェースでポート 9000 を使用して実行する場合:
HOST=0.0.0.0
PORT=9000
サーバーの起動時に環境変数を読み込みます:
python server.py
または(FastMCP を使って開発する場合):
fastmcp dev server.py
API の概要
サーバーは FastMCP を介して、次のツールとリソースを公開します:
create_or_clear_presentation(filename)add_slide(filename, layout_index)add_title_and_content(filename, slide_index, title, content)add_textbox(filename, slide_index, text, left_inches, top_inches, width_inches, height_inches, font_size_pt, bold)add_shape(filename, slide_index, shape_type_name, left_inches, top_inches, width_inches, height_inches, text)add_picture(filename, slide_index, image, left_inches, top_inches, width_inches, height_inches)get_slide_content_description(filename, slide_index)get_slide_image(filename, slide_index)(LibreOffice が必要です)get_pptx_file(filename)
パラメーターの詳細や利用できる図形の種類については、コードを参照してください。
プレゼンテーションとテンプレート
- プレゼンテーションは
presentations/ディレクトリに保存されます。 - 独自のテンプレートを
presentations/templates/に追加できます。
ライセンス
詳細については、LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。