maildev-mcp について
maildev-mcp は、MCP クライアントから MailDev の Docker コンテナを管理し、受信メールを確認するサーバーです。ローカル開発や自動テスト向けで、添付ファイルの検証にも対応します。
主な機能
- 01MailDev コンテナの起動と停止
- 02メールの一覧、検索、確認
- 03条件に合うメールの到着待ち
- 04HTML 本文と添付ファイルの取得
- 05添付ファイルと元データのバイト単位比較
活用シーン
- 01ローカル開発中のメール出力確認
- 02テストでの非同期メール到着待ち
- 03受信した添付ファイルの完全性検証
MCP 対応
MCP クライアント向けに、MailDev コンテナの操作とメール内容へのアクセスを行うツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MailDevMcp
English | 日本語
mcp-name: io.github.pierre3/maildev-mcp
MailDev 用の MCP(Model Context Protocol) サーバーです。
AI 搭載エディターや MCP クライアントから、MailDev の Docker コンテナーを管理し、受信メールを直接確認できます。
このサーバーは、MCP クライアントが以下を行う必要がある、ローカル開発やテスト自動化の用途を想定しています。
- MailDev コンテナーを起動または停止する
- 受信トレイの内容を確認する
- アプリケーションの動作をトリガーした後、メールが届くまで待機する
- HTML 本文や添付ファイルを確認する
- 添付ファイルの整合性をバイト単位で検証する
インストール
グローバル .NET ツールとしてインストールします。
dotnet tool install -g MailDevMcp
インストール後、maildev-mcp コマンドを使用できるようになります。
MCP クライアントの設定
以下を MCP クライアントの設定(Claude Desktop、VS Code など)に追加します。
{
"mcpServers": {
"maildev-mcp": {
"command": "maildev-mcp",
"env": {
"MAILDEV_API_PORT": "1080"
}
}
}
}
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
MAILDEV_API_PORT | 1080 | MailDev REST API のポート番号 |
一般的なワークフロー
StartMaildevを呼び出して、ローカルの MailDev コンテナーを起動します- アプリケーションを動作させてメールを送信します
- 配信が非同期の場合は、
WaitForEmailを呼び出します ListEmails、SearchEmails、またはGetEmailを使って結果を確認します- より詳細な検証が必要な場合は、
GetEmailHtml、GetAttachmentContent、またはVerifyAttachmentを使います DeleteEmail、DeleteAllEmails、またはStopMaildevを使って後処理します
利用可能なツール
| ツール | 説明 |
|---|---|
StartMaildev | SMTP ポート、API ポート、認証、TLS を設定して MailDev Docker コンテナーを起動します |
StopMaildev | MailDev Docker コンテナーを停止して削除します |
MaildevStatus | MailDev の実行状態を確認します |
ListEmails | 受信メールの一覧を取得します |
GetEmail | 添付ファイル情報を含む、ID で指定したメールの詳細を取得します |
GetEmailHtml | ID で指定したメールの HTML 本文を取得します |
SearchEmails | 件名、送信者、または受信者で受信メールを検索します |
DeleteEmail | ID で指定したメールを削除します |
DeleteAllEmails | 受信メールをすべて削除します |
WaitForEmail | 指定した条件に一致する新しいメールが届くまで待機します(テスト自動化に便利です) |
GetAttachmentContent | メール添付ファイルの未加工の Base64 エンコード済みコンテンツを取得します |
VerifyAttachment | バイト単位で比較し、メール添付ファイルが元のデータと一致するか検証します |
ツールの動作に関する注意事項
StartMaildev- SMTP ポートと API ポートをカスタム設定できます
- SMTP 認証を任意で設定できます
- 空または空白文字のみの認証情報は、認証が無効であるものとして扱います
- 生成された自己署名証明書を使った TLS に対応しています
GetEmailとListEmails- 件名がない場合や空の場合は
(no subject)と表示します - アドレス一覧がない場合は
(none)と表示します
- 件名がない場合や空の場合は
WaitForEmail- 一致するメールが届くかタイムアウトに達するまで、MailDev をポーリングします
- ポーリング中に一時的な MailDev 接続エラーが発生した場合、返されるメッセージにその内容を報告します
VerifyAttachment- Base64 エンコードされた元のペイロードを受け付けます
- 受信した添付ファイルをバイト単位で比較します
- 完全一致、サイズの不一致、または内容の不一致を報告します
要件と前提
- この MCP サーバーを実行するのと同じマシンに Docker がインストールされ、利用可能である必要があります
- MailDev には
localhost上の HTTP API 経由でアクセスします - MCP クライアントに設定する API ポートは、Docker が公開する MailDev の API ポートと一致している必要があります
前提条件
- .NET 10 SDK 以降
- Docker(MailDev コンテナーの実行に必要)
ソースからのビルド
git clone https://github.com/pierre3/MailDevMcp.git
cd MailDevMcp
dotnet pack -c Release
dotnet tool install -g --add-source ./bin/Release MailDevMcp
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。