mcp-mail について
mcp-mail は、既存の IMAP/SMTP メールボックスを管理するセルフホスト可能な MCP サーバーで、オプションで CalDAV カレンダーにも接続できます。クライアントごとの権限と監査ログを備え、メールの閲覧、整理、下書き、送信を行えます。
主な機能
- 01メールの閲覧、検索、整理
- 02添付ファイル付きメールの作成と送信
- 03オプションの CalDAV カレンダーツール
- 04クライアントごとの権限ポリシー
- 05メール本文を記録しない監査ログ
- 06Streamable HTTP と stdio に対応
活用シーン
- 01MCP クライアントにメールボックスの読み取り専用アクセスを付与
- 02エージェントの送信先を許可済みの宛先に制限
- 03メールのスレッドを検索して添付ファイルを取得
- 04カレンダーの空き時間を探して予定を作成
MCP 対応
MCP サーバーは Streamable HTTP または stdio を通じて、メールボックス、メール、添付ファイル、オプションのカレンダーツールを提供します。クライアントポリシーで、閲覧、下書き、整理、送信、カレンダー操作を制御できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @annseraf/mcp-mailACCOUNTS_FILEPath to accounts.json (default ~/.config/mcp-mail/accounts.json)STDIO_PRESETread-only | read-draft | organize | full-no-delete | fullローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
19掲載時のツール一覧 · 2 日前に更新
このツールにパラメーターはありません。
詳細
mcp-mail
mcp-mail はセルフホスト可能な IMAP/SMTP メール用 MCP サーバーです。Claude、ChatGPT、Cursor などの MCP クライアントから、既存のメールボックスのメールを読み取り、検索し、下書きを作成して送信できます。クライアントごとの権限設定、監査ログ、1 行でのインストールにも対応しています。
curl -fsSL https://raw.githubusercontent.com/Annseraf/mcp-mail/main/install.sh | sudo bash -s -- --auto-update
ローカルクライアント(Claude Desktop、Claude Code、Cursor、VS Code)では、直接実行できます:npx -y @annseraf/mcp-mail stdio。
mcp-mail は、Markus Stöger による claude-mail-mcp(MIT)を引き継いでメンテナンスしているプロジェクトです。既存の claude-mail-mcp v0.2 のインストール環境は、設定を変更せずに切り替えられます(互換性契約)。
対応環境
- AI クライアント: Claude.ai、Claude Desktop、Claude Code、ChatGPT(開発者モード、Deep Research)、Cursor、VS Code、Meta Muse、および Streamable HTTP または stdio を介して接続する任意の MCP クライアント。セットアップガイド:docs/clients。
- メールプロバイダー: Fastmail、iCloud、Purelymail、Gmail と Google Workspace(アプリパスワード)、Yahoo、Zoho、Mailbox.org、Migadu、Mailcow、Dovecot/Postfix など、任意の IMAP/SMTP メールボックス。
- カレンダー: 任意の CalDAV サーバー(Fastmail、iCloud、Nextcloud、Radicale)。オプションです。
- MCP プロトコル: 2026-07-28(ステートレス)および 2024-11-05 以降のすべての旧リビジョンに、同じエンドポイントで対応しています。
ツール
| ツール | 機能 | 権限 |
|---|---|---|
list_accounts | 接続済みのメールボックス、差出人名、署名を一覧表示します(認証情報は表示しません) | 読み取り |
list_folders | 用途(受信トレイ、送信済み、下書き、ゴミ箱)とともにフォルダーを一覧表示します | 読み取り |
list_messages | フォルダー内の最新メッセージを短いプレビュー付きで表示します | 読み取り |
search_messages | 差出人、件名、本文、日付、既読状態、フラグで、1つまたは複数のフォルダー、あるいはすべて("*")を検索します | 読み取り |
get_message | メッセージを1件読み取ります:ヘッダー、本文、添付ファイル一覧、スレッドID | 読み取り |
get_attachment | 添付ファイルを1件ダウンロードします(サイズ制限あり) | 読み取り |
get_thread | 受信トレイと送信済みをまたぐ会話全体を古い順に読み取ります | 読み取り |
list_threads | フォルダー内の最新メッセージを会話ごとにグループ化します | 読み取り |
create_draft | 下書きを保存します(添付ファイル付き)。reply_to_uid を指定すると返信内容が自動入力されます | 下書き |
mark_read | メッセージを既読または未読にします | 整理 |
set_flags | スター(フラグ)を付ける、返信済みとしてマークする、またはカスタムキーワードを追加します | 整理 |
move_message | メッセージを別のフォルダーに移動します | 整理 |
delete_message | ゴミ箱に移動します。permanent: true を指定すると完全に削除します | 整理/破壊的操作 |
send_message | メールを送信します(添付ファイルと署名付き)。コピーは送信済みに保存されます | 送信 |
update_account_settings | 差出人の表示名と署名を変更します | 設定 |
list_calendars, list_events, find_free_slot | カレンダーを読み取り、空き時間を検索します | カレンダー読み取り |
create_event | カレンダーの予定を作成します | カレンダー書き込み |
search, fetch | ChatGPT のディープリサーチ用アダプター(CHATGPT_COMPAT=true) | 読み取り |
比較
| mcp-mail | claude-mail-mcp v0.2 | |
|---|---|---|
| トランスポート | Streamable HTTP(2026-07-28 + レガシー)および stdio | Streamable HTTP |
| 認証 | OAuth 2.1 を内蔵(DCR、PKCE)、クライアントごとのトークン、共有トークン | 共有トークン + 個別の OAuth shim |
| クライアントごとの権限 | プリセット、ツールの許可/拒否、メールボックスの範囲、受信者の許可リスト、送信レート制限 | — |
| 読み取り専用モード | read-only プリセット(または STDIO_PRESET=read-only) | — |
| 1 つのクライアントのアクセス権を取り消す | はい。他のクライアントは引き続き動作します | 共有シークレットをローテーション |
| 添付ファイル | 送信、下書き、ダウンロード | 送信のみ |
| スレッド、フラグ、複数フォルダー検索 | はい | — |
| 監査ログ | JSONL、メッセージの内容は記録しません | — |
| プロンプトインジェクション対策 | 信頼できないコンテンツの区切り、非表示 HTML の除去、サーバーの指示 | — |
| マルチテナント + 管理 API | オプトイン、OpenAPI 仕様付き | — |
| インストールとアップデート | 1 行のインストーラー、署名付きリリース、ロールバック対応の自動アップデート | 手動 |
ニーズに応じて、他にも検討する価値のある IMAP MCP サーバーがあります。codefuturist/email-mcp(TypeScript、IMAP/SMTP、多数のツール)、tecnologicachile/mail-mcp(Rust、IMAP/SMTP に加えて Microsoft Graph と EWS)、wildsurfer/your-mail-mcp(読み取り専用、ローカルの notmuch インデックス)です。最新の機能については、それぞれの README を確認してください。
FAQ
ChatGPT にメールへの読み取り専用アクセスを許可するにはどうすればよいですか?
mcp-mail clients add chatgpt --for chatgpt(OAuth ログイン、read-only プリセット)を実行し、OAUTH=true を有効にして、ChatGPT の開発者モードでサーバーを追加します。ChatGPT には読み取りツールのみが表示されます。docs/clients/chatgpt.md を参照してください。
Fastmail、iCloud、Purelymail、Gmail で使えますか?
はい。IMAP と SMTP に対応していれば使えます。Gmail、iCloud、Yahoo、Fastmail では、プロバイダーのセキュリティ設定でアプリパスワードを作成し、通常のパスワードの代わりに使用してください。
AI エージェントによるメール送信を止めるにはどうすればよいですか?
send を含まないプリセット(read-only、read-draft、または organize)をエージェントに割り当ててください。送信ツールはツール一覧から表示されなくなり、呼び出された場合も拒否されます。送信できるエージェントについては、sendRecipientAllowlist で受信者を制限し、sendRateLimit で送信量に上限を設定してください。docs/CLIENTS.md を参照してください。
メールによって、AI が何かを実行するよう誘導されることはありますか?
メールは信頼できない入力です。mcp-mail はすべての本文を信頼できないコンテンツの区切りで囲み、非表示の HTML テキストとトラッキングピクセルを除去し、送信や削除の前にユーザーへ確認するようクライアントに指示します。送信が不要なエージェントでは、送信機能を無効にしてください。SECURITY.md を参照してください。
メッセージを削除すると、永久に失われますか?
いいえ。delete_message はメッセージをゴミ箱に移動します。完全に削除するには permanent: true と、destructive 機能を持つクライアントが必要です。
パスワードはどこに保存されますか?
サーバー上の accounts.json に保存されます(必要に応じて mcp-mail secrets encrypt で保存時に暗号化できます)。マルチテナントモードでは、認証情報はローカルキーファイルまたは OCI Vault を使用して、テナントごとにエンベロープ暗号化されます。パスワードがツール、API、ログから返されることはありません。
エージェントはメールに署名できますか?
はい。各アカウントには送信者の表示名と署名を設定できます。accounts.json で設定するか、エージェント自身が update_account_settings を使って設定できます。署名なしで送信するには、include_signature: false を指定してください。
claude-mail-mcp を使っています。何か変更する必要はありますか?
いいえ。バイナリを置き換えるだけで、.env、accounts.json、接続済みのクライアントはそのまま使えます。CI では、記録された v0.2.1 の動作に対してこれを検証しています。
セキュリティモデル
- デフォルトでは
127.0.0.1にバインドされます。TLS を使用するには、前段に nginx または Caddy を配置してください。 - クライアントは、OAuth 2.1(PKCE、ローテーションされるリフレッシュトークン)、クライアントごとの静的トークン(ハッシュ化して保存)、または従来の共有トークンで認証します。
- 各ツール呼び出しは、ツールの一覧表示時と呼び出し時の両方で、クライアントのポリシーに照らして確認されます。
- 監査ログには誰が何を行ったかが記録され、メッセージの内容は記録されません。
- メールの内容は信頼できないものとして扱われます。送信や削除は人間が確認する必要があります。
- リリースは、タグ付きコミットからのみ CI でビルドされ、チェックサムと来歴証明が付与されます。
詳細:SECURITY.md、docs/CLIENTS.md、docs/PLATFORM.md。
設定
.env:トランスポート設定(.env.example)。新しい設定項目はすべて任意です。accounts.json:メールボックス(claude-mail-mcp と同じ形式。fromName/signatureは任意です)。clients.json:クライアントごとの ID とポリシー(docs/CLIENTS.md)。- マルチテナントモードと管理 API:docs/PLATFORM.md。
アップグレード
claude-mail-mcp v0.2.x からの場合:設定の変更は不要です。 同じ .env、accounts.json、および(使用している場合は)OAuth の状態を指定して mcp-mail をインストールしてください。新機能は有効にするまでオフのままです。承認済みの動作変更が 2 つあり、docs/COMPATIBILITY.md に記載されています。削除するとゴミ箱に移動するようになり、メールの内容は信頼できないものとして扱われます(UNTRUSTED_FENCING=false にすると従来の出力に戻ります)。
開発
npm ci
npm run check # lint, format, typecheck, unit tests, license scan, build
npm run test:compat # compatibility gate + integration suites (needs GreenMail, see docs/COMPATIBILITY.md)
ツールの追加方法:docs/ADDING_A_TOOL.md。コントリビューションについて:CONTRIBUTING.md。
ライセンス
MIT。Copyright (c) 2026 Markus Stöger および (c) 2026 Mohith K Das、mcp-mail のコントリビューター。詳細は LICENSE と NOTICE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。