
Connects Claude to Google Sheets, Slides, and Drive via the official APIs. You get read/write access to spreadsheets (including CSV imports), full presentation editing with text boxes and shapes, and file search across Drive. Useful when you need to generate reports directly into Sheets, build slide decks programmatically, or query Drive contents without leaving your AI workflow. Handles OAuth setup through Google Cloud credentials. The sheets_import_csv tool supports custom delimiters and Base64 encoding, and the slides tools let you batch multiple updates in a single request for complex presentation modifications.
Google Workspace MCP Server は、GitHub Copilot などの AI アシスタントから Google Workspace サービス(Slides、Sheets、Docs、Drive)を操作できるようにする MCP サーバーです。
会社用・個人用など、複数の Google アカウントを 1 つのサーバーで使い分けられます。
すべてのツールに account 引数があり、work private のようなラベルで対象アカウントを指定します。省略した場合は既定アカウントが使われます。
アカウントごとに OAuth(利用者として認証)と サービスアカウント(ブラウザ認可が不要)を選べます。
| OAuth | サービスアカウント | |
|---|---|---|
| ブラウザでの認可 | 必要 | 不要 |
| 既存ファイルの読み書き | Drive 全体 | 共有したものだけ |
| 新規ファイルの作成 | 可 | 不可 |
寸法の単位は、slides_add_line / slides_add_table / slides_update_element_transform /
slides_update_paragraph_style がポイント(スライドは 720 × 405 pt)、それ以前からある
slides_add_shape / slides_add_text_box / slides_insert_image が EMU です。
理由は ADR 0004 を参照してください。
# 会社アカウントを登録
npm run setup -- --account work --description "会社の Google Workspace"
# 個人アカウントを登録
npm run setup -- --account private --description "個人の Google アカウント"
詳細なセットアップ手順は docs/setup.md を参照してください。
src/
├── index.ts # MCP サーバー起動
├── auth/ # アカウント設定・トークン・OAuth クライアントの解決
├── manager/ # サービス統合管理と account 引数の取り回し
└── tools/ # Google Workspace ツール実装
├── accounts/
├── sheets/
├── slides/
├── docs/
└── drive/
設定とトークンは 1 つのディレクトリにまとまります。
~/.google-workspace-mcp/
├── accounts.json # アカウント一覧と既定アカウント
├── credentials.json # 全アカウントで共有する OAuth クライアント
└── accounts/
├── work/token.json # OAuth のトークン
└── private/service-account.json # サービスアカウントの鍵
用語の定義は CONTEXT.md を参照してください。
新しいバージョンが公開されたら、次のコマンドで差し替えます。
npm run update-image # 公開済みの最新版へ差し替える
npm run update-image -- 0.4.1 # バージョンを指定して差し替える
npm run update-image -- --dry-run # 何が起きるかだけ表示する
やっていること:
docker pull する~/.claude.json)に固定されているタグを差し替える(控えを .bak に残す)差し替え後は、Claude Code を再起動するか /mcp で再接続すると新しいイメージで起動します。
| オプション | 意味 |
|---|---|
--config <path> | 設定ファイルの場所を変える(既定: ~/.claude.json) |
--image <name> | 対象の Docker イメージを変える(既定: takigu1/google-workspace-mcp-server) |
--keep-old | 旧イメージを削除しない |
--dry-run | 変更せず、差し替え内容だけ表示する |
タグは
latestではなくバージョンで固定したままにします。latestは指す先が黙って変わるため、 今どのバージョンが動いているのか分からなくなります。
npm test # ビルドしたうえで認証・アカウント解決層のテストを実行
以下のファイルを参照してください:
以下のファイルを参照してください:
https://registry.modelcontextprotocol.io/?q=google-workspace で MCP を検索すると -server なしのプロジェクトが見つかるが、初期に登録してしまったものなので、 unpublish 的な操作ができるようになったら、そちらは削除する予定。(2026年3月時点では削除ができない。)