PowerPoint MCP Server

by GongRzhe
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Utilizes python-pptx library for PowerPoint manipulation, allowing creation, editing and management of presentations programmatically

  • Handles Open XML presentation files (.pptx), enabling round-trip processing of all presentation elements

Office-PowerPoint-MCP-Server

Python-pptx を使用した PowerPoint 操作用の MCP (Model Context Protocol) サーバーです。このサーバーは、MCP プロトコルを介して PowerPoint プレゼンテーションを作成、編集、操作するためのツールを提供します。

ポンプト

出力

デモの GIF -> (./public/demo.mp4)

特徴

  • すべての要素を含む Open XML プレゼンテーション (.pptx ファイル) をラウンドトリップします。
  • スライドを追加する
  • テキストプレースホルダーを入力します。たとえば、箇条書きのスライドを作成します。
  • 任意の位置とサイズでスライドに画像を追加する
  • スライドにテキストボックスを追加し、テキストのフォントサイズと太字を操作する
  • スライドに表を追加する
  • スライドに自動図形(多角形、フローチャート図形など)を追加する
  • 縦棒グラフ、横棒グラフ、折れ線グラフ、円グラフを追加して操作する
  • タイトルや件名などの主要なドキュメントプロパティにアクセスして変更する

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の PowerPoint Manipulation Server を自動的にインストールするには:

npx -y @smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claude

前提条件

  • Python 3.10以上
  • pip パッケージマネージャー

インストールオプション

オプション 1: セットアップ スクリプトを使用する (推奨)

PowerPoint MCP サーバーをセットアップする最も簡単な方法は、インストール プロセスを自動化する、提供されているセットアップ スクリプトを使用することです。

python setup_mcp.py

このスクリプトは次のことを行います。

  • 前提条件を確認する
  • インストール オプションを提供します:
    • PyPIからインストールする(ほとんどのユーザーに推奨)
    • ローカル開発環境をセットアップする
  • 必要な依存関係をインストールする
  • 適切なMCP構成ファイルを生成する
  • Claude Desktopとの統合手順を説明します

スクリプトは、環境に応じてさまざまなパスを提供します。

  • uvxがインストールされている場合は、UVXを使用して設定されます(推奨)
  • サーバーがすでにインストールされている場合は、設定オプションが提供されます。
  • サーバーがインストールされていない場合は、インストール方法を提供します

オプション2: 手動インストール

  1. リポジトリをクローンします。
    git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git cd Office-PowerPoint-MCP-Server
  2. 依存関係をインストールします:
    pip install -r requirements.txt
  3. サーバーを実行可能にします。
    chmod +x ppt_mcp_server.py

使用法

サーバーの起動

サーバーを実行します。

python ppt_mcp_server.py

MCP構成

オプション1: ローカルPythonサーバー

MCP 設定構成ファイルにサーバーを追加します。

{ "mcpServers": { "ppt": { "command": "python", "args": ["/path/to/ppt_mcp_server.py"], "env": {} } } }

オプション 2: UVX を使用する (ローカルインストールは不要)

uvxがインストールされている場合は、ローカルにインストールせずに PyPI から直接サーバーを実行できます。

{ "mcpServers": { "ppt": { "command": "uvx", "args": [ "--from", "office-powerpoint-mcp-server", "ppt_mcp_server" ], "env": {} } } }

利用可能なツール

プレゼンテーションツール

  • create_presentation : 新しいPowerPointプレゼンテーションを作成する
  • open_presentation : ファイルから既存の PowerPoint プレゼンテーションを開く
  • save_presentation : 現在のプレゼンテーションをファイルに保存する
  • get_presentation_info : 現在のプレゼンテーションに関する情報を取得する
  • set_core_properties : 現在のプレゼンテーションのコアドキュメントプロパティを設定する

スライドツール

  • add_slide : 現在のプレゼンテーションに新しいスライドを追加する
  • get_slide_info : 特定のスライドに関する情報を取得する
  • populate_placeholder : プレースホルダーにテキストを入力する
  • add_bullet_points : プレースホルダーに箇条書きを追加する

テキストツール

  • add_textbox : スライドにテキストボックスを追加する

画像ツール

  • add_image : スライドに画像を追加する
  • add_image_from_base64 : base64 でエンコードされた文字列からスライドに画像を追加する

テーブルツール

  • add_table : スライドに表を追加する
  • format_table_cell : 表のセルをフォーマットする

シェイプツール

  • add_shape : スライドに自動シェイプを追加する

チャートツール

  • add_chart : スライドにグラフを追加する

新しいプレゼンテーションを作成する

# Create a new presentation result = use_mcp_tool( server_name="ppt", tool_name="create_presentation", arguments={} ) presentation_id = result["presentation_id"] # Add a title slide result = use_mcp_tool( server_name="ppt", tool_name="add_slide", arguments={ "layout_index": 0, # Title slide layout "title": "My Presentation", "presentation_id": presentation_id } ) slide_index = result["slide_index"] # Populate subtitle placeholder result = use_mcp_tool( server_name="ppt", tool_name="populate_placeholder", arguments={ "slide_index": slide_index, "placeholder_idx": 1, # Subtitle placeholder "text": "Created with PowerPoint MCP Server", "presentation_id": presentation_id } ) # Save the presentation result = use_mcp_tool( server_name="ppt", tool_name="save_presentation", arguments={ "file_path": "my_presentation.pptx", "presentation_id": presentation_id } )

チャートの追加

# Add a chart slide result = use_mcp_tool( server_name="ppt", tool_name="add_slide", arguments={ "layout_index": 1, # Content slide layout "title": "Sales Data", "presentation_id": presentation_id } ) slide_index = result["slide_index"] # Add a column chart result = use_mcp_tool( server_name="ppt", tool_name="add_chart", arguments={ "slide_index": slide_index, "chart_type": "column", "left": 1.0, "top": 2.0, "width": 8.0, "height": 4.5, "categories": ["Q1", "Q2", "Q3", "Q4"], "series_names": ["2023", "2024"], "series_values": [ [100, 120, 140, 160], [110, 130, 150, 170] ], "has_legend": True, "legend_position": "bottom", "has_data_labels": True, "title": "Quarterly Sales", "presentation_id": presentation_id } )

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

モデル コンテキスト プロトコルを介してプログラムで PowerPoint プレゼンテーションを作成および編集できるサーバー。スライド、画像、テキスト ボックス、グラフ、表の追加などの機能をサポートします。

  1. Example
    1. Pormpt
    2. Output
    3. Demo's GIF -> (./public/demo.mp4)
  2. Features
    1. Installation
      1. Installing via Smithery
      2. Prerequisites
      3. Installation Options
    2. Usage
      1. Starting the Server
      2. MCP Configuration
    3. Available Tools
      1. Presentation Tools
      2. Slide Tools
      3. Text Tools
      4. Image Tools
      5. Table Tools
      6. Shape Tools
      7. Chart Tools
    4. Examples
      1. Creating a New Presentation
      2. Adding a Chart
    5. License
      ID: jjranwyzfx