mcpField
G
Gmail MCP

Gmail MCP

ローカル
github.comコミュニケーション04 週間前に更新

Gmail MCP について

Gmail MCPはGmail APIをAIアプリに接続し、メール対応や受信トレイの整理に使えるサーバーです。送信前の下書き確認を重視し、メールの削除は復元可能なゴミ箱への移動に限ります。

主な機能

  1. 01メールとスレッドの検索・閲覧
  2. 02下書きの作成・確認・送信
  3. 03ラベルとメール状態の管理
  4. 04メールのゴミ箱への移動と復元
  5. 05本文の長さ制限と添付ファイル情報の返却

活用シーン

  1. 01未読メールから返信が必要なものを特定
  2. 02スレッド内の返信を作成して確認
  3. 03ラベルや既読状態を整理
  4. 04メールをゴミ箱に移し必要に応じて復元

MCP 対応

MCP サーバーとして、メール、下書き、ラベル、ゴミ箱の操作ツールをMCPクライアントに公開します。Google OAuthで認可されたメールボックスにアクセスします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"a1-x-tech-mcp-google-gmail": {
"command": "npx",
"args": [
"-y",
"mcp-google-gmail"
],
"env": {
"GOOGLE_GMAIL_CLIENT_ID": "<GOOGLE_GMAIL_CLIENT_ID>",
"GOOGLE_GMAIL_CLIENT_SECRET": "<GOOGLE_GMAIL_CLIENT_SECRET>",
"GOOGLE_GMAIL_REFRESH_TOKEN": "<GOOGLE_GMAIL_REFRESH_TOKEN>",
"GOOGLE_GMAIL_ACCESS_TOKEN": "<GOOGLE_GMAIL_ACCESS_TOKEN>",
"GOOGLE_GMAIL_OAUTH_PORT": "<GOOGLE_GMAIL_OAUTH_PORT>",
"GOOGLE_GMAIL_API_BASE": "<GOOGLE_GMAIL_API_BASE>",
"GOOGLE_GMAIL_TIMEOUT_MS": "<GOOGLE_GMAIL_TIMEOUT_MS>",
"GOOGLE_GMAIL_MAX_RETRIES": "<GOOGLE_GMAIL_MAX_RETRIES>"
}
}
}
}
起動コマンドnpx -y mcp-google-gmail
設定が必要な環境変数
GOOGLE_GMAIL_CLIENT_IDGoogle OAuth2 client id (refresh-token flow).
GOOGLE_GMAIL_CLIENT_SECRETシークレットGoogle OAuth2 client secret (refresh-token flow). Treat it as a secret.
GOOGLE_GMAIL_REFRESH_TOKENシークレットGoogle OAuth2 refresh token, exchanged for access tokens automatically. Treat it as a secret.
GOOGLE_GMAIL_ACCESS_TOKENシークレットStatic OAuth2 access token (~1h lifetime) — alternative to the refresh-token trio, mostly for testing.
GOOGLE_GMAIL_OAUTH_PORTシークレットFixed port for the loopback listener of the in-chat login (127.0.0.1 + PKCE). Set it when the client runs over SSH port forwarding; otherwise a free port is picked per login.
GOOGLE_GMAIL_API_BASEAPI root override.
GOOGLE_GMAIL_TIMEOUT_MSPer-request timeout in milliseconds.
GOOGLE_GMAIL_MAX_RETRIESRetries on transient errors (429 always; 5xx/network for reads).

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-google-gmail1.0.0

ツール

24

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

A1 Gmail MCP

日本語 | Русский

npm Glama CI License: MIT

A1 Gmail MCPを使うと、AI アプリから自然な言葉で Gmail のメールボックスを操作できます。メールを検索・閲覧したり、返信を下書きとして準備したり、準備ができたら送信したり、ラベルを整理したり、完全に削除する代わりにゴミ箱を利用したりできます。

