Gmail Server for Model Context Protocol (MCP) について
Gmail API を通じて、MCP クライアントからメールの送信、読み取り、削除、返信を行える Gmail 用 MCP サーバーです。AI アシスタントにメール処理を任せたい利用者を想定しています。送信や削除の前には、クライアントがユーザーに確認を求めます。
主な機能
- 01送信結果とメッセージ ID を返すメール送信
- 02未読メールの一覧と個別メール内容の取得
- 03メールのゴミ箱への移動と既読化
- 04既定のブラウザで特定のメールを開く
活用シーン
- 01AI アシスタントによる未読メールの要約と返信
- 02MCP クライアントからのメール作成と送信
- 03メール処理ワークフローの一部としての受信トレイ整理
MCP 対応
send-email、trash-email、get-unread-emails などのツールを MCP クライアントに提供する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Model Context Protocol(MCP)用 Gmail サーバー
この MCP サーバーは Gmail と連携し、メールの送信、削除、閲覧、下書きの作成、返信を可能にします。
注:このサーバーにより、MCP クライアントはメールの閲覧、削除、送信ができます。ただし、こうした操作を行う前に、クライアントはユーザーに確認を求めます。
https://github.com/user-attachments/assets/5794cd16-00d2-45a2-884a-8ba0c3a90c90
コンポーネント
ツール
-
send-email
- メールアドレスの宛先にメールを送信します
- 入力:
recipient_id(string):宛先のメールアドレスsubject(string):メールの件名message(string):メールの内容
- ステータスと message_id を返します
-
trash-email
- メールをゴミ箱に移動します
- 入力:
email_id(string):メールの自動生成 ID
- 成功メッセージを返します
-
mark-email-as-read
- メールを既読にします
- 入力:
email_id(string):メールの自動生成 ID
- 成功メッセージを返します
-
get-unread-emails
- 未読メールを取得します
- メール ID を含むメールのリストを返します
-
read-email
- 指定されたメールの内容を取得します
- 入力:
email_id(string):メールの自動生成 ID
- メールのメタデータの辞書を返し、メールを既読にします
-
open-email
- ブラウザーでメールを開きます
- 入力:
email_id(string):メールの自動生成 ID
- 成功メッセージを返し、指定されたメールを既定のブラウザーで開きます
セットアップ
Gmail API のセットアップ
- 新しい Google Cloud プロジェクトを作成します
- Gmail API を有効にします
- OAuth 同意画面を設定します
- 「external」を選択します。ただし、アプリは公開しません。
- 個人のメールアドレスを「Test user」として追加します。
- OAuth スコープ
https://www.googleapis.com/auth/gmail/modifyを追加します - アプリケーションの種類に「Desktop App」を選択して、OAuth クライアント ID を作成します
- クライアントの OAuth キーの JSON ファイルをダウンロードします
- キーファイルの名前を変更し、安全な場所にあるローカルマシンに保存します。保存場所を控えておいてください。
- このファイルの絶対パスは、サーバー起動時にパラメーター
--creds-file-pathとして渡します。
- このファイルの絶対パスは、サーバー起動時にパラメーター
認証
サーバーを起動すると、システムブラウザーで認証フローが開始されます。
トークン認証情報は、パラメーター --token-path に渡した絶対ファイルパスに保存されます(後でそこから取得されます)。
たとえば、ホームフォルダーのドットディレクトリを使用できます。その場合は、[your-home-folder] を置き換えてください。:
| パラメーター | 例 |
|---|---|
--creds-file-path | /[your-home-folder]/.google/client_creds.json |
--token-path | /[your-home-folder]/.google/app_tokens.json |
デスクトップアプリでの使用
uv の使用をおすすめします。
このサーバーを MCP クライアントとして Claude Desktop と連携するには、アプリのサーバー設定に次の内容を追加します。既定では、設定は ~/Library/Application\ Support/Claude/claude_desktop_config.json に保存されています。
{
"mcpServers": {
"gdrive": {
"command": "uv",
"args": [
"--directory",
"[absolute-path-to-git-repo]",
"run",
"gmail",
"--creds-file-path",
"[absolute-path-to-credentials-file]",
"--token-path",
"[absolute-path-to-access-tokens-file]"
]
}
}
}
次のパラメーターを設定する必要があります
| パラメーター | 例 |
|---|---|
--directory | サーバーを含む gmail ディレクトリの絶対パス |
--creds-file-path | Gmail API のセットアップで作成した認証情報ファイルの絶対パス。 |
--token-path | アプリケーションのアクセス・更新トークンを保存および取得するための絶対パス。 |
MCP Inspector によるトラブルシューティング
サーバーをテストするには、MCP Inspector を使用します。 Git リポジトリから、パラメーターの引数を適宜変更して、以下を実行します。
npx @modelcontextprotocol/inspector uv run [absolute-path-to-git-repo]/src/gmail/server.py --creds-file-path [absolute-path-to-credentials-file] --token-path [absolute-path-to-access-tokens-file]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。