Multi-account MCP for Gmail, Calendar, Drive, Docs, and Sheets — 61 tools, token について
複数の Google アカウントを使うユーザー向けに、Gmail、Calendar、Drive、Docs、Sheets を扱う MCP サーバーです。検索結果を簡潔にし、本文は要求時のみ取得し、トークンは OS の認証情報ストアに保管します。
主な機能
- 01複数の Google アカウントを認証
- 02簡潔な検索・一覧結果
- 03Gmail の検索、閲覧、送信
- 04Calendar の予定と空き時間管理
- 05Drive のファイルと権限操作
- 06Docs と Sheets の編集
活用シーン
- 01仕事用と個人用のメールボックス管理
- 02空き時間の確認と予定の調整
- 03Drive ファイルの検索、整理、共有
- 04ドキュメントやスプレッドシート範囲の編集
MCP 対応
Gmail、Calendar、Drive、Docs、Sheets の操作を MCP クライアント向けのツールとして公開します。各ツールで認証済みアカウントを指定でき、メールやファイルの本文は要求時のみ取得します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
google-workspace-mcp
Gmail + Calendar + Drive + Docs + Sheets に対応する、複数アカウント対応のトークン効率に優れた MCP です。 公式の Claude コネクターは 1 つのアカウントしかサポートせず、デフォルトでメールやファイルの本文全体を返すため、このツールを開発しました。
Claude と会話しながらセットアップ
このリポジトリのリンクを Claude Code に貼り付け、メールを接続したいと伝えてください。Claude Code がターミナルでの手順を実行し、ウェブブラウザーが必要な操作は Claude in Chrome で行います。GUIDED-SETUP.md には、ブラウザーでの正確な手順も含め、このセットアップの流れがステップごとに記載されています。
開発の背景
- 複数アカウント対応:OAuth で複数のメールボックス(仕事用 + 個人用 + 共同創業者用)を認証できます。各ツールで
accountメールアドレスを指定します。エイリアスは Send-As ID で処理されます。 - トークン効率に優れています:検索/一覧表示ではコンパクトな形式(メールの場合は
{id, from, subject, snippet, ...}、Drive の場合は{id, name, mime, modified, size, ...})を返します。 本文やファイルの内容は、オプトインした場合にのみ取得されます。 - キーリングを使用:リフレッシュトークンは平文ファイルではなく、OS の認証情報ストア(macOS の Keychain、Windows の Credential Manager、Linux の Secret Service)に保存されます。Vault にトークンを保存せず、リポジトリにもトークンを含めません。
- macOS、Windows、Linux に対応:プラットフォームごとにインストーラーが 1 つあり、コネクターは共通です。
ツール(v2、63 個)
アカウント管理(3 個)
gws_account_add— ブラウザーで OAuth を実行し、新しいメールボックスを認証済みアカウントとして追加gws_account_list— 認証済みアカウントとデフォルトアカウントを一覧表示gws_account_remove— ローカルの認証情報を削除(Google 側では認証を取り消しません)
Gmail(12 個)
gmail_search— Gmail の検索演算子を使って検索します。コンパクトな応答を返します。gmail_read— 1 件のメールまたはスレッド全体を読み取ります。本文の取得はオプトインです。gmail_send— メールを送信します。Send-As ID 用のfrom_aliasを指定できます。gmail_draft— 下書きを作成します。gmail_reply— スレッドとヘッダーを維持して返信します。reply_allを指定できます。gmail_labels_list— すべてのラベルを一覧表示gmail_label_apply— ラベルの一括追加/削除gmail_archive— 一括アーカイブ(INBOX を削除)gmail_trash— ゴミ箱へ一括移動gmail_sendas_list— このメールボックスの Send-As ID を一覧表示gmail_attachments_list— メールの添付ファイルを一覧表示(ファイル名、MIME タイプ、サイズ)gmail_attachment_save— 添付ファイルを 1 つローカルファイルにダウンロードし、直接読み取るためのパスを返します
Calendar(7 個)
cal_list_calendars— すべてのカレンダーを一覧表示cal_list_events— 今後の予定を一覧表示します(デフォルトはコンパクト形式、全項目の表示にはverbose=Trueを指定)cal_create_event— 予定を作成します。Google Meet のリンクを指定できます。cal_update_event— フィールドを部分更新cal_delete_event— 予定を削除cal_freebusy— スケジュール調整のため、予定ありの時間帯を確認cal_respond— 承諾/辞退/仮承諾
Drive(18)
drive_search— フリーテキストまたは Drive の生の q 構文で検索します。メタデータのみを返します。drive_read_file— デフォルトではメタデータを返します。本文を取得するにはinclude_content=Trueを指定しますdrive_list_folder— フォルダーの直下にある項目を一覧表示します(マイドライブの場合は'root')drive_create_folder— 任意の親フォルダーの下にフォルダーを作成しますdrive_upload— ローカルファイルをアップロードします。convert_to_googleは任意ですdrive_move— 親フォルダーを変更しますdrive_rename— ファイルまたはフォルダーの名前を変更しますdrive_share— メールアドレスを指定して、閲覧者/コメント可/編集者などのアクセス権を付与しますdrive_trash— ゴミ箱に移動します(復元可能)drive_untrash— ゴミ箱から復元しますdrive_permission_list— ファイルにアクセスできるユーザーを一覧表示しますdrive_permission_update— 権限付与先のロールを変更しますdrive_permission_delete— 権限を取り消しますdrive_shared_drives_list— このアカウントがアクセスできる共有ドライブを一覧表示しますdrive_comments_list— Drive ファイル(ドキュメント/スプレッドシート/スライド/アップロード済みファイル)のコメントを一覧表示しますdrive_comment_add— コメントを追加します。アンカーは任意ですdrive_comment_reply— コメントに返信しますdrive_comment_resolve— コメントを解決済みにします
Docs(9)
docs_create— 新しいドキュメントを作成します。初期本文と親フォルダーの指定は任意ですdocs_read— デフォルトではフラットなテキストを返します。Docs API のツリー全体を取得するにはstructured=Trueを指定しますdocs_append— 本文の末尾にテキストを追加しますdocs_insert_at— 指定したインデックスにテキストを挿入しますdocs_replace_text— 検索と置換を行い、置換件数を返しますdocs_export— Markdown/PDF/DOCX/RTF/プレーンテキストにエクスポートしますdocs_suggestions_list— 保留中の変更履歴の提案を一覧表示しますdocs_suggestions_accept_all— すべての提案を承認します(ドキュメントを書き換えます)docs_suggestions_reject_all— すべての提案を却下します(ドキュメントを書き換えます)
Sheets(14)
sheets_create— 新しいワークブックを作成します。親フォルダーの指定は任意ですsheets_list_sheets— 行数と列数を含め、タブを一覧表示しますsheets_add_sheet— 既存のワークブックに新しいタブを追加しますsheets_read_range— A1 範囲を読み取ります。FORMULA/UNFORMATTED_VALUEオプションを指定できますsheets_write_range— 範囲を上書きします。USER_ENTEREDを指定すると数式を解析しますsheets_append— 既存データの下に行を追加しますsheets_clear_range— 値を消去します(書式は保持されます)sheets_batch_read— 1 回の API 呼び出しで複数の範囲を読み取りますsheets_batch_write— 1 回の API 呼び出しで複数の範囲に書き込みますsheets_named_ranges_list— ワークブック内の名前付き範囲を一覧表示しますsheets_named_range_add— 名前付き範囲を作成しますsheets_named_range_delete— 名前付き範囲を削除しますsheets_conditional_format_add— 条件付き書式ルールを追加しますsheets_data_validation_add— ドロップダウン/数値/メールアドレス/URL の入力規則を設定します
インストール
最速の方法 — スクリプトを 1 つ実行するだけで、手動設定は不要です。
macOS と Linux:
git clone https://github.com/adelaidasofia/google-workspace-mcp.git
bash google-workspace-mcp/install.sh
Windows(PowerShell):
git clone https://github.com/adelaidasofia/google-workspace-mcp.git
powershell -ExecutionPolicy Bypass -File .\google-workspace-mcp\install.ps1
インストーラーは分離された venv を作成し、依存関係をインストールして、Google OAuth クライアントを受け取ります(対話形式、または環境内の GWS_CLIENT_ID /
GWS_CLIENT_SECRET を使用)。その後、サーバーを Claude Code に登録します。何度でも安全に実行できます。事前に Google OAuth クライアントが必要です —
約 45 分かかる初回の GCP セットアップについては、SETUP.md を参照してください。その後、Claude Code から
gws_account_add を実行して、最初のメールボックスを認証します。
どちらの方法も Python 3.10 以降が必要で、既にインストールされている Python を検出します。
- macOS / Linux では、まず
python3を試し、次にpython3.14からpython3.10まで順に試します。そのため、python3が macOS の古いシステム版を指していても、Homebrew の Python が使用できます。 - Windows では、まず
py -3(Python ランチャー)を試し、次にpython、python3、バージョン付きの名前を試します。候補として認識されるには、実行して自身のバージョンを報告する必要があります。これにより、Microsoft Store の プレースホルダー(%LOCALAPPDATA%\Microsoft\WindowsApps)が選ばれないようになっています。これはPATH上にある実際のpython.exeですが、実行すると Store が開きます。
検索で見つからない場所(pyenv、conda、専用のプレフィックスなど)にある場合は、パスを指定してください:
GWS_PYTHON=/full/path/to/python3 bash google-workspace-mcp/install.sh
$env:GWS_PYTHON = 'C:\full\path\to\python.exe'
powershell -ExecutionPolicy Bypass -File .\google-workspace-mcp\install.ps1
Windows に関する注意
-ExecutionPolicy Bypass は意図的にコマンドに含めています。 Windows では、ダウンロードしたスクリプトは既定でブロックされます。この指定は、この実行に限って例外を適用し、マシンのポリシーは変更しません。
Git Bash ではなく、PowerShell から実行してください。 install.sh は Git Bash / MSYS を検出すると、そこで処理を停止して install.ps1 を案内します。これは、ネイティブの Claude Code で起動できない POSIX venv のパスを登録しないためです。WSL は通常の Linux なので、引き続き install.sh を使用します。
タイムゾーン。 コネクターはマシンの IANA タイムゾーンを読み取るため、cal_* 呼び出しの「午後 3 時」は現在地の午後 3 時を意味します。Windows のタイムゾーン名は独自の形式(SA Western Standard Time)なので、インストーラーがインストールする tzlocal を通じて処理します。GWS_TIME_ZONE=America/Bogota を設定すると上書きできます。
プラグインマーケットプレイスからのインストール
Claude Code を開き、次を貼り付けます:
/plugin marketplace add adelaidasofia/google-workspace-mcp
/plugin install google-workspace-mcp@google-workspace-mcp
サーバーが OAuth 認証に使用する client_secret.json を用意するため、SETUP.md の初回 GCP セットアップを完了する必要があります(v1 では約 45 分、v2 の Drive/Docs/Sheets を追加する場合は約 5 分)。Claude Code から gws_account_add
を実行して、最初のメールボックスを認証します。
Windows では、その後に install.ps1 を実行してください。 プラグインの .mcp.json はサーバーを
python3 で起動しますが、プラグインマニフェストでは「Windows の場合は代わりにこちらを使う」と指定できません。Windows では python3 が存在しないか、Microsoft Store のプレースホルダーであるため、コネクターは登録されても起動しません。install.ps1 は絶対パスでインタープリターを指定して再登録するため、どのプラットフォームでも曖昧さがありません。
従来のインストール方法(手動での .mcp.json 設定)
初回の GCP セットアップ(約 45 分)と、Drive/Docs/Sheets を v2 で有効にするための追加セットアップ(約 5 分)については、SETUP.md を参照してください。
セットアップ後:
pip3 install --break-system-packages -r requirements.txt
Claude Code に登録する
プロジェクトの .mcp.json(グローバルにアクセスする場合は ~/.claude.json)に追加します:
"google-workspace": {
"type": "stdio",
"command": "python3",
"args": ["/path/to/google-workspace-mcp/server.py"]
}
Windows では、名前だけではなく実際のインタープリターのフルパスを指定してください —
Windows の python3 は通常 Microsoft Store のプレースホルダーで、パスの解決には成功しても Python を実行しません:
"google-workspace": {
"type": "stdio",
"command": "C:\\Users\\you\\google-workspace-mcp\\.venv\\Scripts\\python.exe",
"args": ["C:\\Users\\you\\google-workspace-mcp\\server.py"]
}
v1 から v2 へのアップグレード
v2 では Drive + Docs + Sheets のスコープが追加されます。認証済みの各アカウントで、Google から新しいスコープの許可を得るために OAuth を 1 回やり直す必要があります。 SETUP.md の手順 6b を参照してください。
ロードマップ
- v3:Gmail フィルター、自動応答、プッシュ通知(Gmail Watch)、Calendar の ACL / 委任、Slides、Forms、Tasks
- v4:サービスをまたぐバッチリクエスト、Drive のリビジョン
関連する MCP
同じ作者による、同じアーキテクチャパターン(FastMCP、該当する場合は書き込み時にドラフト+確認、Vault の自動エクスポート、MIT)を採用したプロジェクトです。
- slack-mcp — 複数ワークスペースの Slack
- imessage-mcp — macOS の iMessage
- whatsapp-mcp — whatsmeow 経由の WhatsApp
- apollo-mcp — Apollo.io の CRM + シーケンス
- substack-mcp — Substack の執筆 + 分析
- luma-mcp — lu.ma のイベント
- parse-mcp — markitdown / Docling / LlamaParse のルーター
- rescuetime-mcp — RescueTime の生産性データ
- graph-query-mcp — Vault のナレッジグラフクエリ
- graph-autotagger-mcp — グラフからのウィキリンク候補
- investor-relations-mcp — シード調達パイプラインのトラッカー
- vault-sync-mcp — Vault の双方向同期
テレメトリ
このプラグインは、特定のマシンで Claude Code セッション中に初めて読み込まれた際、匿名のインストール通知を myceliumai.co に1件送信します。
送信される情報:
- プラグイン名(例:
slack-mcp) - プラグインのバージョン(例:
0.1.0)
送信されない情報:
- ユーザー識別情報、氏名、メールアドレス、トークン、API キーは送信されません
- ファイルパス、メッセージ内容、その他業務に関する情報は送信されません
- 重複排除処理後、IP アドレスは保存されません
目的: メンテナーが実際にインストールされているプラグインを把握し、利用されているプラグインに注力できるようにします。
オプトアウト: Claude Code の起動前に環境変数 MYCELIUM_NO_PING=1 を設定してください。フックはネットワーク呼び出しを完全にスキップします。通知済みのインストールでは ~/.mycelium/onboarded-<plugin> にセンチネルファイルが残ります。状態をリセットする場合は、このファイルを削除してください。
ライセンス
MIT
Mycelium AI によって開発されました。完全版のインストールまたはチーム版については、diazroa.com をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。