Google アカウントで Gmail API を使用します。編集可能な下書きと取り消せない送信済みメールを区別し、すべてのメール操作が元に戻せるかのように誤解させるのではなく、Gmail API の制限を明示します。

  • 24 個のツール。 メッセージやスレッドの検索・閲覧、メールの直接送信または下書き経由での送信、下書きのライフサイクル、ラベル、ゴミ箱の管理に対応しています。
  • 会話から接続できます。 「Gmail に接続」と言うと、サーバーが OAuth クライアントの設定を案内し、PKCE を使って 127.0.0.1 への Google のリダイレクトを受け取り、トークンをサーバー内で保持します。設定ファイルも再起動も不要です。
  • 慎重に送信します。 下書き → 確認 → 送信の手順を重視しています。送信は破壊的操作として表示され、曖昧な失敗の後にサーバーが再送信することはありません。メールは送信後に取り消せません。
  • ゴミ箱が安全網になります。 メールの削除は元に戻せるゴミ箱を経由します(約 30 日間)。意図的に、メッセージを完全に削除するツールはありません。
  • 読み取りに上限があります。 デコードされた本文は明示された上限で切り詰められ、添付ファイルはメタデータとして返されるため、長いニュースレターが気付かないうちに会話を埋め尽くすことはありません。
  • Google のスコープを最小限にしています。 gmail.modify のみを使用し、完全削除や Gmail 設定へのアクセスは行いません。

まずは読み取り専用の質問から始めましょう。

先週届いた未読メールを表示して、返信が必要なものを教えてください。

サーバーを接続する · 使用例を見る · 技術ドキュメントを開く


1 分で使い方を見る

あなた: 今週、Acme 契約について受信トレイに届いた未読メールは何ですか?

アシスタント: Gmail の検索クエリ構文を使って検索し、送信者、件名、日付、スニペットを表示します。何も変更されません。

あなた: 一番新しいメールへの返信を下書きしてください。署名済みのコピーを金曜日に送る、と伝えてください。

アシスタント: 同じスレッドに下書きを作成し、確認用に表示します。送信はされません。

あなた: 送信してください。

アシスタント: 下書きを送信します。送信は独立した明示的な破壊的操作なので、AI アプリは事前に確認を求めることができます。

目次

クイックスタート

Node.js 20+ と Google アカウントが必要です。インストール時に認証情報は不要です。サーバーは会話から接続します。

  1. AI アプリにサーバーを追加します。
  2. 「Gmail に接続して」と伝えます。設定ファイルを編集せずに、アシスタントがOAuth クライアントの作成とアクセスの承認を案内します。
  3. 上記の読み取り専用の質問をします。
Codex

アプリでの設定: Settings → MCP servers を開き、Add server を選択して、STDIO を選びます。コマンド npx -y mcp-google-gmail@latest と環境変数 GOOGLE_GMAIL_CLIENT_ID、GOOGLE_GMAIL_CLIENT_SECRET、GOOGLE_GMAIL_REFRESH_TOKEN を入力し、Save、続いて Restart を選択します。

コマンドラインからの設定:

codex mcp add google-gmail \
  -- npx -y mcp-google-gmail@latest
codex mcp list

Codex MCP のドキュメント

Claude Code
claude mcp add \
  --transport stdio --scope user google-gmail \
  -- npx -y mcp-google-gmail@latest
claude mcp list

Claude Code MCP のドキュメント

Claude Desktop

現在の公式な手順は Settings → Extensions です。カスタムデスクトップ拡張機能を追加するには、Advanced settings → Extension Developer → Install Extension… を開き、.mcpb ファイルを選択して、画面の指示に従います。

このリポジトリで現在公開しているのは npm の stdio パッケージであり、.mcpb バンドルは含まれていません。ローカル設定に引き続き対応している Claude Desktop ビルドでは、代わりに次の JSON の stdio 設定を使用します。

{
  "mcpServers": {
    "google-gmail": {
      "command": "npx",
      "args": ["-y", "mcp-google-gmail@latest"]
    }
  }
}

これらのビルドでは、macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json に、Windows の場合は %APPDATA%\Claude\claude_desktop_config.json に保存します。

Claude Desktop MCP のドキュメント

Cursor

macOS/Linux では ~/.cursor/mcp.json に、Windows では %USERPROFILE%\.cursor\mcp.json に次の内容を追加します。

{
  "mcpServers": {
    "google-gmail": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-gmail@latest"]
    }
  }
}

Cursor MCP のドキュメント

VS Code

MCP: Open User Configuration を実行し、次の内容を追加します。

