Skip to main content
Glama
matteoantoci

google-slides-mcp

by matteoantoci

Google Slides MCP Server

このプロセスは、Google Slides API 用の MCP サーバーです。ホストは stdio でこのサーバーと通信します。初回起動時にブラウザが開きます。Desktop クライアント ID とクライアントシークレットを貼り付けます。続いて Google の同意画面が表示されます。以降の起動ではトークンストアを読み取ります。

前提条件

  • Node.js 20 以降

  • Google Slides API が有効な Google Cloud プロジェクト

  • OAuth Desktop クライアント ID とクライアントシークレット

リフレッシュトークンは不要です。プロセス環境変数も不要です。

Related MCP server: MCP Google Sheets Server

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 で待ち受けます。Stderr に 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: スピーカーノート(要求され、利用可能な場合)

Related MCP Connectors

Related MCP Servers