mcpField
G
Gmail

Gmail

ローカル
github.comコミュニケーション123 日前に更新

Gmail について

Gmail は、Gmail の検索、閲覧、送信、管理を AI システムから行うための MCP サーバーです。MCP クライアントと Google の間で OAuth を中継し、トークンや状態は保持しません。

主な機能

  1. 01メールとスレッドの検索・閲覧
  2. 02メール送信・転送と下書き管理
  3. 03アーカイブ・ラベル付け・ゴミ箱への移動
  4. 04ラベル・フィルター・添付ファイルの管理
  5. 05不在時の自動返信設定

活用シーン

  1. 01予約メールからフライト情報を抽出
  2. 02領収書を検索して経費申請
  3. 03メールを特定して添付ファイルを取得
  4. 04不在時の自動返信を設定

MCP 対応

MCP クライアントに、メール、スレッド、下書き、ラベル、添付ファイル、フィルター、設定を扱うツールを提供します。OAuth と Gmail API のリクエストを中継し、トークンや状態は保存しません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"domdomegg-gmail": {
"command": "npx",
"args": [
"-y",
"gmail-mcp"
],
"env": {
"GOOGLE_ACCESS_TOKEN": "<GOOGLE_ACCESS_TOKEN>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>"
}
}
}
}
起動コマンドnpx -y gmail-mcp
設定が必要な環境変数
GOOGLE_ACCESS_TOKENシークレットGoogle OAuth access token with Gmail scopes.
MCP_TRANSPORTTransport type.
GOOGLE_CLIENT_IDGoogle OAuth client ID.
GOOGLE_CLIENT_SECRETシークレットGoogle OAuth client secret.

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

パッケージ
npmgmail-mcp2.4.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

gmail-mcp

Gmail 用の MCP サーバーです。メールの閲覧、送信、アーカイブ、管理ができます。

ユースケース

フライトのチェックイン:「明日のフライトのチェックインをして」→確認メールを見つけ、予約番号を抽出し、ブラウザーを使ってチェックインを完了します。

経費の申請:「先週の Amazon での購入を経費として申請して」→領収書を見つけ、金額とカテゴリを抽出し、経費システムに登録します。

荷物の追跡:「Acme からの荷物はどこ?」→発送通知を見つけ、追跡番号を抽出し、現在の配送状況を取得します。

添付ファイルを探す:「予算について何に決まったっけ? Michelle が昨日何か送ってくれた」→メールを見つけ、添付されたスプレッドシートを開きます。

休暇モード:「12 月 20 日から 1 月 2 日まで休暇です」→Gmail の自動返信を設定し、カレンダーをブロックして、Slack のステータスをまとめて更新します。

会議後のフォローアップ:通話後、アシスタントが Gemini の文字起こしを読み、重要な決定事項を要約し、アクション項目を含むフォローアップメールの下書きを作成します。

(これらはあくまで例です。メールの検索、閲覧、送信が必要なワークフローであれば、どれでも利用できます。)

セットアップ

1. Google OAuth 認証情報を作成する
  1. Google Cloud Console にアクセスします
  2. 新しいプロジェクトを作成します(または既存のプロジェクトを使用します)
  3. Gmail API を有効にします
  4. APIs & Services → OAuth consent screen に移動し、同意画面を設定します
  5. APIs & Services → Credentials → Create Credentials → OAuth client ID に移動します
  6. Web application を選択します
  7. http://localhost:3000/callback を Authorized redirect URIs に追加します
  8. Client ID と Client Secret を控えておきます
2. サーバーを実行する
GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start

サーバーはデフォルトで http://localhost:3000 で実行されます。PORT=3001 で変更できます。

3. MCP クライアントに追加する

サーバーを実行した状態で、install-mcp の手順に従ってください。MCP クライアント(Claude Code、Claude Desktop、Cursor、Cline、VS Code など)に適した設定が生成されます。

アーキテクチャ

このサーバーは、Google への OAuth プロキシ として動作します。

graph LR
    A[MCP client] <--> B[gmail-mcp] <--> C[Google OAuth/API]
  1. サーバーは /.well-known/oauth-authorization-server を介して、自身を OAuth 認可サーバーとして公開します
  2. /register は Google OAuth クライアントの認証情報を返します
  3. /authorize はクライアントのコールバック URL を state にエンコードして Google にリダイレクトします
  4. /callback は Google からコードを受け取り、クライアントのコールバックに転送します
  5. /token はクライアントの認証情報を付加して、トークンリクエストを Google に中継します
  6. /mcp は MCP リクエストを処理し、ベアラートークンを使って Gmail API を呼び出します

このサーバーはトークンや状態を保持せず、Google への OAuth リクエストを中継するだけです。

ツール

ツール説明
gmail_get_profileユーザーのメールアドレスとプロフィール情報を取得
メッセージ
gmail_messages_listメッセージを検索/一覧表示(代わりに gmail_threads_list をご検討ください)
gmail_message_get1 件のメッセージを取得
gmail_message_sendメールを送信
gmail_message_forward新しい宛先にメールを転送
gmail_message_modifyラベルを追加/削除
gmail_message_archiveアーカイブ(受信トレイから削除)
gmail_message_trashゴミ箱に移動
gmail_message_untrashゴミ箱から復元
gmail_message_delete完全に削除
gmail_messages_batch_modifyラベルを一括変更
gmail_messages_batch_delete完全削除を一括実行
スレッド
gmail_threads_listスレッドを検索/一覧表示(推奨)
gmail_thread_getスレッド内のすべてのメッセージを取得(推奨)
gmail_thread_modifyラベルを追加/削除
gmail_thread_trashゴミ箱に移動
gmail_thread_untrashゴミ箱から復元
gmail_thread_delete完全に削除
下書き
gmail_drafts_list下書きを一覧表示
gmail_draft_get下書きを取得
gmail_draft_create下書きを作成
gmail_draft_update下書きを更新
gmail_draft_send下書きを送信
gmail_draft_delete下書きを削除
ラベル
gmail_labels_listすべてのラベルを一覧表示
gmail_label_getラベルを取得
gmail_label_createラベルを作成
gmail_label_updateラベルを更新
gmail_label_deleteラベルを削除
添付ファイル
gmail_attachment_get添付ファイルをダウンロード
フィルター
gmail_filters_listメールフィルターを一覧表示
gmail_filter_getフィルターを取得
gmail_filter_createフィルターを作成
gmail_filter_deleteフィルターを削除
設定
gmail_vacation_get休暇中の自動返信設定を取得
gmail_vacation_set休暇中の自動返信設定を設定

Gmail API のスコープ

  • gmail.readonly - メッセージとラベルを読み取る
  • gmail.send - メッセージを送信する
  • gmail.modify - メッセージを変更する(アーカイブ、ラベル、ゴミ箱)

貢献

GitHub でのプルリクエストを歓迎します!始めるには、次の手順に従ってください。

  1. Git と Node.js をインストールします
  2. リポジトリをクローンします
  3. npm install で依存関係をインストールします
  4. npm run test を実行してテストを実行します
  5. npm run build でビルドします

リリース

バージョンはセマンティック バージョニング仕様に準拠しています。

リリースするには:

  1. npm version <major | minor | patch> を使用してバージョンを更新します
  2. git push --follow-tags を実行してタグとともにプッシュします
  3. GitHub Actions が NPM レジストリに公開するまで待ちます。

コメント

MCP は初めてですか?

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

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