hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Allows querying emails with advanced search, reading full email content and attachments, creating and managing drafts, replying to emails, archiving emails, handling attachments, and bulk operations support
Allows listing available calendars, viewing calendar events, creating new events, deleting events, supporting multiple calendars, and custom timezone support
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 認証情報
インストール
- リポジトリをクローンします。Copy
- 依存関係をインストールします:Copy
- TypeScript コードをビルドします。Copy
構成
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 スコープ:Copy
- Google OAuth 2.0 認証情報を使用して、プロジェクト ルートに
.gauth.json
ファイルを作成します。Copy - サーバーを使用できる Google アカウントを指定するには、
.accounts.json
ファイルを作成します。複数のアカウントを指定できます。Google Auth アプリでアカウントにアクセス権があることCopyextra_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
を編集します。
使用法
- サーバーを起動します。オプションの引数:Copy
--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
MCP プロトコルを使用して Gmail および Google カレンダーとのやり取りを可能にし、自然言語による複数の Google アカウント、メール管理、カレンダー操作をサポートします。
- Features
- Example Prompts
- Prerequisites
- Installation
- Configuration
- Usage
- Available Tools
- Development
- Contributing
- License