MCP Google Workspace サーバー
Google Workspace サービス用のモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、MCP プロトコルを介して Gmail や Google カレンダーと連携するためのツールを提供します。
特徴
複数のGoogleアカウントのサポート
複数の Google アカウントの使用と切り替え
各アカウントにはカスタムメタデータと説明を設定できます
Gmail統合
高度な検索でメールを検索する
メールの全文と添付ファイルを読む
下書きの作成と管理
メールに返信する
メールをアーカイブする
ハンドルアタッチメント
一括操作のサポート
カレンダー統合
利用可能なカレンダーを一覧表示する
カレンダーイベントを表示
新しいイベントを作成する
イベントを削除する
複数のカレンダーのサポート
カスタムタイムゾーンのサポート
プロンプトの例
AI アシスタントで次のサンプルプロンプトを試してください。
Gメール
「最新の未読メッセージを取得する」
「スクラムマスターからのメールを検索する」
「経理部からすべてのメールを取得する」
「ABCについてのメールを要約してください」
「アリスの最後のメールに素敵な返信を書いて、下書きをアップロードしてください」
「ボブのメールにお礼のメッセージを添えて返信します。下書きとして保存します。」
カレンダー
「明日の予定は何だろう?」
「来週の私のプライベートアカウントのファミリー予定を確認してください」
「来週、ティムと2時間のイベントを計画する必要があります。時間帯を提案してください。」
前提条件
Node.js >= 18
Gmail とカレンダー API が有効になっている Google Cloud プロジェクト
Google API の OAuth 2.0 認証情報
インストール
リポジトリをクローンします。
git clone https://github.com/j3k0/mcp-google-workspace.git cd mcp-google-workspace依存関係をインストールします:
npm installTypeScript コードをビルドします。
npm run build
構成
OAuth 2.0 のセットアップ
Google Workspace(G Suite)API には OAuth2 認証が必要です。認証を設定するには、以下の手順に従ってください。
OAuth2 資格情報を作成する:
Google Cloud Consoleにアクセスします
新しいプロジェクトを作成するか、既存のプロジェクトを選択してください
プロジェクトで Gmail API と Google カレンダー API を有効にする
「認証情報」→「認証情報の作成」→「OAuthクライアントID」に移動します
アプリケーションの種類として「デスクトップアプリ」または「Webアプリケーション」を選択します
必要な情報を入力してOAuth同意画面を設定する
承認されたリダイレクト URI を追加します (ローカル開発の場合は
http://localhost:4100/code
を含めます)
必要な OAuth2 スコープ:
[ "openid", "https://mail.google.com/", "https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/userinfo.email" ]Google OAuth 2.0 認証情報を使用して、プロジェクト ルートに
.gauth.json
ファイルを作成します。{ "installed": { "client_id": "your_client_id", "project_id": "your_project_id", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_secret": "your_client_secret", "redirect_uris": ["http://localhost:4100/code"] } }サーバーを使用できる Google アカウントを指定するには、
.accounts.json
ファイルを作成します。{ "accounts": [ { "email": "your.email@gmail.com", "account_type": "personal", "extra_info": "Primary account with Family Calendar" } ] }複数のアカウントを指定できます。Google Auth アプリでアカウントにアクセス権があること
extra_info
確認してください。extra_info フィールドは特に便利で、アカウントについて AI に伝えたい情報(特定のカレンダーがあるかどうかなど)を追加できます。
クロードデスクトップ構成
Claude Desktop を mcp-google-workspace サーバーを使用するように構成します。
MacOSの場合: ~/Library/Application\ Support/Claude/claude_desktop_config.json
を編集します。
Windowsの場合: %APPDATA%/Claude/claude_desktop_config.json
を編集します。
使用法
サーバーを起動します。
npm startオプションの引数:
--gauth-file
: OAuth2 資格情報ファイルへのパス (デフォルト: ./.gauth.json)--accounts-file
: アカウント設定ファイルへのパス (デフォルト: ./.accounts.json)--credentials-dir
: OAuth 認証情報を保存するディレクトリ (デフォルト: 現在のディレクトリ)
サーバーが起動し、stdin/stdout 経由で MCP コマンドをリッスンします。
各アカウントの初回実行時には次のようになります。
OAuth2認証用のブラウザウィンドウを開く
OAuth2コールバックをポート4100でリッスンする
将来使用するために、資格情報を
.oauth2.{email}.json
という名前のファイルに保存します。
利用可能なツール
アカウント管理
gmail_list_accounts
/calendar_list_accounts
設定されているすべてのGoogleアカウントを一覧表示する
アカウントのメタデータと説明を表示する
ユーザーIDは不要です
Gmailツール
gmail_query_emails
Gmail のクエリ構文を使用してメールを検索します (例: 'is:unread'、'from: example@gmail.com '、'newer_than:2d'、'has:attachment')
メールを逆時系列で返します
メタデータとコンテンツの概要が含まれています
gmail_get_email
IDでメールの全コンテンツを取得する
メッセージ本文と添付ファイルの全情報が含まれます
gmail_bulk_get_emails
1回のリクエストでID別に複数のメールを取得する
バッチ処理に効率的
gmail_create_draft
新しいメールの下書きを作成する
CC受信者のサポート
gmail_delete_draft
IDで下書きメールを削除する
gmail_reply
既存のメールに返信する
すぐに送信するか下書きとして保存するかを選択
CC経由の「全員に返信」のサポート
gmail_get_attachment
メールの添付ファイルをダウンロードする
ディスクに保存するか、埋め込みリソースとして返す
gmail_bulk_save_attachments
1回の操作で複数の添付ファイルを保存する
gmail_archive
/gmail_bulk_archive
受信トレイからメールを移動する
個別または一括操作のサポート
カレンダーツール
calendar_list
アクセス可能なすべてのカレンダーを一覧表示する
カレンダーのメタデータ、アクセスロール、タイムゾーン情報が含まれます
calendar_get_events
日付範囲内のイベントを取得する
複数のカレンダーのサポート
フィルター オプション (削除されたイベント、最大結果)
タイムゾーンのカスタマイズ
calendar_create_event
新しいカレンダーイベントを作成する
出席者と通知のサポート
場所と説明フィールド
タイムゾーンの処理
calendar_delete_event
IDでイベントを削除する
キャンセル通知のオプション
発達
ソースコードはTypeScriptで
src/
ディレクトリにありますビルド出力は
dist/
ディレクトリに保存されますモジュール性を高めるためにESモジュールを使用
Google API のベスト プラクティスに準拠
プロジェクト構造
開発コマンド
npm run build
: TypeScript コードをビルドするnpm start
: サーバーを起動するnpm run dev
: 自動リロード付きの開発モードで起動する
貢献
リポジトリをフォークする
機能ブランチを作成する
変更をコミットする
ブランチにプッシュする
プルリクエストを作成する
ライセンス
MITライセンス - 詳細はLICENSEファイルを参照
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
MCP プロトコルを使用して Gmail および Google カレンダーとのやり取りを可能にし、自然言語による複数の Google アカウント、メール管理、カレンダー操作をサポートします。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityProvides tools for interacting with Gmail and Calendar APIs. This server enables you to manage your emails and calendar events programmatically through the MCP interface.Last updated -26MIT License
- -securityAlicense-qualityIntegrates with Gmail to enable sending, reading, drafting, and managing emails via the Model Context Protocol (MCP), allowing users to interact with email tasks through automated client prompts.Last updated -2GPL 3.0
- -securityAlicense-qualityMCP server that integrates with Gmail to enable sending, reading, and managing emails through tools like send-email, trash-email, get-unread-emails, and read-email.Last updated -60GPL 3.0