Gmail MCP
Gmail API のモデル コンテキスト プロトコル (MCP)実装。メールの管理、送信、取得のための標準化されたインターフェースを提供します。
特徴
メッセージ、スレッド、ラベル、下書き、設定を含む Gmail API を完全にカバーします
メールの送信、下書き、管理のサポート
カスタマイズ可能な色と表示設定によるラベル管理
会話管理のためのスレッド操作
不在通知、IMAP/POP、言語設定などの設定管理
メールボックスの変更履歴の追跡
Google Cloud 認証情報を使用した安全な OAuth2 認証
Related MCP server: Gmail MCP Server
前提条件
この MCP サーバーを実行するには、まず組織用に Google API クライアントを設定し、各ユーザーが独自の OAuth リフレッシュ トークンを取得するスクリプトを実行する必要があります。
Google API クライアントのセットアップ(組織ごとに 1 回)
Google Cloud Consoleに移動します。
新しいプロジェクトを作成するか、既存のプロジェクトを選択します。
プロジェクトで Gmail API を有効にします。
「認証情報」に移動し、OAuth 2.0クライアントIDを作成します。クライアントの種類として「デスクトップアプリ」を選択します。
OAuth キー JSON をダウンロードし、
~/.gmail-mcp/gcp-oauth.keys.jsonとして保存します。(オプション) リモート サーバーのインストール (例: Smithery CLI の使用) の場合は、このファイルの
CLIENT_IDとCLIENT_SECRETメモします。
クライアント OAuth (ユーザーごとに 1 回)
ユーザーに
~/.gmail-mcp/gcp-oauth.keys.jsonを自分のコンピュータの同じパスにコピーしてもらいます。npx @shinzolabs/gmail-mcp authを実行します。ブラウザ ウィンドウが開き、ユーザーはプロファイルを選択し、要求されたスコープを確認して承認できます。
(オプション)リモートサーバーへのインストールの場合、成功メッセージに記載されているファイルパス(デフォルトでは
~/.gmail-mcp/credentials.json)をメモしてください。ユーザーのREFRESH_TOKENここにあります。
クライアント構成
MCPクライアントとサーバーの設定にはいくつかのオプションがあります。ホスト型/リモートサーバーの場合は、SmitheryのCLIとSmithery APIキーを使用してください。ローカルインストールの場合は、 npxを使用するか、ソースからビルドしてください。それぞれのオプションについては以下で説明します。
Smithery リモートサーバー (推奨)
MCP クライアントのconfig.jsonにリモート サーバーを追加するには、 Smithery CLIから次のコマンドを実行します。
プロンプトが表示されたら、 CLIENT_ID 、 CLIENT_SECRET 、およびREFRESH_TOKEN入力します。
鍛冶屋SDK
独自のエージェント アプリケーションを開発している場合は、ここにある定型コードを使用できます。
NPX ローカルインストール
npxを使用してサーバーをローカルにインストールするには、MCP クライアントのconfig.jsonに以下を追加します。
ソースからビルド
リポジトリをダウンロードしてください:
パッケージをインストールし、
pnpmでビルドします (クローンされたリポジトリ内):
MCP クライアントの
config.jsonに次のコードを追加します。
設定変数
変数 | 説明 | 必須? | デフォルト |
| 一時 OAuth 認証サーバーのポート | いいえ |
|
| Google API クライアント ID (
にあります) | リモートサーバー接続の場合ははい |
|
| Google API クライアント シークレット (
にあります) | リモートサーバー接続の場合ははい |
|
| ユーザー資格情報ファイルへのパス | いいえ |
|
| Google API クライアント ファイルへのパス | いいえ |
|
| 設定ファイルを保存するディレクトリ | いいえ |
|
| OAuth リフレッシュ トークン (
にあります) | リモートサーバー接続の場合ははい |
|
| ストリーミング可能な HTTP トランスポート方式のポート | いいえ |
|
サポートされているエンドポイント
ユーザー管理
get_profile: 現在のユーザーのGmailプロフィールを取得するstop_mail_watch: プッシュ通知の受信を停止するwatch_mailbox: メールボックスの変更に関するプッシュ通知を設定する
メッセージ管理
メッセージの管理
list_messages: オプションのフィルタリング付きでメッセージを一覧表示するget_message: 特定のメッセージを取得するget_attachment: メッセージの添付ファイルを取得するmodify_message: メッセージラベルを変更するsend_message: 指定された受信者に電子メールメッセージを送信するdelete_message: メッセージを完全に削除するtrash_message: メッセージをゴミ箱に移動するuntrash_message: ゴミ箱からメッセージを削除するbatch_modify_messages: 複数のメッセージを変更するbatch_delete_messages: 複数のメッセージを削除する
ラベル管理
list_labels: すべてのラベルを一覧表示するget_label: 特定のラベルを取得するcreate_label: 新しいラベルを作成するupdate_label: ラベルを更新するpatch_label: ラベルの部分更新delete_label: ラベルを削除する
スレッド管理
list_threads: メールスレッドを一覧表示するget_thread: 特定のスレッドを取得するmodify_thread: スレッドラベルを変更するtrash_thread: スレッドをゴミ箱に移動するuntrash_thread: スレッドをゴミ箱から削除するdelete_thread: スレッドを削除する
ドラフト管理
list_drafts: ユーザーのメールボックス内の下書きを一覧表示するget_draft: IDで特定のドラフトを取得するcreate_draft: Gmailでメールの下書きを作成するupdate_draft: 下書きの内容を置き換えるdelete_draft: 下書きを削除するsend_draft: 既存の下書きを送信する
設定管理
自動転送
get_auto_forwarding: 自動転送設定を取得するupdate_auto_forwarding: 自動転送設定を更新する
IMAP設定
get_imap: IMAP設定を取得するupdate_imap: IMAP設定を更新する
POP設定
get_pop: POP設定を取得するupdate_pop: POP設定を更新する
休暇対応者
get_vacation: 休暇通知設定を取得するupdate_vacation: 休暇応答の更新
言語設定
get_language: 言語設定を取得するupdate_language: 言語設定を更新する
代表者
list_delegates: アカウント委任者を一覧表示するget_delegate: 特定のデリゲートを取得するadd_delegate: 代理人を追加するremove_delegate: 委任を削除する
フィルター
list_filters: メールフィルターの一覧get_filter: 特定のフィルターを取得するcreate_filter: 新しいフィルターを作成するdelete_filter: フィルターを削除する
転送先アドレス
list_forwarding_addresses: 転送先アドレスの一覧get_forwarding_address: 特定の転送先アドレスを取得するcreate_forwarding_address: 転送先アドレスを作成するdelete_forwarding_address: 転送先アドレスを削除する
送信者設定
list_send_as: 送信者エイリアスの一覧get_send_as: 特定の送信者エイリアスを取得するcreate_send_as: 送信者エイリアスを作成するupdate_send_as: 送信者エイリアスを更新するpatch_send_as: 送信者エイリアスの部分的な更新verify_send_as: 確認メールを送信するdelete_send_as: 送信者エイリアスを削除する
S/MIME設定
list_smime_info: S/MIME設定を一覧表示するget_smime_info: 特定のS/MIME設定を取得するinsert_smime_info: 新しいS/MIME設定をアップロードするset_default_smime_info: デフォルトの S/MIME 設定を設定するdelete_smime_info: S/MIME設定を削除する
貢献
貢献は大歓迎です!問題、貢献、連絡先に関するガイドラインについては、 CONTRIBUTING.md をご覧ください。