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

Google Workspace MCP

作者 taylorwilsdon · taylorwilsdon/google_workspace_mcp

OAuth 認証を一度行うだけで、Gmail・Drive・Calendar・Docs・Sheets・Slides・Forms・Tasks・Chat への読み書きアクセスが全て整う。サービスごとの設定は不要。

google_workspace_mcp は Google Workspace の 12 サービスを単一の MCP サーバーで束ねる。3 段階のツール階層(core / extended / complete)により、再認証なしでアクセス範囲を絞ることができる。コンテナ向けのステートレスモード、ベアラートークンによるマルチユーザー OAuth 2.1、GCS バックエンドのトークンキャッシュ、Claude Desktop 向けワンクリック .dxt インストールに対応。

なぜ使うのか

主な機能

ライブデモ

実際の動作

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

インストール

クライアントを選択

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

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-workspace-mcp": {
      "command": "uvx",
      "args": [
        "workspace-mcp",
        "--tool-tier",
        "core"
      ]
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-workspace-mcp": {
      "command": "uvx",
      "args": [
        "workspace-mcp",
        "--tool-tier",
        "core"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-workspace-mcp": {
      "command": "uvx",
      "args": [
        "workspace-mcp",
        "--tool-tier",
        "core"
      ]
    }
  }
}

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

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

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

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

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

claude mcp add google-workspace-mcp -- uvx workspace-mcp --tool-tier core

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

ユースケース

実用的な使い方: Google Workspace MCP

Claude をアシスタントとして Gmail の受信トレイをゼロにする

👤 未読メールが 200 件以上ある方 ⏱ ~25 min beginner

使うタイミング: 月曜の朝、受信トレイがメールの壁になっているとき。

前提条件
  • Google Cloud の OAuth クライアント — console.cloud.google.com で OAuth 2.0 認証情報を作成し、client_secret.json をダウンロードする
  • サーバーのインストール — uvx workspace-mcp --tool-tier core(初回呼び出し時にブラウザで OAuth 認証が開く)
フロー
  1. 受信トレイを分類する
    Use google-workspace-mcp. List unread mail from the last 7 days. Bucket into: action-required, FYI, newsletters, automated.✓ コピーしました
    → 各バケットの件数とメール件名のサンプルが表示される
  2. 低価値バケットを自動アーカイブ
    Archive everything in newsletters + automated. Don't touch action-required.✓ コピーしました
    → N 件アーカイブ済み、action-required への影響ゼロ
  3. 返信下書きを作成
    For each action-required email, draft a 2-line reply in my voice. Save as drafts, don't send.✓ コピーしました
    → Gmail に下書きが作成される。微調整して自分で送信する

結果: 受信トレイが 20 件未満に。返信は下書き済みだが未送信なので、最終確認は自分で行える。

注意点
  • Gmail の全権限スコープを付与して後悔した — --tool-tier core を使う。extended にオプトインしない限り send_email ツールは使えない
組み合わせ: filesystem

カレンダーと Docs のアクティビティから週次ステータスレポートを生成する

👤 週次アップデートを書く個人貢献者・マネージャー ⏱ ~10 min beginner

使うタイミング: 金曜の午後、今週何をしたか忘れてしまったとき。

フロー
  1. カレンダーを取得
    Use google-workspace-mcp. List meetings I attended Mon–Fri this week (skip declined). For each, give 1-line context.✓ コピーしました
    → 会議ごとに簡単なコンテキスト付きで時系列リストが表示される
  2. ドキュメントのアクティビティを取得
    List Drive docs I edited or commented on this week. Group by project.✓ コピーしました
    → プロジェクトごとにグループ化されたドキュメント一覧と編集・コメント数が表示される
  3. アップデートを下書き
    Combine into a 6-bullet weekly update — what I shipped, what's blocked, what's next.✓ コピーしました
    → Slack やメールにそのまま貼れる下書きが完成する

結果: 30 分かかっていた週次アップデートが 3 分で完成。実際の成果物に基づいた内容になる。

注意点
  • 定期的な 1on1 がカレンダーを埋めてレポートが冗長になる — イベントタイトルのパターンや参加人数でフィルタリングする。定期 1on1 はデフォルトでスキップするよう Claude に指示する

乱雑なスプレッドシートから構造化データを抽出して結果を書き戻す

👤 オペレーション・財務など、スプレッドシートを日常的に使う方 ⏱ ~20 min intermediate

使うタイミング: 自由記述のベンダー説明が 1000 行あり、カテゴリ分けが必要なとき。

フロー
  1. セル範囲を読み込む
    Use google-workspace-mcp. Read column B from Sheet 'Q4 expenses' — 1000 rows of vendor descriptions.✓ コピーしました
    → 行が読み込まれ、サンプルが表示される
  2. カテゴリ分け
    Categorize each row into: SaaS, hardware, travel, services, other. Show distribution first.✓ コピーしました
    → 分布テーブルと確認用サンプルが表示される
  3. 書き戻す
    Write categories into column F. Add a header. Don't touch other columns.✓ コピーしました
    → スプレッドシートが更新される。いくつかのセルを手動で確認する

