MCP G Suite Integration

by alBERT-launcher
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Allows querying and searching emails, retrieving email content, creating draft emails, deleting drafts, replying to emails, and saving attachments from emails to local system. Supports multiple Google accounts.

  • Provides integration with Google products, specifically Gmail and Google Calendar, supporting multiple Google accounts and OAuth2 authentication.

  • Enables managing multiple calendars, retrieving events within specified time ranges, creating calendar events with customizable options (title, time, location, attendees, timezone, notifications), and deleting calendar events.

mcp-gsuite MCP サーバー

Google 製品と対話するための MCP サーバー。

プロンプトの例

現在、この MCP サーバーは次の機能で Gmail とカレンダーの統合をサポートしています。

  1. 一般的な
  • 複数のGoogleアカウント
  1. Gメール
  • Gmailユーザー情報を取得する
  • 柔軟な検索でメールを検索(例:未読、特定の送信者、日付範囲、添付ファイル付き)
  • IDでメールの全コンテンツを取得する
  • 受信者、件名、本文、CC オプションを指定して新しい下書きメールを作成する
  • 下書きメールを削除する
  • 既存のメールに返信する(すぐに送信することも、下書きとして保存することもできます)
  • ID で複数のメールを一度に取得します。
  • 電子メールの複数の添付ファイルをローカル システムに保存します。
  1. カレンダー
  • 複数のカレンダーを管理する
  • 指定した時間範囲内のカレンダーイベントを取得する
  • 次のカレンダー イベントを作成します:
    • タイトル、開始/終了時間
    • オプションの場所と説明
    • 任意の参加者
    • カスタムタイムゾーンのサポート
    • 通知設定
  • カレンダーイベントを削除する

試すことができるプロンプトの例:

  • 最新の未読メッセージを取得する
  • スクラムマスターからのメールを検索する
  • 経理部からすべてのメールを取得する
  • ABCに関するメールを要約します
  • アリスの最後のメールに対する素敵な返信を書いて、下書きをアップロードしてください。
  • ボブのメールに「ありがとう」の返信を添えて、下書きとして保存しましょう。
  • 明日の予定は何ですか?
  • 来週の私のプライベートアカウントのファミリーアジェンダを確認してください
  • 来週、ティムと2時間のイベントを計画したいのですが、時間帯を提案していただけますか?

クイックスタート

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop の G Suite 統合を自動的にインストールするには:

npx -y @smithery/cli install @alBERT-launcher/mcp-gsuite --client claude

OAuth 2

Google Workspace(G Suite)API には OAuth2 認証が必要です。認証を設定するには、以下の手順に従ってください。

  1. OAuth2 資格情報を作成する:
    • Google Cloud Consoleにアクセスします
    • 新しいプロジェクトを作成するか、既存のプロジェクトを選択してください
    • プロジェクトで Gmail API と Google カレンダー API を有効にする
    • 「認証情報」→「認証情報の作成」→「OAuthクライアントID」に移動します
    • アプリケーションの種類として「デスクトップアプリ」または「Webアプリケーション」を選択します
    • 必要な情報を入力してOAuth同意画面を設定する
    • 承認されたリダイレクト URI を追加します (ローカル開発の場合はhttp://localhost:4100/codeを含めます)
  2. 必要なOAuth2スコープ:
[ "openid", "https://mail.google.com/", "https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/userinfo.email" ]
  1. 次に、作業ディレクトリにクライアントの.gauth.jsonを作成します。
{ "web": { "client_id": "$your_client_id", "client_secret": "$your_client_secret", "redirect_uris": ["http://localhost:4100/code"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token" } }
  1. アカウント情報を含む.accounts.jsonファイルを作成する
{ "accounts": [ { "email": "alice@bob.com", "account_type": "personal", "extra_info": "Additional info that you want to tell Claude: E.g. 'Contains Family Calendar'" } ] }

複数のアカウントを指定できます。Google Authアプリでアクセス権が付与されていることを確認してください。特にextra_infoフィールドは、アカウントについてAIに伝えたい情報(例えば、特定の目的があるかどうかなど)を追加できるため、特に重要です。

注: 特定のアカウントでツールのいずれかを初めて実行すると、ブラウザが開き、Googleにリダイレクトされ、認証情報やスコープなどの入力を求められます。ログインに成功すると、認証情報は.oauth.{email}.jsonというローカルファイルに保存されます。認証が完了すると、リフレッシュトークンが使用されます。

クロードデスクトップ

MacOSの場合: ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows の場合: %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "mcp-gsuite": { "command": "uv", "args": [ "--directory", "<dir_to>/mcp-gsuite", "run", "mcp-gsuite" ] } } }
{ "mcpServers": { "mcp-gsuite": { "command": "uvx", "args": [ "mcp-gsuite" ] } } }

設定オプション

MCP サーバーは、認証とアカウント情報のカスタム パスを指定するために、いくつかのコマンド ライン オプションを使用して構成できます。

  • --gauth-file : OAuth2クライアント設定を含む.gauth.jsonファイルへのパスを指定します。デフォルトは./.gauth.jsonです。
  • --accounts-file : Googleアカウントに関する情報を含む.accounts.jsonファイルへのパスを指定します。デフォルトは./.accounts.jsonです。
  • --credentials-dir : 認証成功後にOAuth認証情報を保存するディレクトリを指定します。デフォルトは現在の作業ディレクトリで、各アカウントごとに.oauth.{email}.jsonサブディレクトリが作成されます。

これらのオプションにより、さまざまな環境や複数の資格情報とアカウントのセットを柔軟に管理できるため、開発やテストのシナリオで特に役立ちます。

使用例:

uv run mcp-gsuite --gauth-file /path/to/custom/.gauth.json --accounts-file /path/to/custom/.accounts.json --credentials-dir /path/to/custom/credentials

この構成は、異なる構成で実行されているサーバーのインスタンスが複数ある場合や、デフォルトのパスが適切でない環境に展開する場合に特に便利です。

発達

建築と出版

配布用のパッケージを準備するには:

  1. 依存関係を同期し、ロックファイルを更新します。
uv sync
  1. パッケージディストリビューションをビルドします。
uv build

これにより、 dist/ディレクトリにソースとホイールのディストリビューションが作成されます。

  1. PyPI に公開:
uv publish

注: 環境変数またはコマンド フラグを使用して PyPI 資格情報を設定する必要があります。

  • トークン: --tokenまたはUV_PUBLISH_TOKEN
  • またはユーザー名/パスワード: --username / UV_PUBLISH_USERNAMEおよび--password / UV_PUBLISH_PASSWORD

デバッグ

MCPサーバーはstdio経由で実行されるため、デバッグが困難になる場合があります。最適なデバッグ環境を実現するには、 MCP Inspectorの使用を強くお勧めします。

次のコマンドを使用して、 npm経由で MCP Inspector を起動できます。

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-gsuite run mcp-gsuite

起動すると、ブラウザでアクセスしてデバッグを開始できる URL がインスペクタに表示されます。

次のコマンドでサーバー ログを監視することもできます。

tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-gsuite.log
-
security - not tested
A
license - permissive license
-
quality - not tested

Gmail やカレンダーなどの Google サービスとのやり取りを可能にする統合サーバー。これにより、ユーザーは複数の Google アカウントにわたってメールを管理したり、返信を下書きしたり、イベントをスケジュールしたりできるようになります。

  1. Example prompts
    1. Quickstart
      1. Install
      2. Installing via Smithery
      3. Configuration Options
    2. Development
      1. Building and Publishing
      2. Debugging
    ID: 0xrjsj52ph