{
  "servers": {
    "google-gmail": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-gmail@latest"]
    }
  }
}

MCP: List Servers で確認します。

VS Code MCP のドキュメント

できること

受信トレイを整理する
  • 過去 7 日間の未読メッセージを表示し、送信者ごとにグループ化します。
  • Acme との契約に関するスレッドを見つけ、古い順に要約します。
  • 添付ファイルが届いているメッセージはどれですか?件名とファイル名を表示します。
メールを作成して送信する
  • このスレッドへの返信として、署名済みの書類を金曜日に送ると伝える下書きを作成します。
  • 下書きを見せて、表現を簡潔にしてから送信します。
  • マネージャーを CC に入れて、チームに短い状況報告メールを送信します。
メールボックスを整理する
  • ラベル Receipts/2026 を作成し、該当するメッセージに適用します。
  • 今週のニュースレターを既読にしてアーカイブします。
  • そのスレッドをゴミ箱に移動します。気が変わったら元に戻します。

メールに対する変更

  1. 安全に送信するには、下書きを使います。create_draft でメールを準備し、get_draft でレビュー用に表示してから、send_draft で送信します。send_message は下書きを経由せず、すぐに送信します。
  2. 送信済みのメールは、外部に配信されると取り消せません。タイムアウトや 5xx エラーが発生してもサーバーは再送しません。再試行する前に in:sent を検索してください。送信を再実行すると、メールが二重に送信されるためです。
  3. メッセージまたはスレッドを削除すると、ゴミ箱に移動します。manage_trash で約30日間は元に戻せます。完全に削除するツールは意図的に用意していません。
  4. 下書きは例外です。update_draft は下書き全体を置き換えます(API では部分編集ができません)。delete_draft は完全に削除します。下書きはゴミ箱を経由しないためです。

すべての呼び出しは1つのメールボックス、つまりトークンを許可したアカウントを対象とします。デコードした本文は設定可能な上限で切り詰められ、その旨が明示されます。また、添付ファイルはメタデータのみ返されます。添付ファイルの内容は、意図的に raw_request を通じて取得します。

変更できる内容

操作内容確認の境界
メッセージ、スレッド、下書き、ラベル、プロフィールを検索・閲覧するメールボックスのデータを読み取ります変更なし
下書きを作成または更新する未送信メールを準備または置き換えますメールボックスを変更します
既読状態、スター付き状態、アーカイブ状態を変更する、ラベルを適用または削除するメールの整理方法を変更しますメールボックスを変更します
ラベルを作成または名前変更するラベルの種類を変更しますメールボックスを変更します
メッセージまたはスレッドをゴミ箱に移動、またはゴミ箱から戻すメールをゴミ箱に移動または戻します。約30日間は元に戻せます破壊的
メールまたは下書きを送信する実際の宛先にメールを配信します。送信を取り消すことはできません破壊的
下書きまたはラベルを削除するゴミ箱を経由せず、完全に削除します破壊的
API リクエストを直接実行する専用ツールを介さずに API メソッドを呼び出せます破壊的な可能性があります

確認プロンプトは AI クライアントが制御します。サーバーは、クライアントが閲覧と実際の変更を区別できるよう、読み取り、書き込み、破壊的なツールを識別します。

アクセスの取得

Google Gmail では OAuth 2.0 が必要です。API キーだけでは利用できません。接続方法は2つあります。1つ目は設定ファイルが不要です。

チャットから接続する(推奨)

「Gmail に接続して」と伝えると、アシスタントが一緒に手順を進めます。

  1. setup_instructions でチェックリストを表示します。Google Cloud プロジェクトを作成または選択し、Gmail API を有効にして、同意画面を設定し、Desktop app の OAuth クライアントを作成します。
  2. そのクライアントの JSON(「Download JSON」)をダウンロードし、そのパスをアシスタントに伝えます。set_client が所有者のみアクセス可能な状態で保存します。シークレットが会話を通じて送信されることはありません。
  3. start_login が Google の同意リンクを返します。このマシン上でリンクを開いて承認してください。コードはチャットを経由せず、127.0.0.1 のワンショットリスナー(PKCE)に返されます。
  4. finish_login がコードを交換し、トークンを ~/.config/mcp-google-gmail/credentials.json(mode 0600)に保存して、実際の Gmail API 呼び出しで検証します。そのため、まだ無効になっている API があれば、その場で検出されます。

