Mailgun MCP Server
公式Mailgun APIと連携します。
ドキュメント
Mailgun MCP Server
概要
Model Context Protocol (MCP) サーバー for Mailgun は、AIエージェントにメール送信、到達性診断、アカウント運用管理のための実践的でワークフロー指向のインターフェースを提供します。
注記: このMCPサーバーはお客様のマシン上でローカルに実行されます。Mailgunは現在、このサーバーのホスト版を提供していません。
機能
- メッセージング — メール送信、保存メッセージの取得、メッセージの再送信
- ドメイン — ドメイン詳細の表示、DNS設定の検証、トラッキング設定(クリック、開封、配信停止)の管理
- Webhook — イベントWebhookの一覧表示、作成、更新、削除
- ルート — 受信メールルーティングルールの表示と更新
- メーリングリスト — メーリングリストとそのメンバーの作成と管理
- テンプレート — バージョン管理付きメールテンプレートの作成と管理
- 分析 — 送信メトリクス、利用メトリクス、ログのクエリ
- 統計 — ドメイン、タグ、プロバイダー、デバイス、国別の集計統計の表示
- 抑制 — バウンス、配信停止、苦情、許可リストエントリの表示
- IP & IPプール — IP割り当てと専用IPプール設定の表示
- バウンス分類 — バウンスタイプと配信問題の分析
前提条件
- Node.js (v20.12以上)
- MailgunアカウントとAPIキー
クイックスタート
設定
MCPクライアント設定に以下を追加してください:
{
"mcpServers": {
"mailgun": {
"command": "npx",
"args": ["-y", "@mailgun/mcp-server"],
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key",
"MAILGUN_API_REGION": "us"
}
}
}
}
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
MAILGUN_API_KEY | はい | — | Mailgun APIキー |
MAILGUN_API_REGION | いいえ | us | APIリージョン: us または eu |
MAILGUN_MCP_TAGS | いいえ | (すべて) | 有効にする製品タグのカンマ区切りリスト。--tags と同等。CLIフラグが優先されます。 |
タグフィルタリング
サーバーが登録するツールを1つ以上のMailgun製品タグに絞り込むことができます。これは、モデルに表示されるツールセットを制限するのに役立ちます。例えば、送信機能を必要としないワークフローに検証ツールのみを公開する場合などです。
有効なタグ: send、validate、optimize、inspect。指定がない場合、すべてのツールが登録されます(現在のデフォルト)。
フィルタリングはORセマンティクスを使用します: ツールは、そのタグのいずれかがアクティブセットに含まれている場合に登録されます。
CLIフラグ経由 — MCPクライアント設定の args に --tags を渡します:
{
"mcpServers": {
"mailgun": {
"command": "npx",
"args": ["-y", "@mailgun/mcp-server", "--tags", "validate,inspect"],
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key"
}
}
}
}
環境変数経由 — MAILGUN_MCP_TAGS を設定します(両方存在する場合はCLIフラグが優先されます):
"env": {
"MAILGUN_API_KEY": "YOUR-mailgun-api-key",
"MAILGUN_MCP_TAGS": "validate,inspect"
}
検出可能性 — バイナリを --list-tags 付きで実行するとサポートされているタグ値が表示され、--help で完全な使用法が表示されます。不明なタグは起動時に明確なエラーメッセージで拒否されます。
クライアント固有の設定パス
- Claude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Desktop (Windows):
%APPDATA%/Claude/claude_desktop_config.json - Claude Code:
claude mcp addを実行するか、~/.claude.jsonを編集します
サンプルプロンプト
メールを送信する
Can you send an email to EMAIL_HERE with a funny email body that makes it sound
like it's from the IT Desk from Office Space? Please use the sending domain
DOMAIN_HERE, and make the email from "postmaster@DOMAIN_HERE"!
注記: 一部のMCPクライアントでは、データを送信するツールを呼び出すために有料プランが必要です。送信が暗黙的に失敗する場合は、クライアントのプランを確認してください。
送信統計を取得して可視化する
Would you be able to make a chart with email delivery statistics for the past week?
テンプレートを管理する
Create a welcome email template for new signups on my domain DOMAIN_HERE.
Include a personalized greeting and a call-to-action button.
到達性を調査する
Can you check the bounce classification stats for my account and tell me
what the most common bounce reasons are?
DNSをトラブルシューティングする
Check the DNS verification status for my domain DOMAIN_HERE and tell me
if anything needs fixing.
抑制リストを確認する
Are there any unsubscribes or complaints for DOMAIN_HERE? Summarize the
top offenders.
ルーティングルールを管理する
List all my inbound routes and explain what each one does.
メーリングリストを作成する
Create a mailing list called announcements@DOMAIN_HERE and add these
members: [email protected], [email protected].
ドメインを比較する
Compare my sending volume and delivery rates across all my domains for
the past month.
地域別エンゲージメント
Break down my email engagement by country and device for DOMAIN_HERE.
トラッキング設定を確認する
List all my domains and show which ones have tracking enabled for clicks
and opens.
開発
ソースから実行するには、リポジトリをクローンし、node を直接使用します:
git clone https://github.com/mailgun/mailgun-mcp-server.git
cd mailgun-mcp-server
npm install
npm test
MCPクライアント設定で、npx コマンドを以下に置き換えます:
"command": "node",
"args": ["/path/to/mailgun-mcp-server/src/mailgun-mcp.js"]
プレコミットフック
npm install はgitプレコミットフックを(husky経由で)インストールし、ステージングされたTypeScript/JavaScriptファイルに対して oxlint --fix と oxfmt を実行し、npm run check:versions を実行します。修正可能な問題は自動修正されて再ステージングされます。修正不可能なlintエラーやバージョン同期の不一致を引き起こすコミットは拒否されます。この変更前にローカルクローンが既に存在する場合は、npm install を一度実行してフックをインストールしてください。
エンドポイント追加に関する注意
新しいエンドポイントを追加する際、その定義にプレーンな文字列を使用すると、デフォルトで _meta フィールドに send 製品タイプのタグが付けられます。別の製品としてタグ付けしたい場合は、EndpointEntry 型のオブジェクトバージョンを使用してください。
セキュリティに関する考慮事項
APIキーの分離
Mailgun APIキーは環境変数として渡され、AIモデル自体に公開されることはありません。MCPサーバープロセスがリクエストを認証するためにのみ使用されます。サーバーはAPIキー、リクエストパラメータ、またはレスポンスデータをログに記録しません。
ローカル実行
サーバーはお客様のマシン上でローカルに実行されます。Mailgun APIとのすべての通信はHTTPS経由で行われ、TLS証明書の検証が強制されます。Mailgun API以外のサードパーティサービスにデータが送信されることはありません。
APIキーの権限
必要な操作のみに権限をスコープした専用のMailgun APIキーを使用してください。サーバーは読み取りおよび更新操作を公開しますが、削除操作は公開しないため、意図しないアクションの影響範囲を制限します。
レート制限
サーバーはクライアント側のレート制限を実装していません。AIからの各ツール呼び出しは、直接Mailgun APIリクエストに変換されます。サーバーは、悪用を防ぐためにMailgunのサーバー側レート制限に依存しています。これらの制限を超えるリクエストは、AIアシスタントにエラーを返します。
プロンプトインジェクション
他のMCPサーバーと同様に、細工された、または敵対的なプロンプトによって、AIアシスタントが意図しない操作(トラッキング設定の変更やメーリングリストメンバーの読み取りなど)を呼び出す可能性があります。特に信頼できないプロンプトコンテキストでは、アクションを承認する前にAIアシスタントのツール呼び出し確認を確認してください。
Webhook URL
Webhookの作成および更新操作は、AIアシスタントを通じて提供された任意のURLを受け入れます。MCPサーバーはこれらのURLを追加の検証なしにMailgun APIに渡します。MailgunはWebhook宛先の検証を担当します。AIアシスタントがWebhook URLを意図しない内部アドレスや機密アドレスに設定しないようにしてください。
入力検証
すべてのツールパラメータは、Zodスキーマを使用してMailgun OpenAPI仕様に対して検証されます。ただし、検証はOpenAPI仕様の正確さに依存し、一部のエッジケースパラメータは許容的な検証にフォールバックする可能性があります。Mailgun APIは、追加の保護層として独自のサーバー側検証を実行します。
デバッグ
MCPサーバーは標準入出力(stdio)を介して通信します。トラブルシューティングについては、MCPデバッグガイドを参照してください。
ライセンス
Apache 2.0 — 詳細はLICENSEを参照してください。