mcpField
P
PPTX MCP Server

PPTX MCP Server

ローカル
github.com/samos123生産性3575 週間前に更新

PPTX MCP Server について

PPTX MCP サーバーは、FastMCP と python-pptx で構築された MCP サーバーで、PowerPoint(PPTX)プレゼンテーションをプログラムから作成、編集、レンダリングします。スライドを自動生成したい開発者に向いており、LibreOffice を使ってスライドを PNG 画像に変換できます。

主な機能

  1. 01プレゼンテーションファイルの作成とクリア
  2. 02レイアウトを指定したスライドの追加
  3. 03タイトル、本文、テキストボックスの挿入
  4. 04フローチャート要素を含む各種図形の挿入
  5. 05画像の埋め込みとスライド内容のテキスト化
  6. 06LibreOffice による PNG へのレンダリング

活用シーン

  1. 01スクリプトやエージェントによるプレゼンテーションの自動生成
  2. 02生成後のスライド内容とレイアウトの確認
  3. 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(開発環境の設定用)

インストール

  1. Python の依存関係をインストールします:

    pip install .
    

    (依存関係は pyproject.toml からインストールされます)

  2. 任意:開発環境の環境変数を扱うため、python-dotenv をインストールします:

    pip install python-dotenv
    
  3. LibreOffice をインストールします(画像のレンダリング用):

使用方法

サーバーを起動します:

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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。