mcpField
G
Google Slides MCP Server

Google Slides MCP Server

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

Google Slides MCP Server について

Google Slides MCP Server は、Google Slides API 向けの MCP サーバーで、stdio 経由で動作します。初回起動時にブラウザで OAuth 認証を行い、以降はローカルのトークンストアを読み込みます。MCP クライアントからプレゼンテーションを作成・編集したいユーザーに向いています。

主な機能

  1. 01プレゼンテーションの作成と取得
  2. 02batchUpdate によるスライド編集
  3. 03ページ単位の詳細取得
  4. 04プレゼンテーションのテキスト抽出
  5. 05利用可能な場合は OS のキーチェーンに認証情報を保存

活用シーン

  1. 01アウトラインからMCPクライアント経由で新しいプレゼンテーションを生成
  2. 02既存スライドのテキスト、図形、画像を一括編集
  3. 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

  1. Desktop OAuth クライアントを作成します。下記の Google Auth プラットフォームの手順に従ってください。
  2. Claude Code で次を実行します。
/plugin marketplace add matteoantoci/claude-plugins
/plugin install google-slides-mcp@matteoantoci-plugins
  1. Claude から求められた場合は、/reload-plugins を実行します。
  2. 初回起動時にはブラウザーが開きます。クライアント ID とクライアントシークレットを貼り付けます。Google の同意手続きを完了します。

次回以降のセッションでは、トークンストアが読み込まれます。ホスト用 JSON は不要です。環境変数も不要です。

その他のホスト

  1. このリポジトリをクローンします。
  2. npm install を実行します。
  3. npm run build を実行します。
  4. 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 とクライアントシークレットをコピーします。
  5. npm run start を実行します。クライアント ID とクライアントシークレットを貼り付け、Google の同意手続きを完了します。その後、プロセスを停止します。
  6. ホストで 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:スライドのオブジェクト ID
        • content:スライドから抽出されたすべてのテキスト
        • notes:発表者ノート(要求されていて、利用可能な場合)

コメント

MCP は初めてですか?

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

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