Google Slides MCP Server について
Google Slides MCP Server は、Google Slides API 向けの MCP サーバーで、stdio 経由で動作します。初回起動時にブラウザで OAuth 認証を行い、以降はローカルのトークンストアを読み込みます。MCP クライアントからプレゼンテーションを作成・編集したいユーザーに向いています。
主な機能
- 01プレゼンテーションの作成と取得
- 02batchUpdate によるスライド編集
- 03ページ単位の詳細取得
- 04プレゼンテーションのテキスト抽出
- 05利用可能な場合は OS のキーチェーンに認証情報を保存
活用シーン
- 01アウトラインからMCPクライアント経由で新しいプレゼンテーションを生成
- 02既存スライドのテキスト、図形、画像を一括編集
- 03全スライドのテキストを抽出して内容を要約
MCP 対応
本プロジェクトは MCP サーバーであり、create_presentation、get_presentation、batch_update_presentation、get_page、summarize_presentation などのツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Google Slides MCP サーバー
このプロセスは、Google Slides API 用の MCP サーバーです。ホストは stdio 経由でこのプロセスと通信します。初回起動時にはブラウザーが開きます。Desktop クライアント ID とクライアントシークレットを貼り付けます。その後、Google の同意画面が表示されます。次回以降の起動では、トークンストアが読み込まれます。
前提条件
- Node.js 20 以降
- Google Slides API が有効になっている Google Cloud プロジェクト
- OAuth Desktop クライアント ID とクライアントシークレット
リフレッシュトークンは不要です。プロセス環境変数も不要です。
Claude Code
- Desktop OAuth クライアントを作成します。下記の Google Auth プラットフォームの手順に従ってください。
- Claude Code で次を実行します。
/plugin marketplace add matteoantoci/claude-plugins
/plugin install google-slides-mcp@matteoantoci-plugins
- Claude から求められた場合は、
/reload-pluginsを実行します。 - 初回起動時にはブラウザーが開きます。クライアント ID とクライアントシークレットを貼り付けます。Google の同意手続きを完了します。
次回以降のセッションでは、トークンストアが読み込まれます。ホスト用 JSON は不要です。環境変数も不要です。
その他のホスト
- このリポジトリをクローンします。
npm installを実行します。npm run buildを実行します。- Google Cloud Console で Desktop OAuth クライアントを作成します。
- Google Auth platform を開きます。
- プラットフォームが設定されていないというメッセージが表示された場合は、Get Started をクリックします。
- アプリ名:
Google Slides MCP。ユーザーサポートメール:自分のメールアドレスを入力します。 - 対象ユーザー:External。
- 連絡先メール:自分のメールアドレスを入力します。ポリシーに同意し、Create をクリックします。
- Audience を開き、テストユーザーとして自分の Gmail アドレスを追加します。
- Data Access を開き、
https://www.googleapis.com/auth/presentationsとhttps://www.googleapis.com/auth/drive.readonlyを追加して保存します。 - Clients を開き、Create Client をクリックします。アプリケーションの種類:Desktop app。名前:
Google Slides MCP Desktop。Create をクリックします。 - クライアント ID とクライアントシークレットをコピーします。
npm run startを実行します。クライアント ID とクライアントシークレットを貼り付け、Google の同意手続きを完了します。その後、プロセスを停止します。- ホストで
node /path/to/google-slides-mcp/build/index.jsを指定します。環境変数は設定しないでください。
ホスト設定の例:
"google-slides-mcp": {
"transportType": "stdio",
"command": "node",
"args": [
"/path/to/google-slides-mcp/build/index.js"
]
}
パスを、お使いのマシン上にあるコンパイル済みの build/index.js に置き換えてください。
初回起動
プロセスによってループバックページが開きます。
- ストアにクライアント ID またはクライアントシークレットがない場合は、その2つの値を貼り付けます。
- Google の同意画面に進みます。
- 成功ページを閉じます。
プロセスは Google の認証情報をトークンストアに書き込みます。まず OS のキーチェーンを試します。キーチェーンが利用できない場合は、~/.config/google-slides-mcp/credential.json を使用します。ファイルモードは 0600 です。
次回以降の起動ではストアが使用されます。ブラウザーは開きません。
GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET、GOOGLE_REFRESH_TOKEN を指定すると、それぞれ1つのフィールドを上書きできます。必須ではありません。環境変数で不足しているフィールドが指定された場合、プロセスは統合した認証情報をストアに書き込みます。
ホストを使わずに実行する
npm run start
プロセスは stdio で待ち受けます。標準エラー出力には Google Slides MCP server running and connected via stdio. と表示されます。
利用可能なツール
-
create_presentation:新しい Google Slides プレゼンテーションを作成します。- 入力:
title(string、必須):新しいプレゼンテーションのタイトル。
- **出力:**作成されたプレゼンテーションの詳細を表す JSON オブジェクト。
- 入力:
-
get_presentation:既存のプレゼンテーションの詳細を取得します。- 入力:
presentationId(string、必須):取得するプレゼンテーションの ID。fields(string、任意):返されるデータを限定するフィールドマスク(例:「slides,pageSize」)。
- **出力:**プレゼンテーションの詳細を表す JSON オブジェクト。
- 入力:
-
batch_update_presentation:プレゼンテーションに一連の更新を適用します。スライドの変更(テキストや図形、画像の追加、スライドの作成など)に使用する主要なメソッドです。- 入力:
presentationId(string、必須):更新するプレゼンテーションの ID。requests(array、必須):更新内容を定義するリクエストオブジェクトの配列。個々のリクエストの構造については、Google Slides API のbatchUpdateドキュメントを参照してください。writeControl(object、任意):書き込みリクエストの実行を制御します(例:リビジョン ID の使用)。
- **出力:**一括更新の結果を表す JSON オブジェクト。
- 入力:
-
get_page:プレゼンテーション内の特定のページ(スライド)の詳細を取得します。- 入力:
presentationId(string、必須):取得するプレゼンテーションの ID。pageObjectId(string、必須):取得するページ(スライド)のオブジェクト ID。
- **出力:**ページの詳細を表す JSON オブジェクト。
- 入力:
-
summarize_presentation:プレゼンテーション内のすべてのテキストコンテンツを抽出して整形し、要約しやすくします。- 入力:
presentationId(string、必須):要約するプレゼンテーションの ID。include_notes(boolean、任意):要約に発表者ノートを含めるかどうか。デフォルトは false です。
- **出力:**以下を含む JSON オブジェクト:
title:プレゼンテーションのタイトルslideCount:スライドの総数lastModified:リビジョン情報slides:以下を含むスライドオブジェクトの配列:slideNumber:プレゼンテーション内での位置slideId:スライドのオブジェクト IDcontent:スライドから抽出されたすべてのテキストnotes:発表者ノート(要求されていて、利用可能な場合)
- 入力:
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。