/ ディレクトリ / プレイグラウンド / google_workspace_mcp
● コミュニティ taylorwilsdon ⚡ 即起動

google_workspace_mcp

作者 taylorwilsdon · taylorwilsdon/google_workspace_mcp

Gmail、Drive、Calendar、Docs、Sheets、Slides、Chat、Forms、Tasks、Contacts、Apps Script 用の 1 つの MCP サーバー(コンテキストを小さく保つためのティアード ツール ロードに対応)です。

taylorwilsdon/google_workspace_mcp は Google Workspace API を約 100 個のツールでラップする Python MCP です。ご自身の Google Cloud プロジェクトで OAuth 2.0 を使用します。ツール ティア(core / extended / complete)を選択して、MCP クライアントに表示されるツールの数を制御できます。

なぜ使うのか

主な機能

ライブデモ

実際の動作

google-workspace.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-workspace": {
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "google-workspace",
      "command": "uvx",
      "args": [
        "google_workspace_mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "google-workspace": {
      "command": {
        "path": "uvx",
        "args": [
          "google_workspace_mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add google-workspace -- uvx google_workspace_mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: google_workspace_mcp

AI ラベルと下書きでインボックスをゼロにする方法

👤 ナレッジ ワーカー、経営陣 ⏱ ~20 min intermediate

使うタイミング: 月曜朝または休暇後にインボックスが大変なときに使用してください。

前提条件
  • Gmail API が有効な Google Cloud プロジェクト — console.cloud.google.com > APIs > Gmail API > Enable
  • OAuth 2.0 デスクトップ認証情報 — 認証情報 > OAuth クライアントを作成 > デスクトップ。GOOGLE_OAUTH_CLIENT_ID と _SECRET 環境変数を設定
フロー
  1. 過去 1 週間の未読メールを取得
    直近 7 日間の未読メールを Gmail で検索します。送信者カテゴリ(チーム、外部、ベンダー、ニュースレター)でグループ化してください。✓ コピーしました
    → グループ化されたカウント + プレビュー行
  2. ニュースレターに自動ラベル付け + アーカイブ
    ニュースレター バケットについて、'newsletter' ラベルを付けてアーカイブしてください。✓ コピーしました
    → アーカイブされたカウント、スレッド ID
  3. トップ 5 の重要なスレッドへの返信下書き
    最も重要な 5 つのスレッド(クライアントのリクエスト、ブロッカー、決定が必要)について、簡潔な返信を下書きしてください。送信しないでください — 下書きだけしてください。✓ コピーしました
    → Gmail に表示される 5 つの下書き

結果: インボックスが 20 件以下で、レビュー + 送信の準備ができた下書き。

注意点
  • AI が下書きではなく返信を送信する — プロンプトで常に 'draft only' と言い、信頼できないセッションの send_gmail_message を無効にしてください。
組み合わせ: notion

カレンダーから明日のすべての会議の準備をする方法

👤 連続して会議がある人 ⏱ ~15 min beginner

使うタイミング: ハードな日の前の営業日終了時

フロー
  1. 明日のイベントをリストアップ
    明日のカレンダー イベントを取得してください。各イベントについて、参加者と会議のタイトルを表示してください。✓ コピーしました
    → イベントのタイムライン
  2. 各会議について、リンクされたドキュメントと最近のメールを検索
    アジェンダ リンク付きのすべての会議について、ドキュメントを開いて要約してください。各参加者について、その人との最後のメール スレッドを表示してください。✓ コピーしました
    → 会議ごとの概要
  3. 1 つのドキュメントにまとめる
    会議ごとにセクションを持つ 'Prep 2026-04-15' ドキュメントを作成してください。✓ コピーしました
    → 返されたドキュメント URL

結果: コーヒーを飲みながら目を通せる単一の準備ドキュメント。

注意点
  • 外部参加者のメールには PII が含まれています — LLM プロバイダーに送信されます — 気になる場合は、プロンプトで名前だけに削減してください。
組み合わせ: notion

Google Sheet をエージェント用の読み取り/書き込みデータ ソースに変える方法

👤 Sheet でビジネス プロセスを実行しているオペレーション担当者 ⏱ ~15 min intermediate

使うタイミング: まだ本物のデータベースに移行したくないが、AI に質問に答えさせ + イベントを記録したい場合。

フロー
  1. Sheet のレイアウトを説明
    スプレッドシート 1AbC... の 'Orders' タブを読んでください — スキーマを教えてください。✓ コピーしました
    → 型付きの列リスト
  2. 質問に答える
    read_sheet_values を使用して、3 月のオーダーのうち 1000 ドル以上だったものはいくつですか?✓ コピーしました
    → 数値的な答え + 参照されたセル
  3. 行を追加
    新しい行を追加してください: 今日の日付、customer=acme、amount=1200、status=pending。✓ コピーしました
    → 追加された行インデックス

結果: チャットを離れずにアドホック分析 + ログ記録。

注意点
  • フォーミュラは書き込み時に再計算され、重要なセルを上書きする可能性があります — データを追加する際は、範囲書き込みではなく append_table_rows を使用してください。
組み合わせ: filesystem

マークダウン テンプレートから Google Doc を生成する方法

👤 提案書、レポート、またはテンプレート化されたドキュメントを生成する人 ⏱ ~10 min beginner

使うタイミング: Google API を学ぶことなく、リッチな Docs 出力(テーブル、ヘッダー)を希望する場合。

フロー
  1. マークダウンで下書き
    [brief] に基づいて ACME のクライアント提案を作成してください。マークダウンとして出力してください。✓ コピーしました
    → マークダウン下書き
  2. Doc に変換
    'ACME Proposal 2026-04' というタイトルで新しい Google Doc を作成してください。create_doc を使用してから batch_update_doc を使用してフォーマットを保持してください。✓ コピーしました
    → Doc URL

結果: 共有できる適切にフォーマットされた Doc。

注意点
  • create_doc はプレーン テキストのみを受け取ります — フォーマットには続く batch_update ���必要です。 — リッチ doc の場合は常に 2 ステップ フローを使用してください。

組み合わせ

他のMCPと組み合わせて10倍の力を

google-workspace + notion

会議準備ドキュメントを Notion にミラーリングしてチーム可視化

今日の各会議について、Google Doc アジェンダを 'Meeting Notes' の下の新しい Notion ページにコピーし、日付をタイトルとしてください。✓ コピーしました
google-workspace + filesystem

Drive フォルダをローカル ディスクにバックアップとしてエクスポート

Drive フォルダ 'Client Contracts 2025' のすべてのファイルを /backups/drive/contracts-2025/ にダウンロードしてください。✓ コピーしました
google-workspace + github

GitHub issues をカレンダー スタンダップと相互参照

10 時のスタンダップの前に、自分に割り当てられたオープンの GitHub issues をリストアップして、その概要を今日のスタンダップ イベント説明に添付してください。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
search_gmail_messages query: str, max_results?: int 送信者、件名、日付でメッセージを検索 1 件の Gmail API 呼び出し
draft_gmail_message to, subject, body, thread_id? AI ワークフロー用の送信より下書きを推奨 1 件の API 呼び出し
send_gmail_message to, subject, body ユーザーが明示的に送信を依頼した場合のみ 1 件の API 呼び出し(取り消し不可)
get_events calendar_id?, time_min, time_max 期間内のイベントを取得 1 件の Calendar API 呼び出し
manage_event action, event_id?, summary?, attendees?, time? イベントを作成/更新/削除 1 件の API 呼び出し
read_sheet_values spreadsheet_id, range セル範囲を読み取る 1 件の Sheets API 呼び出し
append_table_rows spreadsheet_id, table_id, rows フォーミュラを上書きせずに安全に追加 1 件の Sheets API 呼び出し
create_doc title, content? 新しいドキュメントを開始 1 件の Docs API 呼び出し
batch_update_doc doc_id, requests[] create_doc の後にフォーマットを適用 1 件の Docs API 呼び出し(バッチ処理)
search_drive_files query, max_results? 名前/所有者でファイルを検索 1 件の Drive API 呼び出し

コストと制限

運用コスト

APIクォータ
Gmail: 250 quota units/user/sec。Sheets: 300 reads/min/user。Drive: 1000 queries/100s/user。
呼び出しあたりのトークン
'complete' tier のツール リストは膨大です(約 100 ツール);コスト削減のため 'core' tier を使用してください。
金額
Google アカウントで無料
ヒント
--tool-tier core で実行し、実際に Slides/Forms/Script が必要な場合にのみ extended に切り替えてください。

セキュリティ

権限、シークレット、影響範囲

最小スコープ: 実際に使用するサービスのスコープのみを付与してください(例:gmail.readonly、calendar.readonly)。
認証情報の保管: GOOGLE_OAUTH_CLIENT_ID/_SECRET を環境変数に;リフレッシュ トークンをディスクに永続化
データ送信先: ドキュメント/メール コンテンツは MCP サーバーを経由して選択した LLM プロバイダーに送信されます。
絶対に付与しない: gmail.send を授与しないでください(送信が必要ない場合) drive (full) を授与しないでください(drive.file で十分な場合) admin scopes を授与しないでください

トラブルシューティング

よくあるエラーと対処法

invalid_grant / トークンの有効期限が切れているか失効している

キャッシュされたトークン ファイルを削除して、認証フローを再実行してください。

確認: ls ~/.config/google_workspace_mcp/tokens
403 権限不足

必要なスコープで再度同意してください — 保存されたトークンにはまだありません。

API が有効になっていない

Google Cloud Console でプロジェクトの特定の API(例:Docs API)を有効にしてください。

ユーザーのクォータが超過

Gmail と Sheets には分単位の制限があります。読み取りをバッチ処理し、指数バックオフで再試行してください。

代替案

google_workspace_mcp 他との比較

代替案代わりに使う場面トレードオフ
Official Gmail MCP (Anthropic リモート)Anthropic ホスト OAuth を設定なしで使用したい場合Gmail のみ;Drive/Docs/Sheets なし
zapier MCP既に Zapier の料金を払っており、設定なしを希望する場合呼び出しごとにコストがかかります;レイテンシが高い

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る