Gmail MCP Server について
Gmail MCP Serverは、AIアシスタントからGmailのメール取得、検索、送信を行えるサーバーです。IMAPとSMTPを使い、Gmailの認証で接続します。
主な機能
- 01受信トレイのメール取得
- 02件名や送信者による検索
- 03未読メールの取得
- 04メール送信
活用シーン
- 01最近の受信メールの確認
- 02特定の送信者からのメール検索
- 03未読メールの確認
- 04アシスタント経由でのメール送信
MCP 対応
メールの取得、検索、送信を行うツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Gmail MCP サーバー
FastMCP で構築された、Gmail 連携用の Model Context Protocol(MCP)サーバーです。このサーバーは、標準化されたツールを通じて、AI アシスタントが Gmail を操作できるようにします。
概要
このプロジェクトでは、AI アシスタントが次のようなさまざまな Gmail 操作を実行できる MCP サーバーを実装しています。
- 受信トレイからメールを取得する
- 件名でメールを検索する
- 特定の送信者からのメールを検索する
- 未読メールを取得する
- 宛先にメールを送信する
このサーバーは、メールの取得には IMAP を、メールの送信には SMTP を使用し、いずれも Gmail の認証システムで保護されています。
セットアップ
- リポジトリをクローンします
git clone https://github.com/shubhiscoding/Gmail-MCP-Server
cd gmail-mcp
- 依存関係をインストールします
npm install
- ルートディレクトリに
.envファイルを作成し、次の変数を設定します。
GMAIL_USER=your_gmail_address
GMAIL_APP_PASSWORD=your-app-password
Gmail アカウントのアプリ パスワードを生成するには:
- Google アカウント > セキュリティに移動します
- まだ有効になっていない場合は、2 段階認証プロセスを有効にします
- アプリ パスワードに移動します
- 「メール」とお使いのデバイスを選択します
- 「生成」をクリックします
使用方法
サーバーの起動
開発モードでサーバーを起動します。
npm run dev
Windsurf で実行するための設定
mcp_config.json を設定して、gmail-mcp サーバーを追加します。
{
"mcpServers": {
"gmail-mcp": {
"command": "bash",
"args": [
"-c",
"cd ~Your-Path-To-The-Repo/Gmail-MCP-Server && npm run start"
],
"disabled": false
}
}
}
Windows で Claude desktop を実行するための設定
{
"mcpServers": {
"gmail-mcp": {
"command": "cmd",
"args": ["/c", "cd /d ~Your-Path-To-The-Repo\\Gmail-MCP-Server && npm run start"]
}
}
}
動画デモ
Windsruf のデモ
https://github.com/user-attachments/assets/0c45ec24-be45-4271-b7d0-fc6cd58b850f
Claude Desktop のデモ
https://github.com/user-attachments/assets/ad1650e8-bcc4-481e-ab95-eaefd8de7472
利用可能なツール
このサーバーは、AI アシスタント向けに次のツールを提供します。
1. fetchEmails
オプションの条件で絞り込みながら、受信トレイからメールを取得します。
パラメーター:
limit(任意):取得するメールの最大数(デフォルト:10)mailbox(任意):メールを取得するメールボックス(デフォルト:'INBOX')searchCriteria(任意):IMAP 検索条件(デフォルト:['ALL'])
2. fetchEmailsBySubject
指定した件名のメールを取得します。
パラメーター:
subject:検索する件名limit(任意):取得するメールの最大数(デフォルト:10)
3. fetchEmailsFromSender
特定の送信者からのメールを取得します。
パラメーター:
sender:送信者のメールアドレスlimit(任意):取得するメールの最大数(デフォルト:10)
4. fetchUnreadEmails
受信トレイから未読メールを取得します。
パラメーター:
limit(任意):取得するメールの最大数(デフォルト:10)
5. sendEmails
指定した宛先にメールを送信します。
パラメーター:
to:宛先のメールアドレスsubject:メールの件名body:メール本文
セキュリティ
このサーバーは、Gmail の認証情報などの機密情報を保存するために環境変数を使用します。.env ファイルをバージョン管理にコミットしないでください。
技術詳細
このプロジェクトは、次の技術で構築されています。
- 型安全性のための TypeScript
- メール操作用の Node.js IMAP および Nodemailer ライブラリ
- MCP サーバー実装用の FastMCP
- 環境変数管理用の dotenv
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。