google-workspace-mcp について
google-workspace-mcpは、Google Workspace管理者向けのMCPサーバーです。委任サービスアカウントを使い、Google API経由でディレクトリ、Gmail、Calendar、Drive、Sheets、Tasksを操作できます。
主な機能
- 01ディレクトリのユーザーとグループの管理
- 02最近のGmailメッセージの取得
- 03カレンダー予定の一覧表示と作成
- 04Driveファイルの検索、アップロード、共有
- 05Google Sheetsの読み書き
- 06Google Tasksの管理
活用シーン
- 01Workspaceユーザーアカウントの作成や更新
- 02メールや近日のカレンダー予定の確認
- 03Driveファイルの検索、アップロード、共有
- 04スプレッドシートやタスクのデータ更新
MCP 対応
Google Workspaceの操作をMCPツールとして公開します。既定のstdioに加え、Streamable HTTPトランスポートも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Google Workspace MCP
Admin SDK、Gmail、Calendar、Drive API を通じて Google Workspace リソースを管理するためのツールを提供する、Google Workspace 用 Model Context Protocol(MCP)サーバーです。
前提条件
- Admin SDK API が有効になっている Google Cloud Platform プロジェクト
- 適切な権限を持つサービスアカウント
- 偽装する Google Workspace 管理者ユーザー
セットアップ
サービスアカウントの設定
- Google Cloud Console でサービスアカウントを作成します
- Google Workspace Admin SDK に対する適切な権限をサービスアカウントに付与します
- サービスアカウントの JSON キーファイルを作成し、ダウンロードします
- サービスアカウントのドメイン全体の委任を有効にします
- Google Workspace Admin Console で、必要な OAuth スコープをサービスアカウントに付与します
環境変数
アプリケーションを実行するには、次の環境変数を設定する必要があります。
| 変数 | 説明 |
|---|---|
GOOGLE_SERVICE_ACCOUNT | サービスアカウントの JSON キーファイルへのパス |
GOOGLE_ADMIN_EMAIL | 偽装する Google Workspace 管理者ユーザーのメールアドレス |
トランスポート(任意)
デフォルトでは、サーバーは stdio 経由で実行されます。代わりに Streamable HTTP トランスポートを使用するには、MCP_TRANSPORT=http を設定してください。
| 変数 | 説明 |
|---|---|
MCP_TRANSPORT | 使用するトランスポート:stdio(デフォルト)または http |
MCP_HTTP_ADDR | HTTP トランスポートのリッスンアドレス(デフォルトは :8080) |
MCP_AUTH_TOKEN | 設定すると、HTTP リクエストに Authorization: Bearer <token> を含める必要があります |
MCP_TRANSPORT=http MCP_HTTP_ADDR=:8080 MCP_AUTH_TOKEN=your-secret-token google-workspace-mcp
クライアントは http://<host>:8080/ に接続し、次のようにベアラートークンを送信します。
Authorization: Bearer your-secret-token
使用方法
ビルド
make build
設定
{
"mcpServers": {
"googleworkspace-mcp": {
"command": "/go/bin/google-workspace-mcp",
"args": [],
"env": {
"GOOGLE_SERVICE_ACCOUNT": "test.json",
"GOOGLE_ADMIN_EMAIL": "[email protected]"
},
"disabled": false,
"autoApprove": []
}
}
}
注: サービスアカウントで、Google Cloud Console の必要な API(Admin SDK API、Gmail API、Calendar API、Drive API、Sheets API、Tasks API)へのアクセスが有効になっていることを確認してください。
利用可能なツール
ディレクトリツール
directory_users- Google Workspace ディレクトリ内のすべてのユーザーを一覧表示しますcreate_user- Google Workspace に新しいユーザーを作成しますget_user- 特定のユーザーの詳細情報を取得しますupdate_user- 既存のユーザーの名前、パスワード、または組織部門を更新しますdelete_user- Google Workspace からユーザーを削除しますsuspend_user- ユーザーアカウントを一時停止または復元します
グループツール
list_groups- ドメイン内のグループを一覧表示しますget_group- 特定のグループの詳細情報を取得しますcreate_group- Google Workspace に新しいグループを作成しますdelete_group- Google Workspace からグループを削除しますlist_group_members- グループのメンバーを一覧表示しますadd_group_member- グループにメンバーを追加しますremove_group_member- グループからメンバーを削除します
Gmail ツール
list_gmail- 最近の Gmail メッセージを一覧表示します(Gmail API へのアクセスが必要です)
Calendar ツール
list_calendar_events- ユーザーの今後のカレンダー予定を一覧表示します(Calendar API へのアクセスが必要です)create_calendar_event- 新しいカレンダー予定を作成します(Calendar API へのアクセスが必要です)
Drive ツール
list_drive_files- Google Drive 内のファイルを一覧表示します(Drive API へのアクセスが必要です)search_drive_files- Google Drive 内のファイルを検索します(Drive API へのアクセスが必要です)get_drive_file- 特定の Drive ファイルの詳細情報を取得します(Drive API へのアクセスが必要です)create_drive_folder- Google Drive に新しいフォルダーを作成します(Drive API へのアクセスが必要です)upload_drive_file- ファイルを Google Drive にアップロードします(Drive API へのアクセスが必要です)share_drive_file- Drive ファイルを別のユーザーと共有します(Drive API へのアクセスが必要です)
Sheets ツール
list_spreadsheets- Drive 内の Google Sheets スプレッドシートを一覧表示します(Sheets API へのアクセスが必要です)get_spreadsheet- シートを含む、スプレッドシートの詳細情報を取得します(Sheets API へのアクセスが必要です)read_sheet_range- スプレッドシート内の指定範囲からデータを読み取ります(Sheets API へのアクセスが必要です)write_sheet_range- スプレッドシート内の指定範囲にデータを書き込みます(Sheets API へのアクセスが必要です)append_sheet_rows- スプレッドシートにデータ行を追加します(Sheets API へのアクセスが必要です)create_spreadsheet- 新しい Google Sheets スプレッドシートを作成します(Sheets API へのアクセスが必要です)
Tasks ツール
list_task_lists- ユーザーの Google Tasks のタスクリストをすべて一覧表示します(Tasks API へのアクセスが必要です)list_tasks- 指定したタスクリスト内のタスクをすべて一覧表示します(Tasks API へのアクセスが必要です)create_task- タスクリストに新しいタスクを作成します(Tasks API へのアクセスが必要です)update_task- 既存のタスクを更新します(Tasks API へのアクセスが必要です)delete_task- タスクリストからタスクを削除します(Tasks API へのアクセスが必要です)complete_task- タスクを完了としてマークします(Tasks API へのアクセスが必要です)
必要な OAuth スコープ
サービスアカウントのドメイン全体の委任を設定する際は、次の OAuth スコープを付与してください。
https://www.googleapis.com/auth/admin.directory.user- ディレクトリのユーザー情報へのアクセスと管理に使用しますhttps://www.googleapis.com/auth/admin.directory.group- グループの管理に使用しますhttps://www.googleapis.com/auth/admin.directory.group.member- グループメンバーの管理に使用しますhttps://www.googleapis.com/auth/gmail.readonly- Gmail メッセージの読み取りに使用しますhttps://www.googleapis.com/auth/calendar- カレンダーイベントの読み書きに使用しますhttps://www.googleapis.com/auth/drive- Google Drive へのフルアクセス(ファイルの読み取り、書き込み、管理)に使用しますhttps://www.googleapis.com/auth/spreadsheets- Google Sheets スプレッドシートの読み書きに使用しますhttps://www.googleapis.com/auth/tasks- Google Tasks の読み書きに使用します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。