Office-PowerPoint-MCP-Server
Python-pptx を使用した PowerPoint 操作用の MCP (Model Context Protocol) サーバーです。このサーバーは、MCP プロトコルを介して PowerPoint プレゼンテーションを作成、編集、操作するためのツールを提供します。
例
ポンプト
出力
デモの GIF -> (./public/demo.mp4)

特徴
すべての要素を含む Open XML プレゼンテーション (.pptx ファイル) をラウンドトリップします。
スライドを追加する
テキストプレースホルダーを入力します。たとえば、箇条書きのスライドを作成します。
任意の位置とサイズでスライドに画像を追加する
スライドにテキストボックスを追加し、テキストのフォントサイズと太字を操作する
スライドに表を追加する
スライドに自動図形(多角形、フローチャート図形など)を追加する
縦棒グラフ、横棒グラフ、折れ線グラフ、円グラフを追加して操作する
タイトルや件名などの主要なドキュメントプロパティにアクセスして変更する
Related MCP server: PowerPoint MCP Server
インストール
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: 手動インストール
リポジトリをクローンします。
git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git cd Office-PowerPoint-MCP-Server依存関係をインストールします:
pip install -r requirements.txtサーバーを実行可能にします。
chmod +x ppt_mcp_server.py
使用法
サーバーの起動
サーバーを実行します。
python ppt_mcp_server.pyMCP構成
オプション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
}
)ライセンス
マサチューセッツ工科大学