トークンは呼び出しごとに再読み込みされるため、接続はすぐに使えます。AI アプリの再起動は不要です。auth_status で接続状況を確認でき、logout で接続を取り消して認証情報を削除できます。

環境変数(CI、無人インストール)
  1. Google Cloud プロジェクトを作成または選択し、Gmail APIを有効にします。

  2. OAuth 同意画面を設定し、Desktop app の OAuth クライアントを作成します。

  3. 接続するメールボックスを持つ Google アカウントを認証します。すべての呼び出しは、そのメールボックスに対して動作します。OAuth 2.0 Playgroundでは、Use your own OAuth credentials を有効にすると、リフレッシュトークンを取得できます。

  4. 次のスコープをリクエストします。

    https://www.googleapis.com/auth/gmail.modify
    

    このスコープで、検索、読み取り、送信、下書き、ラベル、ゴミ箱を操作できます。ただし、完全削除と Gmail の設定は対象外です。raw_requestによる完全削除には、さらに完全な https://mail.google.com/ スコープが必要です。

テストモードの OAuth リフレッシュトークンは、7 日後に期限切れになる場合があります。長期間アクセスする必要がある場合は、OAuth アプリを公開するか、Workspace ドメインの内部アプリを使用してください。クライアントシークレットとリフレッシュトークンは、パスワードとして取り扱ってください。

設定

すべての変数は任意です。何も設定しない場合、サーバーはチャットから接続します。

変数必須説明
GOOGLE_GMAIL_CLIENT_IDいいえ*OAuth クライアント ID。
GOOGLE_GMAIL_CLIENT_SECRETいいえ*OAuth クライアントシークレット。
GOOGLE_GMAIL_REFRESH_TOKENいいえ*OAuth リフレッシュトークン。
GOOGLE_GMAIL_ACCESS_TOKENいいえ*OAuth の 3 つの値に代わる短期間有効なトークン(約 1 時間)。
GOOGLE_GMAIL_OAUTH_PORTいいえチャット内ログイン用の固定ループバックポート。SSH ポートフォワーディング経由で便利です。
GOOGLE_GMAIL_API_BASEいいえGmail API のベース URL の上書き。
GOOGLE_GMAIL_TIMEOUT_MSいいえリクエストごとのタイムアウト。デフォルトは 60000 ms です。
GOOGLE_GMAIL_MAX_RETRIESいいえ一時的なエラーの再試行回数。デフォルトは 3 です。

* OAuth の 3 つの値、またはアクセストークンのいずれかを指定してください。

データ、制限、バックグラウンド処理

  • リクエストは Gmail に送信されます。 ローカルサーバーは Google OAuth トークンを更新し、Gmail API を呼び出します。匿名テレメトリに含まれるのは、インストール ID、パッケージのバージョン、AI クライアントとプラットフォームのバージョン、ツール名です。OAuth トークン、メールの内容、ツールの引数、プロンプトは含まれません。オプトアウトするには、ASKADS_TELEMETRY=0を設定してください。
  • Google はクォータユニットを計上します。 Gmail のクォータはユーザーごとに毎秒約 250 ユニットです。メール送信には 100 ユニット、一般的な読み取りには 5 ユニットかかります。個人アカウントでは 1 日に約 500 通、Workspace アカウントでは約 2,000 通のメールを送信できます。429の場合、サーバーはバックオフを行います。読み取りはネットワークエラーと5xxエラーの後にも再試行しますが、送信やその他の書き込みは、結果が不確かな障害の後に再実行されることはありません。
  • バックグラウンドポーリングはありません。 サーバーは呼び出されたときだけ実行されます。AI アプリがスケジュール済みタスクに対応している場合、定期的に受信トレイを確認できます。また、raw_requestを使ってhistory.listにアクセスし、差分同期を行うこともできます。

技術ドキュメント

サポート

バグを見つけた場合や、対応してほしいシナリオがある場合は、issue を作成するか、Telegramにご連絡ください。


2 人のモナがハイタッチ

最後まで読んでいただき、ありがとうございます!

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。