結果: カテゴリ分けされたデータがシートに反映され、チャット上に監査履歴が残る。

注意点
  • Claude が大切な列を上書きしてしまった — 書き込み先の列を必ず明示する。一括書き込みの前に数セルを確認する

カレンダーの招待から会議準備ドキュメントを自動生成する

👤 会議が連続して入っている方 ⏱ ~15 min intermediate

使うタイミング: 明日に 5 件の会議があり、全く予習できていないとき。

フロー
  1. 明日の予定をスキャン
    Use google-workspace-mcp. List tomorrow's meetings with attendees and any attached docs.✓ コピーしました
    → 会議ごとに参加者と添付ドキュメントのブロックが表示される
  2. ブリーフィングを生成
    For each, create a Doc 'Prep — <meeting title>' summarizing attached docs + suggesting 3 questions to ask.✓ コピーしました
    → /Meeting prep/ フォルダに N 件の Doc が作成される

結果: ぶっつけ本番でなく、準備万端で各会議に臨める。

注意点
  • 外部参加者は準備ドキュメントを見られないが、共有タイトルが意図を漏らす可能性がある — 非公開の準備フォルダを使う。タイトルは「Prep — <トピック>」とし、機密案件名は含めない

組み合わせ

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

google-workspace-mcp + filesystem

Drive のドキュメントをローカルに同期してオフライン編集や git 管理を行う

Pull all docs in /weekly-updates/ from Drive into ./drive-mirror/ as markdown.✓ コピーしました
google-workspace-mcp + github

GitHub と Google Doc の間でリリースノートを相互同期する

Take the latest GitHub release notes and append them to the 'Release log' Google Doc.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
search_gmail query: str (Gmail search syntax), max_results? 自然言語の条件に合うメールを検索する 1 Gmail API call
send_email to, subject, body, cc?, bcc? extended / complete 階層のみ使用可能。確認なしで自動送信しないこと 1 API call
list_calendar_events calendar_id, time_min, time_max 指定期間のイベントを取得する 1 Calendar API call
read_sheet_range spreadsheet_id, range (A1 notation) シートのセルを取得する 1 Sheets API call
write_sheet_values spreadsheet_id, range, values[][] 計算結果でシートの範囲を更新する 1 API call
create_doc title, content (markdown) チャットの出力から新規ドキュメントを生成する 1 Docs API call
search_drive query, mime_type? 名前やコンテンツでファイルを検索する 1 Drive API call

コストと制限

運用コスト

APIクォータ
Gmail: 250 quota units/user/sec、Calendar: 500 req/100sec、Sheets: 300 req/min/user
呼び出しあたりのトークン
呼び出しによって 200〜4000 トークン(メール本文全体 vs メタデータのみで異なる)
金額
個人 Google アカウントは無料。Workspace 組織では管理者の制限がある場合がある
ヒント
Forms・Slides・Apps Script が実際に必要でなければ --tool-tier core にとどめること。ツール数が少ないほどシステムプロンプトが小さくなる

セキュリティ

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

最小スコープ: gmail.readonly calendar.readonly drive.readonly
認証情報の保管: デフォルトはローカルの暗号化トークンキャッシュ。ホスト型環境向けに GCS バックエンドもオプションで利用可能
データ送信先: googleapis.com への直接通信。第三者経由のリレーは行わない
絶対に付与しない: gmail.send(自動送信のリスクを十分理解するまでは付与しない) drive(全体への読み書き権限)

トラブルシューティング

よくあるエラーと対処法

OAuth コールバックが失敗する・ブラウザが開かない

OAUTH_REDIRECT_PORT を空きポートに設定して再実行。ヘッドレス環境ではデバイスフローモードを使用する

確認: lsof -i :8080 to confirm port free
403 insufficient_permissions

不足しているスコープで再認証する。Google Cloud Console の OAuth クライアントで当該スコープが許可されていることを確認する

確認: Decode token at oauth2.googleapis.com/tokeninfo to see granted scopes
Workspace 管理者が OAuth クライアントをブロックしている

管理者にクライアント ID を信頼済みアプリリストに追加してもらうか、テスト用に個人 Google アカウントを使用する

一括操作でクォータを超過した

バックオフを追加する。サーバーは Retry-After ヘッダーを尊重するが、一括ループは秒間制限に引っかかることがある

確認: Watch for HTTP 429 in logs

代替案

Google Workspace MCP 他との比較

代替案代わりに使う場面トレードオフ
Pipedream MCPセルフホストなしでマネージドな OAuth と既製の Google インテグレーションが欲しいとき大規模利用は有料。データが Pipedream を経由する
Per-service MCP servers (gmail-mcp, drive-mcp)Google サービスを 1 つだけ使いたく、スコープ面を最小限にしたいとき複数の OAuth フローとトークンキャッシュを個別に管理する必要がある

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

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