MCP Server for PowerPoint について
PptMcp は、AI アシスタントが自然言語で Microsoft PowerPoint を自動操作できるようにする MCP サーバーです。Windows の COM API を使い、実際に起動している PowerPoint を操作します。Windows と PowerPoint 2016 以降がインストールされたデスクトップ環境向けです。
主な機能
- 01COM API による実行中の PowerPoint の操作
- 02スライド、図形、テキスト、表、グラフの編集
- 03テーマ、マスター、レイアウト、アニメーションの設定
- 04PDF、スライド画像、MP4 動画への書き出し
- 05CLI と MCP サーバーの両方のインターフェース
活用シーン
- 01自然言語の指示による四半期レポートのスライド作成
- 02テンプレート内のテキスト、グラフ、表の更新
- 03AI による変更を PowerPoint 上でリアルタイムに確認
MCP 対応
本プロジェクトは MCP サーバーとして動作し、33 のツール(224 操作)を MCP クライアントに公開して PowerPoint プレゼンテーションを制御します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PptMcp - Microsoft PowerPoint 用 MCP サーバー
インストールバッジを使うと、
mcp-pptコマンドを実行するppt-mcpサーバーとして登録されます。まずdotnet tool install --global PptMcp.McpServerでツールをインストールしてください。そうしないと、クライアントは起動するものがありません。
AI で PowerPoint を自動化 — 会話型 AI を通じて PowerPoint を包括的に自動化する Model Context Protocol(MCP)サーバーです。
PptMcp を使うと、GitHub Copilot、Claude、ChatGPT などの AI アシスタントが、自然言語のコマンドで Microsoft PowerPoint を自動化できます。スライドの作成、テキストの編集、図形や画像の配置、グラフや表の作成、テーマの適用、VBA の実行、PDF や動画へのエクスポート、ネイティブ COM API による PowerPoint の実行中ウィンドウの安全な管理まで、プレゼンテーションに関する実務をエンドツーエンドでカバーします。
開発の経緯と謝辞: このプロジェクトは、Stefan Broenner (sbroenne) が mcp-server-excel で開発した、MCP 自動化の基盤をもとに構築されており、ここでは PowerPoint に特化した包括的なツールチェーンへと拡張しています。
リリースとパッケージ: GitHub Releases | NuGet: PptMcp.McpServer | NuGet: PptMcp.CLI
ソースから複数フェーズのビルド/検証/修復ワークフローを実行するため、リポジトリには公式オーケストレーションクライアントも src\PptMcp.Agent に含まれています。
🛡️ 100% 安全 — PowerPoint のネイティブ COM API を使用 — ファイル破損のリスクはありません。PowerPoint 公式の COM API を使用するため、完全な安全性と互換性が確保されます。
💡 インタラクティブな開発 — PowerPoint ですぐに結果を確認できます。スライドを追加し、グラフを作成し、テキストを整形しながら反復作業を進められます。PowerPoint が AI を活用した作業環境になります。
技術要件:
- ⚠️ Windows のみ — COM 相互運用は Windows 固有です
- ⚠️ PowerPoint が必要 — Microsoft PowerPoint 2016 以降がインストールされている必要があります
- ⚠️ デスクトップ環境 — 実際の PowerPoint プロセスを操作します(サーバー側の処理には対応していません)
🎯 できること
33 種類の専用ツールで、224 の操作を実行できます:
- 📁 ファイル(1 ツール、6 操作)— プレゼンテーションを開く、閉じる、作成する、保存する、一覧表示する、検証する
- 📄 スライド(1 ツール、15 操作)— 作成、複製、移動、削除、レイアウト適用、表示/非表示、サムネイル、置換を伴う複製
- 🔷 図形(1 ツール、35 操作)— 追加、移動、サイズ変更、塗りつぶし、グラデーション、線、影、光彩、反射、透明度、3D、回転、重ね順、グループ化、コネクタ、結合、反転、拡大縮小
- ✏️ テキスト(1 ツール、18 操作)— テキストの取得/設定、検索、置換、書式設定、間隔、箇条書き、大文字/小文字、記号、代替テキストの監査
- 📋 スライドの表(1 ツール、13 操作)— セルと行の作成、読み取り/書き込み、行と列の追加/削除、結合、書式設定、罫線
- 📊 グラフ(1 ツール、10 操作)— 作成、データ設定、タイトル、種類、凡例、軸タイトル、データテーブル
- 🖼️ 画像(1 ツール、4 操作)— 挿入、トリミング、明るさ/コントラスト、透明色
- 🎥 メディア(1 ツール、4 操作)— 音声/動画の挿入、メディア情報、再生設定
- 🧩 SmartArt(1 ツール、6 操作)— 図表情報、ノードの追加/削除、レイアウト、スタイル、レベル変更
- 🎨 デザイン/テーマ(1 ツール、19 操作)— テーマ、配色、フォント、アーキタイプ、パレット、レイアウトグリッド、スタイルプロファイル
- 🖌️ スライドの背景(1 ツール、5 操作)— 取得、単色、グラデーション、画像、マスターにリセット
- 🎭 マスターとレイアウト(1 ツール、5 操作)— マスターとレイアウトの一覧表示、マスター図形の編集、未使用項目の削除
- 📌 プレースホルダー(1 ツール、3 操作)— プレースホルダーの一覧表示、テキストの設定、画像の設定
- 📃 ヘッダーとフッター(1 ツール、2 操作)— フッターテキスト、スライド番号、日付の取得/設定
- 📐 ページ設定(1 ツール、3 操作)— スライドサイズ、向き、開始スライド番号
- ↔️ 図形の配置(1 ツール、2 操作)— スライド上の図形の整列と均等配置
- 🎬 アニメーション(1 ツール、6 操作)— 一覧表示、追加、削除、クリア、タイミング、順序変更
- 🔀 画面切り替え(1 ツール、4 操作)— 取得、設定、削除、すべてのスライドにコピー
- 📺 スライドショー(1 ツール、5 操作)— 開始、停止、移動、状態、設定
- 🎞️ カスタムショー(1 ツール、3 操作)— カスタムスライドショーの作成、一覧表示、削除
- 📂 セクション(1 ツール、4 操作)— プレゼンテーションのセクションの一覧表示、追加、名前変更、削除
- 📥 スライドのインポート(1 ツール、1 操作)— 別の .pptx ファイルからスライドをインポート
- 📝 ノート(1 ツール、5 操作)— 発表者ノートの取得、設定、クリア、追記、全件読み取り
- 💬 コメント(1 ツール、4 操作)— スライドコメントの追加、一覧表示、削除、クリア
- 🔗 ハイパーリンク(1 ツール、5 操作)— ハイパーリンクの追加、取得、一覧表示、削除、検証
- 🏷️ タグ(1 ツール、3 操作)— スライドと図形のカスタムメタデータ
- 🗂️ ドキュメントのプロパティ(1 ツール、4 操作)— 組み込みプロパティとカスタムプロパティの取得/設定
- ♿ アクセシビリティ(1 ツール、3 操作)— 読み取り順序の監査、取得/設定
- 🔤 校正(1 ツール、3 操作)— スペルチェック、言語の取得/設定
- 📤 エクスポート(1 ツール、9 操作)— PDF、スライド画像、動画(MP4)、印刷、別名で保存、テキスト/画像の抽出
- 🖨️ 印刷オプション(1 ツール、2 操作)— 印刷設定の取得/設定
- ⚙️ VBA(1 ツール、5 操作)— マクロの一覧表示、表示、インポート、削除、実行
- 🪟 ウィンドウ(1 ツール、7 操作)— 情報、最小化、元に戻す、最大化、ズーム、表示モード
📚 機能の完全なリファレンス → — 224 の操作すべてに関する詳細なドキュメント
💬 プロンプトの例
プレゼンテーションの作成と構築:
- "タイトルスライド付きの新しいPowerPointプレゼンテーションQuarterlyReport.pptxを作成して"
- "「タイトルとコンテンツ」レイアウトのスライドを5枚追加して"
- "最初のスライドに会社のロゴ画像を挿入して"
コンテンツと書式設定:
- "スライド2に「Q1 Revenue Summary」というテキストを太字の24pt Arialで表示するテキストボックスを追加して"
- "スライド3にRegion、Q1、Q2、Q3、Q4の列を持つ表を作成して"
- "図形の塗りつぶし色を#0078D4に設定して、2ptの枠線を追加して"
グラフとビジュアル:
- "スライド4に四半期ごとの収益データを示す棒グラフを作成して"
- "グラフのタイトルを「Revenue by Quarter」に設定して"
- "グラフの図形に開始アニメーションを追加して"
自動化:
- "プレゼンテーションをPDFとしてエクスポートして"
- "FormatAllSlidesマクロを実行して"
- "作業中にPowerPointを表示して" — 変更をリアルタイムで確認できます
🪟 エージェントモード — PowerPointでAIの作業を確認:
- "このプレゼンテーションを作成する間、PowerPointを横に並べて表示して" — リアルタイムで確認できます
- "スライドを作成する様子を見せて"
- ステータスバーに進行状況がリアルタイムで表示されます:「PptMcp: スライド4にグラフを作成中...」
👥 どのような人におすすめですか?
特におすすめ:
- ✅ 繰り返しの多いPowerPointワークフローを自動化するプレゼンター
- ✅ PowerPointを使ったレポート作成ソリューションを構築する開発者
- ✅ 複雑なプレゼンテーション資料を管理するビジネスユーザー
- ✅ プレゼンテーションのテンプレートやVBAマクロを保守するチーム
おすすめできない用途:
- ❌ サーバーサイド処理(代わりにOpen XML SDKなどのライブラリをご利用ください)
- ❌ Linux/macOSユーザー(WindowsとPowerPointのインストールが必要です)
- ❌ 大量のバッチ処理(PowerPointを必要としない代替手段をご検討ください)
🚀 クイックスタート
| プラットフォーム | インストール |
|---|---|
| 任意のMCPクライアント(.NET不要) | npx -y mcp-server-ppt |
| 任意のMCPクライアント(.NETツール) | dotnet tool install --global PptMcp.McpServer |
| 詳細 | 📖 インストールガイド |
⚠️ 重要: 使用前にPowerPointファイルをすべて閉じてください。自動化の実行中、サーバーはプレゼンテーションへの排他的なアクセスを必要とします。
🔧 CLIとMCPサーバーの比較
このパッケージでは、CLIとMCPサーバーの両方のインターフェースを提供しています。用途に応じて選択してください:
| インターフェース | 最適な用途 | 理由 |
|---|---|---|
CLI(pptcli) | コーディングエージェント(Copilot、Cursor、Windsurf) | トークン数を節約できます。単一のツールで、大きなスキーマは不要です。 |
| MCPサーバー | 会話型AI(Claude Desktop、VS Code Chat) | 豊富なツール検出機能と持続的な接続を利用できます。 |
手動インストール:
# Install MCP Server and CLI
dotnet tool install --global PptMcp.McpServer
dotnet tool install --global PptMcp.CLI
.NETがインストールされていない場合: MCPサーバーは、初回使用時に自己完結型ビルドをダウンロードするラッパーとしてnpmにも公開されています。mcp-pptの代わりに、任意のクライアントでnpx -y mcp-server-pptを指定してください。Windows x64のみ対応しています。
Windowsパッケージマネージャー(初回登録待ち): 現在、各リリースでSHA256付きのスタンドアロンpptcliアーカイブをビルドし、提出用のwingetおよびChocolateyマニフェストを生成しています(packaging/を参照)。ただし、まだ掲載されていないため、初回登録が承認されるまでは以下のコマンドを実行できません。進捗は#112で追跡しています。
# Not available yet - listed here so the intended install path is documented
winget install trsdn.pptcli
choco install pptcli
どちらのパッケージも、アーカイブがフレームワーク依存型ビルドであるため、依存関係として**.NET 9 Desktop Runtime**をインストールします。どちらもMicrosoft PowerPointをインストールすることはできません。Microsoft PowerPointは引き続き必須です。
🤖 オプション:公式ソース側エージェントクライアント
大規模なスライドデッキ作成タスク向けに、このリポジトリには公式のソース側コントローラー src\PptMcp.Agent も含まれています。
これは意図的に3つ目のサーバーインターフェースではありません。MCP サーバーの上位に位置し、クライアント側で次のループを実行します。
- スライドデッキを計画する
- 通常の逐次的な MCP ツール呼び出しで実行する
- 生成したスライドデッキを検証する
- 必要に応じて不完全な出力を修正する
クイックスタート:
dotnet build src\PptMcp.McpServer\PptMcp.McpServer.csproj -c Release
Set-Location src\PptMcp.Agent
npm install
npm run check
npm test
node .\src\cli.mjs run `
--task "Build a 5-slide executive deck on Q4 revenue performance and next actions." `
--output "C:\Users\you\Documents\q4-revenue-deck.pptx"
詳しくはこちら:
⚙️ 仕組み — COM オートメーションと統合サービスアーキテクチャ
PptMcp は Windows COM オートメーションを使用して、実際の PowerPoint アプリケーション(.pptx ファイルだけではありません)を操作します。
MCP サーバーとCLIはどちらも、PowerPoint セッションを管理する共通のPptMcp サービスと通信します。この統合アーキテクチャにより、次のことが可能になります。
┌─────────────────────┐ ┌─────────────────────┐
│ MCP Server │ │ CLI (pptcli) │
│ (AI assistants) │ │ (coding agents) │
└─────────┬───────────┘ └─────────┬───────────┘
│ │
└──────────┬────────────────┘
▼
┌─────────────────────────┐
│ PptMcp Service │
│ (shared session mgmt) │
└─────────┬───────────────┘
▼
┌─────────────────────────┐
│ PowerPoint COM API │
│ (PowerPoint.Application)│
└─────────────────────────┘
主なメリット:
- ✅ セッションの共有 — CLI と MCP サーバーから、同じ開いているプレゼンテーションにアクセスできます
- ✅ 単一の PowerPoint インスタンス — プロセスの重複やファイルロックが発生しません
- ✅ システムトレイ UI — PptMcp のトレイアイコンからアクティブなセッションを監視できます
💡 ヒント:AI の作業中に PowerPoint を確認する 既定では、オートメーションを高速化するために PowerPoint は非表示で実行されます。変更をリアルタイムで確認するには、次のように依頼してください。
- 「作業中に PowerPoint を表示して」
- 「何をしているか見せて」
- 「変更を確認できるように PowerPoint を開いて」
AI が PowerPoint ウィンドウを表示するので、すべての操作をリアルタイムで確認できます。
📋 追加情報
📚 CLI ガイド → | MCP サーバーガイド → | エージェントクライアント → | 評価フレームワーク → | アーキタイプパイプライン → | すべてのエージェントスキル →
ライセンス: MIT License — LICENSE ファイルを参照してください
コントリビューション: ガイドラインについては CONTRIBUTING.md を参照してください
開発に使用したツール: このプロジェクト全体は GitHub Copilot AI の支援を受けて開発されました。主に Claude を使用し、最近は Auto-mode も使用しています。
🔒 プライバシーポリシー
PptMcp はすべてお使いのマシン上で動作し、データを収集しません。
| データ収集 | ありません。テレメトリ、分析、クラッシュレポートは行いません。 |
| 使用と保存 | プレゼンテーションは、同じコンピューターにインストールされた PowerPoint によってローカルで開かれ、編集され、保存されます。スライドの内容、発表者ノート、埋め込みデータ、ファイルパスがこのソフトウェアによってアップロードされることはありません。 |
| 第三者との共有 | このソフトウェアによる共有はありません。起動時に外部へのリクエストが1回行われます。新しいリリースを確認するための、api.nuget.org への単純な GET リクエストです。お客様やファイル、使用状況に関するデータは送信されません。PPTMCP_NO_UPDATE_CHECK=1 で無効にできます。 |
| データの保持 | データを収集しないため、保持されるデータもありません。 |
| お問い合わせ | Issue を作成 |
1点、明確にしておくべき注意事項があります。PptMcp は通常、AI アシスタントによって操作されます。そのアシスタントが自身のモデルプロバイダーに送信する内容には、このポリシーではなく、そのアシスタントのプライバシーポリシーが適用されます。
謝辞:
- Microsoft PowerPoint チーム — 包括的な COM オートメーション API の提供に対して
- Model Context Protocol コミュニティ — AI 統合標準の提供に対して
- オープンソースコミュニティ — 着想とベストプラクティスの提供に対して
関連プロジェクト
Stefan Broenner 氏による上流プロジェクト:
- mcp-server-excel (upstream) — Stefan Broenner 氏による Excel 用のオリジナル MCP サーバー
- pytest-aitest — AI エージェント向けの LLM 搭載テストフレームワーク
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。