Mailtrap
公式Mailtrap Email APIと統合します。
Mailtrap MCPで何ができますか?
- トランザクションメールの送信 — アシスタントに、インラインコンテンツまたはテンプレートを使用したトランザクションメールを
send-email経由で送信するよう依頼します。 - サンドボックスでのメールテスト — サンドボックス受信トレイにテストメールを送信し、コンテンツ、スパムスコア、HTML分析を確認します。
- 配信ログの監視 — メールログを検索し、イベント履歴を確認して、
list-email-logsで配信の問題をデバッグします。 - メールテンプレートの管理 — 自然言語コマンドを使用して、テンプレートの作成、一覧表示、更新、削除を行います。
- 送信統計の分析 —
get-sending-statsで任意の日付範囲の配信率、バウンス率、開封率、クリック率を取得します。 - 送信ドメインの管理 — DNS検証とクリックトラッキングを使用して、送信ドメインの一覧表示、作成、設定を行います。
ドキュメント
公式 Mailtrap MCP サーバー
Mailtrap(メール配信プラットフォーム)向けの公式 MCP サーバーです。Mailtrap アカウントを Claude、Cursor、VS Code、その他の MCP 互換 AI アシスタントに接続します。
トランザクションメールや一括メールの送信、Email Sandbox での安全なメッセージテスト、テンプレート・連絡先・送信ドメイン・Webhook の管理、メールログや配信統計の確認、配信性のトラブルシューティング、アカウントリソースの管理など、すべて自然言語のプロンプトで実行できます。
機能
- Email API および SMTP — バッチ送信やテンプレートベースのメッセージを含む、トランザクションメールと一括メールを送信します。
- メールテスト — Email Sandbox でメッセージをテストし、コンテンツ、ヘッダー、添付ファイル、スパムスコア、HTML クライアント互換性を確認します。
- 配信モニタリング — メールログを検索し、イベント履歴を確認し、配信率、バウンス率、開封率、クリック率、スパム率を分析します。
- メールインフラ — 送信ドメイン、DNS 検証、Webhook、抑制リストを管理します。
- 連絡先 — 連絡先、リスト、カスタムフィールド、イベントを管理し、インポートとエクスポートも行えます。
- アカウント管理 — 請求使用量を確認し、アクセス権限、API トークン、サブアカウントを管理します。
対応 MCP クライアント
Claude Desktop、Claude Code、Cursor、VS Code、その他の MCP 互換クライアントで動作します。各クライアントのセットアップ手順は以下に記載されています。
前提条件
この MCP サーバーを使用する前に、以下が必要です:
- Mailtrap アカウントを作成
- ドメインを検証
- Mailtrap API 設定から API トークンを取得
- Mailtrap アカウント管理からアカウント ID を取得
必須の環境変数:
MAILTRAP_API_TOKEN- すべての機能で必須MAILTRAP_ACCOUNT_ID- テンプレート、統計、メールログ、サンドボックスの一覧・表示、送信ドメイン、抑制リストで必須。送信ツール(send-email、send-sandbox-email、batch-send-* ツール)、メールキャンペーンツール、会社情報ツール、トラッキングオプトアウトツールではオプション。
任意(ツールパラメータとして渡すことも可能):
DEFAULT_FROM_EMAIL- send-email、send-sandbox-email、batch-send-* ツールにfromが指定されていない場合のデフォルト送信者メール(base.fromを埋めます)。fromパラメータで呼び出しごとに送信者を切り替えられます。MAILTRAP_SANDBOX_ID- サンドボックスツールにsandbox_idが指定されていない場合のデフォルトサンドボックス ID。sandbox_idパラメータで呼び出しごとにサンドボックスを切り替えられます。MAILTRAP_TEST_INBOX_ID- サンドボックスツールにtest_inbox_idが指定されていない場合のデフォルトテスト受信トレイ ID。test_inbox_idパラメータで呼び出しごとに受信トレイを切り替えられます。MAILTRAP_SANDBOX_IDのレガシーエイリアスで、フォールバックとして引き続き有効です。MAILTRAP_ORGANIZATION_ID- 組織ツール(list-sub-accounts、create-sub-account)で必須。MAILTRAP_ORGANIZATION_API_TOKEN- 組織スコープの API トークン。組織ツールで必須(MAILTRAP_API_TOKENとは別)。
クイックインストール
Smithery CLI
Smithery は、すべての AI クライアントで動作する MCP サーバーのレジストリインストーラー兼マネージャーです。
npx @smithery/cli install mailtrap
Smithery はクライアント設定を自動的に処理し、対話型のセットアッププロセスを提供します。ローカルで MCP サーバーを始める最も簡単な方法です。
セットアップ
Claude Desktop
MCPB を使用して Mailtrap サーバーをインストールします。これらのファイルは Releases にあります。
.MCPB ファイルをダウンロードして開きます。Claude Desktop をお使いの場合、ファイルが開かれ、設定を提案します。
Claude Desktop または Cursor
次の設定を追加します:
{
"mcpServers": {
"mailtrap": {
"command": "npx",
"args": ["-y", "mcp-mailtrap"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
Node.js の管理に asdf を使用している場合は、実行可能ファイルへの絶対パスを使用する必要があります(Mac の例)
{
"mcpServers": {
"mailtrap": {
"command": "/Users/<username>/.asdf/shims/npx",
"args": ["-y", "mcp-mailtrap"],
"env": {
"PATH": "/Users/<username>/.asdf/shims:/usr/bin:/bin",
"ASDF_DIR": "/opt/homebrew/opt/asdf/libexec",
"ASDF_DATA_DIR": "/Users/<username>/.asdf",
"ASDF_NODEJS_VERSION": "20.6.1",
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
Claude Desktop 設定ファイルの場所
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Cursor 設定ファイルの場所
Mac: ~/.cursor/mcp.json
Windows: %USERPROFILE%\.cursor\mcp.json
VS Code
設定を手動で変更する
コマンドパレットで Preferences: Open User Settings (JSON) を実行します。
次に、設定ファイルに次の設定を追加します:
{
"mcp": {
"servers": {
"mailtrap": {
"command": "npx",
"args": ["-y", "mcp-mailtrap"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
}
[!TIP] "env" セクションを変更した後は、MCP サーバーを再起動することを忘れないでください。
MCP バンドル(MCPB)
MCP バンドルをサポートするホストへの簡単なインストールのために、.mcpb バンドルファイルを配布できます。
# Build TypeScript and pack the MCPB bundle
npm run mcpb:pack
# Inspect bundle metadata
npm run mcpb:info
# Sign the bundle for distribution (optional)
npm run mcpb:sign
これにより、リポジトリ manifest.json と dist/ のビルド成果物を使用して mailtrap-mcp.mcpb が作成されます。
使用方法
設定が完了すると、エージェントにメールの送信やテンプレートの管理を依頼できます。例:
メール送信操作:
- 「john.doe@example.com に件名『Meeting Tomorrow』で、今後のミーティングについてのリマインダーを送って」
- 「sarah@example.com にプロジェクトの更新についてメールして、team@example.com を CC に入れて」
- 「ウェルカムテンプレート(uuid
b81aabcd-1a1e-41cf-91b6-eca0254b3d96)を new@example.com に変数{ name: 'Alex' }で送って」 - 「test@example.com に件名『Test Template』でサンドボックスメールを送って、ウェルカムメールの見た目をプレビューして」
メールログ(配信のデバッグ):
- 「最近送信したメールログを一覧表示して」
- 「user@example.com に送信されたメールのログを表示して」
- 「ID abc-123-uuid のメールログメッセージを取得して、配信ステータスを確認して」
送信統計:
- 「2025 年 1 月の送信統計を取得して」
- 「先月のドメイン別配信率を表示して」
- 「2025-01-01 から 2025-01-31 までのカテゴリ別メール統計は?」
サンドボックス操作:
- 「サンドボックスの受信トレイからすべてのメッセージを取得して」
- 「サンドボックスメッセージの最初のページを表示して」
- 「サンドボックスの受信トレイで『test』を含むメッセージを検索して」
- 「ID 5159037506 のサンドボックスメッセージの詳細を表示して」
テンプレート操作:
- 「Mailtrap アカウントのすべてのメールテンプレートを一覧表示して」
- 「件名『Welcome to our platform!』の『Welcome Email』という新しいメールテンプレートを作成して」
- 「ID 12345 のテンプレートの件名を『Updated Welcome Message』に更新して」
- 「ID 67890 のテンプレートを削除して」
送信ドメイン:
- 「送信ドメインを一覧表示して」
- 「ID 3938 の送信ドメインを取得して」
- 「example.com の送信ドメインを作成して」
- 「送信ドメイン 3938 のクリックトラッキングをオンにして」
- 「送信ドメイン 3938 を削除して」
- 「DNS 設定手順付きで送信ドメイン 3938 を取得して」
- 「送信ドメイン 3938 の会社情報を表示して」
- 「ドメイン 3938 の会社情報を Acme Inc、123 Main St、San Francisco、US、94105、https://acme.com に設定して」
- 「ドメイン 3938 の会社情報の市区町村を New York に変更して」
抑制リスト:
- 「bounced@example.com の抑制リストを一覧表示して」
- 「ドメイン 3938 のトランザクションストリームで bounced@example.com を抑制して」
- 「抑制されたすべてのメールアドレスを表示して」
- 「user@example.com がメールを受信しないのはなぜ?」
- 「user@example.com を抑制リストから削除して」
トラッキングオプトアウト:
- 「ドメイン 3938 で privacy@example.com の開封とクリックのトラッキングを停止して」
- 「トラッキングをオプトアウトした全員を一覧表示して」
連絡先とリスト:
- 「john.doe@example.com をニュースレターの連絡先リストに追加して」
- 「すべての連絡先リストを表示して」
- 「連絡先の出所を追跡するための『signup_source』という連絡先フィールドを作成して」
- 「連絡先 john.doe@example.com を更新して、プランを『pro』に設定して」
- 「この CSV から連絡先をオンボーディングリストにインポートして」
- 「ニュースレターリストからすべての連絡先をエクスポートして」
- 「連絡先 john.doe@example.com に『trial_started』イベントを記録して」
Webhook:
- 「アカウントに設定されているすべての Webhook を一覧表示して」
- 「バウンスとスパムイベント用に https://example.com/hooks/mailtrap を指す Webhook を作成して」
- 「Webhook 4821 を更新して、配信イベントも送信するようにして」
- 「Webhook 4821 を削除して」
アカウントと請求:
- 「今月の現在の請求使用量は?」
- 「プランで残っているメール数は?」
- 「この Mailtrap アカウントにアクセスできる全員を一覧表示して」
- 「アカウントで利用可能な権限リソースを表示して」
API トークン:
- 「アカウントのすべての API トークンを一覧表示して」
- 「ステージング環境用の新しい API トークンを作成して」
- 「ID 1234 の API トークンをリセットして」
- 「未使用の API トークン 1234 を削除して」
組織とサブアカウント:
- 「組織内のすべてのサブアカウントを一覧表示して」
- 「クライアントプロジェクト『Acme Corp』用の新しいサブアカウントを作成して」
利用可能なツール
send-email
Mailtrap を通じてトランザクションメールを送信します。インラインコンテンツ(subject + text/html)またはテンプレートベース(template_uuid)の 2 つの排他的モードをサポートします。
パラメータ:
from(任意):{ email, name? }としての送信者(実行時に素のメール文字列も受け付けます)。指定しない場合はDEFAULT_FROM_EMAILが使用されます。to(任意):{ email, name? }オブジェクトの配列としての受信者(素のメール文字列、または配列でない単一のアドレスも実行時に受け付けます)。ccまたはbccが指定されている場合は任意。to/cc/bccの少なくとも 1 つに受信者が含まれている必要があります。cc(任意):{ email, name? }オブジェクトの配列としての CC 受信者(実行時に素のメール文字列も受け付けます)。bcc(任意):{ email, name? }オブジェクトの配列としての BCC 受信者(実行時に素のメール文字列も受け付けます)。subject(条件付き):メールの件名。インライン送信では必須。template_uuidが設定されている場合は省略する必要があります。text(条件付き):メール本文テキスト。インライン送信では(htmlと併用またはその代わりに)必須。template_uuidが設定されている場合は省略する必要があります。html(条件付き):メール本文の HTML バージョン。インライン送信では(textと併用またはその代わりに)必須。template_uuidが設定されている場合は省略する必要があります。category(任意):トラッキングと分析用のメールカテゴリ。template_uuidが設定されている場合は省略する必要があります。template_uuid(任意):インラインコンテンツの代わりに Mailtrap メールテンプレートを使用します。設定すると、subject/text/html/categoryは省略する必要があります(Mailtrap API による)。template_variables(任意):template_uuidが参照するテンプレートに代入される変数のオブジェクト。template_uuidと一緒にのみ使用できます。
batch-send-transactional-email
1 回の Mailtrap API 呼び出しでトランザクションメールのバッチを送信します(デフォルトの送信ストリーム)。共有フィールドは base に、受信者ごとの上書きは requests[] に指定します。各リクエストには、to、cc、または bcc を介して少なくとも 1 人の受信者を含める必要があります。インラインとテンプレートの排他は send-email と同じです。ベースと各リクエストをマージした後にチェックされます。
パラメータ:
base(オプション): バッチ全体で共有されるフィールドを持つオブジェクト。from(オプション): 送信者を{ email, name? }として指定します(実行時には素のメール文字列も受け付けられます)。DEFAULT_FROM_EMAILにフォールバックします。reply_to(オプション): 返信先アドレス。subject/text/html/category(オプション、インラインモード): 各リクエストのデフォルトコンテンツ。template_uuid/template_variables(オプション、テンプレートモード): デフォルトのテンプレートと変数。インラインフィールドとは相互に排他的です。custom_variables(オプション): デフォルトのカスタム変数(文字列値)。headers(オプション): デフォルトのカスタムヘッダー。
requests(必須): 受信者ごとのメッセージの空でない配列。各エントリには以下が含まれます:to(オプション): 受信者の配列を{ email, name? }オブジェクトとして指定します(素のメール文字列、または単一の非配列アドレスも実行時には受け付けられます)。ccまたはbccが指定されている場合はオプションです。to/cc/bccの少なくとも1つに受信者が含まれている必要があります。cc,bcc,reply_to(オプション)。- インライン(
subject/text/html/category)またはテンプレート(template_uuid/template_variables)のオーバーライド。省略されたフィールドは、対応するbaseの値にフォールバックします。 custom_variables,headers(オプション)。
batch-send-bulk-email
Mailtrap のバルクストリーム API を通じて一括メールのバッチを送信します。base + requests[] の形状、検証、インライン対テンプレートのルールは batch-send-transactional-email と同じです。唯一の違いは、このツールがトランザクションエンドポイントではなくバルクエンドポイントを介して呼び出しをルーティングすることです。上記のパラメータを参照してください。
list-email-logs
送信されたメールログ(配信履歴)を、オプションのページネーションとフィルター付きで一覧表示します。IDE から配信の問題をデバッグするために使用します。
パラメータ:
search_after(オプション): 前回のレスポンスのnext_page_cursorからのページネーションカーソルsent_after(オプション): ISO 8601 の日付/時刻。この時刻以降に送信されたログのみsent_before(オプション): ISO 8601 の日付/時刻。この時刻以前に送信されたログのみfrom_email(オプション): 送信者メールでフィルタリング。from_operatorと併用します(デフォルト: ci_equal)to_email(オプション): 受信者メールでフィルタリング。to_operatorと併用します(デフォルト: ci_equal)status(オプション): 配信ステータスでフィルタリング: delivered、not_delivered、enqueued、opted_out。status_operatorと併用します(デフォルト: equal)subject(オプション): メールの件名でフィルタリング。subject_operatorと併用します(デフォルト: ci_contain)。subject_operator: empty/not_empty を使用して件名の有無でフィルタリングします。sending_domain_id(オプション): 送信ドメイン ID(数値)でフィルタリング。sending_domain_id_operatorと併用します(デフォルト: equal)sending_stream(オプション): ストリームでフィルタリング: transactional または bulk。sending_stream_operatorと併用します(デフォルト: equal)events(オプション): イベントタイプでフィルタリング: delivery、open、click、bounce、spam、unsubscribe、soft_bounce、reject、suspension。events_operatorと併用します(include_event / not_include_event)clicks_count/opens_count(オプション): クリック/オープン数でフィルタリング。*_operator: equal、greater_than、less_than と併用しますclient_ip/sending_ip(オプション): IP でフィルタリング。*_operator: equal、not_equal、contain、not_contain と併用しますemail_service_provider_response(オプション): プロバイダーのレスポンステキストでフィルタリング。*_operator(ci_contain など)と併用しますemail_service_provider(オプション): プロバイダー(完全一致)でフィルタリング。*_operator: equal、not_equal と併用しますrecipient_mx(オプション): 受信者 MX でフィルタリング。recipient_mx_operator(ci_contain など)と併用しますcategory(オプション): メールカテゴリでフィルタリング。category_operator: equal、not_equal と併用します
すべてのパラメータはオプションです。
get-email-log-message
ID(UUID)で単一のメールログメッセージを取得します: 読みやすい要約(送信元、送信先、件名、送信時刻、ステータス、カテゴリ、ストリーム、エンゲージメント、配信コンテキスト)、その後に詳細なイベント履歴。オプションで、include_content: true を使用すると、Mailtrap が生のメッセージ URL を公開している場合に、メッセージ本文(HTML とプレーンテキスト)を読み込んで表示することもできます。
パラメータ:
message_id(必須): メールログメッセージの UUID(送信レスポンスまたは list-email-logs から取得)。list-email-logsを使用してメッセージ ID を検索します。include_content(オプション):trueの場合、生の EML(raw_message_urlが利用可能な場合)を取得し、show-sandbox-email-message と同様に、解析された HTML とプレーンテキストの本文セクションを追加します。
get-sending-stats
日付範囲のメール送信統計(配信、バウンス、オープン、クリック、スパム率)を取得します。オプションで、ドメイン、カテゴリ、メールサービスプロバイダー、または日付ごとに内訳を表示できます。エディタを離れずに配信率を確認できます。
パラメータ:
start_date(必須): 統計範囲の開始日(YYYY-MM-DD)end_date(必須): 統計範囲の終了日(YYYY-MM-DD)breakdown(オプション): 統計の内訳方法:aggregated(デフォルト)、by_domain、by_category、by_email_service_provider、またはby_datesending_domain_ids(オプション): 結果をこれらの送信ドメイン ID(整数の配列)に制限sending_streams(オプション):transactionalおよび/またはbulk(文字列の配列)に制限categories(オプション): これらのメールカテゴリ(文字列の配列)に制限email_service_providers(オプション): これらのプロバイダー(例: Google、Yahoo、Outlook)に制限(文字列の配列)
create-template
Mailtrap アカウントに新しいメールテンプレートを作成します。
パラメータ:
name(必須): テンプレートの名前subject(必須): メールの件名html(またはtextが必須): テンプレートの HTML コンテンツtext(またはhtmlが必須): テンプレートのプレーンテキスト版category(オプション): テンプレートのカテゴリ(デフォルトは「General」)
list-templates
Mailtrap アカウント内のすべてのメールテンプレートを一覧表示します。
パラメータ:
- 必要なパラメータはありません
get-template
ID で単一のメールテンプレートを取得します。件名、カテゴリ、HTML/テキスト本文が含まれます。
パラメータ:
template_id(必須): 取得するテンプレートの ID
update-template
既存のメールテンプレートを更新します。
パラメータ:
template_id(必須): 更新するテンプレートの IDname(オプション): テンプレートの新しい名前subject(オプション): 新しいメールの件名html(オプション): テンプレートの新しい HTML コンテンツtext(オプション): テンプレートの新しいプレーンテキスト版category(オプション): テンプレートの新しいカテゴリ
[!NOTE] update-template を呼び出して更新を実行するには、更新可能なフィールド(name、subject、html、text、または category)を少なくとも1つ指定する必要があります。
delete-template
既存のメールテンプレートを削除します。
パラメータ:
template_id(必須): 削除するテンプレートの ID
send-sandbox-email
開発およびテスト目的で Mailtrap のテスト受信トレイにメールを送信します。実際の受信者にメールを送信せずにメールテンプレートをテストするのに最適です。send-email と同じ2つのモードをサポートしています — インラインコンテンツ または テンプレートベース(template_uuid)。
パラメータ:
test_inbox_id(オプション): Mailtrap テスト受信トレイ ID。MAILTRAP_TEST_INBOX_IDが設定されている場合を除き必須です。特定の受信トレイをターゲットにするには、呼び出しごとに渡します。from(オプション): 送信者を{ email, name? }として指定します(実行時には素のメール文字列も受け付けられます)。指定しない場合、DEFAULT_FROM_EMAILが使用されます。to(オプション): 受信者の配列を{ email, name? }オブジェクトとして指定します(配列内の素のメール文字列、または素のメールのカンマ区切り文字列も実行時には受け付けられます)。ccまたはbccが指定されている場合はオプションです。to/cc/bccの少なくとも1つに受信者が含まれている必要があります。cc(オプション): CC 受信者の配列を{ email, name? }オブジェクトとして指定します(実行時には素のメール文字列も受け付けられます)。bcc(オプション): BCC 受信者の配列を{ email, name? }オブジェクトとして指定します(実行時には素のメール文字列も受け付けられます)。subject(条件付き): メールの件名。インライン送信には必須です。template_uuidが設定されている場合は省略する必要があります。text(条件付き): メール本文テキスト。インライン送信には(htmlと併用またはその代わりに)必須です。template_uuidが設定されている場合は省略する必要があります。html(条件付き): メール本文の HTML 版。インライン送信には(textと併用またはその代わりに)必須です。template_uuidが設定されている場合は省略する必要があります。category(オプション): 追跡用のメールカテゴリ。template_uuidが設定されている場合は省略する必要があります。template_uuid(オプション): インラインコンテンツの代わりに Mailtrap メールテンプレートを使用します。設定すると、subject/text/html/categoryを省略する必要があります。template_variables(オプション):template_uuidによって参照されるテンプレートに代入される変数のオブジェクト。template_uuidと一緒にのみ許可されます。
batch-send-sandbox-email
実際の受信者に配信せずに、1回の API 呼び出しで Mailtrap のテスト受信トレイにメールのバッチを送信します。base + requests[] の形状、検証、インライン対テンプレートのルールは batch-send-transactional-email と同じです。違いは、このツールが単一のテスト受信トレイ用にサンドボックスエンドポイントを介して呼び出しをルーティングすることです。
パラメータ:
sandbox_id(オプション): Mailtrap サンドボックス(テスト受信トレイ)ID。MAILTRAP_SANDBOX_IDが設定されている場合を除き必須です。特定のサンドボックスをターゲットにするには、呼び出しごとに渡します。base(オプション)、requests(必須): 上記のbatch-send-transactional-emailを参照してください。
[!NOTE] サンドボックスツールの場合、ツール呼び出しで
test_inbox_idを指定するか、MAILTRAP_TEST_INBOX_ID環境変数を設定します。test_inbox_idを渡すことで、呼び出しごとに受信トレイを切り替えることができます。sandbox_idを受け取るツールは、最初にMAILTRAP_SANDBOX_IDを使用します。
get-sandbox-messages
Mailtrap のテスト受信トレイからメッセージのリストを取得します。テスト中にサンドボックスで受信したメールを確認するのに役立ちます。
パラメータ:
page(オプション): ページネーション用のページ番号(最小: 1)last_id(オプション): 最後のメッセージ ID を使用したページネーション。指定されたメッセージ ID 以降のメッセージを返します(最小: 1)search(オプション): メッセージをフィルタリングする検索クエリ
[!NOTE] すべてのパラメータはオプションです。何も指定しない場合、受信トレイからメッセージの最初のページが返されます。従来のページネーションには page を、カーソルベースのページネーションには last_id を、コンテンツによるメッセージのフィルタリングには search を使用します。
show-sandbox-email-message
Mailtrap のテスト受信トレイから特定のメールメッセージの詳細情報とコンテンツ(HTML およびテキスト本文コンテンツを含む)を表示します。
パラメータ:
message_id(必須): 取得するサンドボックスメールメッセージの ID
[!NOTE] 最初に
get-sandbox-messagesを使用してメッセージとその ID のリストを取得し、次にこのツールを使用して特定のメッセージの完全なコンテンツを表示します。
get-sandbox-project
ID でサンドボックスプロジェクトを取得します。受信トレイとメール数が含まれます。
パラメータ:
project_id(必須): 取得するプロジェクトの ID
update-sandbox-project
既存のサンドボックスプロジェクトの名前を変更します。
パラメータ:
project_id(必須): 更新するプロジェクトの IDname(必須): プロジェクトの新しい名前(2〜100文字)
list-sandboxes
API トークンがアクセスできるすべてのプロジェクトにわたるすべてのサンドボックスを一覧表示します。
パラメータ:
- 必要なパラメータはありません
mark-sandbox-as-read
サンドボックス内のすべてのメッセージを既読としてマークします。
パラメータ:
sandbox_id(必須): 操作対象のサンドボックスの ID
reset-sandbox-credentials
サンドボックスのSMTP認証情報をリセットします。新しいユーザー名/パスワードを返します。
パラメータ:
sandbox_id(必須): 操作対象のサンドボックスのID
enable-sandbox-email-address
サンドボックスのメール受信用アドレスを有効にします(SMTP経由でメッセージをサンドボックスに配信するMailtrapアドレスをオンにします)。
パラメータ:
sandbox_id(必須): 操作対象のサンドボックスのID
reset-sandbox-email-address
サンドボックス用の新しいメール受信用アドレスを生成します。
パラメータ:
sandbox_id(必須): 操作対象のサンドボックスのID
forward-sandbox-message
サンドボックスメッセージを外部メールアドレスに転送します。月間転送クォータにカウントされます。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): 転送するサンドボックスメッセージのIDemail(必須): メッセージの転送先メールアドレス
update-sandbox-message
サンドボックスメッセージを既読または未読にマークします。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): 更新するサンドボックスメッセージのIDis_read(必須):trueは既読、falseは未読にマークします
delete-sandbox-message
単一のサンドボックスメッセージを削除します。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): 削除するサンドボックスメッセージのID
get-sandbox-message-spam-score
サンドボックスメッセージのSpamAssassinスパムレポート(スコア、ルール、完全なレポート)を取得します。include_spam_report: true の show-sandbox-email-message に対するスタンドアロン代替手段です。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): サンドボックスメッセージのID
get-sandbox-message-html-analysis
サンドボックスメッセージのHTML分析レポート(クライアント互換性スコア、問題のある要素)を取得します。include_html_analysis: true の show-sandbox-email-message に対するスタンドアロン代替手段です。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): サンドボックスメッセージのID
get-sandbox-message-headers
サンドボックスメッセージの解析済みメールヘッダーを取得します。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): サンドボックスメッセージのID
get-sandbox-message-html
サンドボックスメッセージのレンダリング済みHTML本文を取得します。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): サンドボックスメッセージのID
get-sandbox-message-text
サンドボックスメッセージのプレーンテキスト本文を取得します。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): サンドボックスメッセージのID
get-sandbox-message-raw
サンドボックスメッセージの生のMIME形式メッセージ(ヘッダー+本文)を取得します。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): サンドボックスメッセージのID
get-sandbox-message-eml
EMLファイルペイロードとしてレンダリングされたメッセージを取得します(チケットへの添付や別のメールクライアントへのインポートに適しています)。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): サンドボックスメッセージのID
get-sandbox-message-html-source
サンドボックスメッセージの未レンダリングのHTMLソースを取得します(CIDリンク書き換えなどのMailtrap側の変換前のHTML)。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): サンドボックスメッセージのID
list-sandbox-attachments
サンドボックスメッセージのすべての添付ファイルを一覧表示します(ファイル名、コンテンツタイプ、サイズ、ダウンロードパス)。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): サンドボックスメッセージのID
get-sandbox-attachment
単一の添付ファイルのメタデータとダウンロードURLを取得します。
パラメータ:
sandbox_id(任意): サンドボックスID。MAILTRAP_SANDBOX_IDにフォールバックします。message_id(必須): 添付ファイルを含むサンドボックスメッセージのIDattachment_id(必須): 取得する添付ファイルのID
list-sending-domains
送信ドメインとそのDNS検証ステータスを一覧表示します。
パラメータ:
- 必要なパラメータはありません
get-sending-domain
IDで送信ドメインとその検証ステータス(DNSレコードを含む)を取得します。include_setup_instructions を true に設定すると、DNS設定手順をオプションで含めることができます。
パラメータ:
sending_domain_id(必須): 送信ドメインIDinclude_setup_instructions(任意):trueの場合、DNS設定手順をレスポンスに追加します。デフォルト:false
create-sending-domain
新しい送信ドメインを作成します。作成後、DNSレコードを追加してドメインを検証します(レコードを確認するには include_setup_instructions: true を指定してget-sending-domainを使用します)。
パラメータ:
domain_name(必須): ドメイン名(例: example.com)
update-sending-domain
送信ドメインのトラッキング設定とインバウンド設定を更新します。
パラメータ:
sending_domain_id(必須): 送信ドメインIDopen_tracking_enabled(任意): このドメインから送信されたメールの開封をトラッキングしますclick_tracking_enabled(任意): このドメインから送信されたメール内のリンクのクリックをトラッキングしますtracking_opt_out_enabled(任意): トラッキング対象のメールにトラッキングオプトアウトリンクを追加します。開封またはクリックのトラッキングが必要ですauto_unsubscribe_link_enabled(任意): メールに購読解除リンクを自動的に追加しますinbound_enabled(任意): ドメインをキャッチオールとしてインバウンド受信トレイに接続できるようにします
sending_domain_id 以外に少なくとも1つの設定を指定する必要があります。
delete-sending-domain
送信ドメインを削除します。
パラメータ:
sending_domain_id(必須): 削除する送信ドメインID
send-sending-domain-setup-instructions
送信ドメインのDNS設定手順を指定したアドレスにメールで送信します。DNSレコードをDevOpsチームメンバーに転送するのに便利です。
パラメータ:
sending_domain_id(必須): 送信ドメインIDemail(必須): DNS設定手順の送信先メールアドレス
get-company-info
ドメインのコンプライアンス検証に使用される、送信ドメインの会社情報を取得します。
パラメータ:
sending_domain_id(必須): 送信ドメインID
create-company-info
ドメインのコンプライアンス検証に必要な、送信ドメインの会社情報を設定します。
パラメータ:
sending_domain_id(必須): 送信ドメインIDname(必須): 会社名または個人名address(必須): 住所city(必須): 市区町村country(必須): 国zip_code(必須): 郵便番号website_url(必須): 会社のウェブサイトURLphone(任意): 電話番号privacy_policy_url(任意): プライバシーポリシーページのURLterms_of_service_url(任意): 利用規約ページのURLinfo_level(任意):businessまたはindividual
update-company-info
送信ドメインの会社情報を更新します。
パラメータ:
sending_domain_id(必須): 送信ドメインID- create-company-infoのすべてのフィールド(すべて任意)。少なくとも1つを指定する必要があります。省略したフィールドは変更されません。
list-suppressions
抑制リスト(ハードバウンス、スパム苦情、購読解除、手動インポート)を一覧表示または検索します。1回の呼び出しで最大1000件の結果を返します。
パラメータ:
email(任意): メールフィルター。このアドレスに一致する抑制のみを返します。
create-suppression
アカウントの抑制リストにメールアドレスを追加して、Mailtrapがそのアドレスへの配信を停止するようにします。
パラメータ:
email(必須): 抑制するメールアドレスdomain_id(必須): 抑制が適用される送信ドメインのIDsending_stream(必須):transactionalまたはbulktype(任意):hard bounce、spam complaint、unsubscription、またはmanual import。デフォルトはmanual import
delete-suppression
IDで抑制を削除します。再度抑制されない限り、Mailtrapはこのメールアドレスへの配信を再開します。
パラメータ:
suppression_id(必須): 削除する抑制のID
list-tracking-opt-outs
開封トラッキングとクリックトラッキングから除外されたメールアドレスを一覧表示します。1回の呼び出しで最大1000件のレコードを返します。
パラメータ:
email(任意): メールフィルター。このアドレスに一致するオプトアウトのみを返しますstart_time(任意): この時刻以降に作成されたオプトアウトのみ(ISO 8601)end_time(任意): この時刻以前に作成されたオプトアウトのみ(ISO 8601)last_id(任意): ページネーションカーソル — 前回のレスポンスのlast_id
create-tracking-opt-out
送信ドメインの開封トラッキングとクリックトラッキングからメールアドレスを除外します。
パラメータ:
email(必須): トラッキングをオプトアウトするメールアドレスdomain_id(必須): オプトアウトが適用される送信ドメインのID
delete-tracking-opt-out
トラッキングオプトアウトリストからメールアドレスを削除して、開封トラッキングとクリックトラッキングが再度適用されるようにします。
パラメータ:
tracking_opt_out_id(必須): 削除するトラッキングオプトアウトのID
list-webhooks
アカウントに設定されているすべてのウェブフックを一覧表示します。完全なウェブフックレコードをJSONとして返します。
パラメータ:
- 必要なパラメータはありません
get-webhook
IDで単一のウェブフックを取得します。完全なウェブフックレコードをJSONとして返します。注: signing_secret はここでは返されません — create-webhook のレスポンスでのみ利用可能です。
パラメータ:
webhook_id(必須): 取得するウェブフックのID
create-webhook
ウェブフックを作成します。レスポンスにはウェブフックのペイロード署名を検証するための signing_secret が含まれます — このシークレットは作成時のみ返されるため、今すぐ保存してください。紛失した場合はウェブフックを再作成してください。
パラメータ:
url(必須): MailtrapがウェブフックイベントをPOSTするURLwebhook_type(必須):"email_sending"、"audit_log"、または"inbound_receiving"active(任意、ブール値): デフォルトはtruepayload_format(任意):"json"または"jsonlines"。デフォルトは"json"sending_stream(任意、email_sendingのみ):"transactional"または"bulk"event_types(任意、email_sendingのみ):delivery、soft_bounce、bounce、suspension、unsubscribe、open、spam_complaint、click、rejectの配列domain_id(任意、email_sendingのみ): このウェブフックをスコープする送信ドメインIDinbound_inbox_id(任意、inbound_receivingのみ): ウェブフックがリンクされているインバウンド受信トレイのID。省略するとアカウント内のすべての受信トレイに適用されます
update-webhook
ウェブフックの変更可能なフィールドを更新します。webhook_type、sending_stream、および domain_id は作成後に変更できません — これらを変更する必要がある場合はウェブフックを再作成してください。
パラメータ:
webhook_id(必須): 更新するウェブフックのIDurl(任意): 新しいウェブフックURLactive(任意、ブール値): ウェブフックを有効または無効にしますpayload_format(任意):"json"または"jsonlines"event_types(任意、email_sendingのみ):delivery、soft_bounce、bounce、suspension、unsubscribe、open、spam_complaint、click、rejectの配列inbound_inbox_id(任意、inbound_receivingのみ): ウェブフックがリンクされているインバウンド受信トレイのID
delete-webhook
IDでウェブフックを完全に削除します。削除されたウェブフックレコードを返します。
パラメータ:
webhook_id(必須): 削除するウェブフックのID
get-contact
IDまたはメールアドレスで連絡先を取得します。完全な連絡先レコード(リストメンバーシップ、ステータス、カスタムフィールド)を返します。
パラメータ:
contact_identifier(必須): 連絡先IDまたはメールアドレス
create-contact
新しい連絡先を作成します。
パラメータ:
email(必須): メールアドレスfields(任意): マージタグをキーとするカスタムフィールド値(例:first_name)。文字列、数値、またはブール値list_ids(任意): この連絡先を購読させる連絡先リストのIDunsubscribed(任意、ブール値): 連絡先をunsubscribedステータスで作成する
update-contact
IDまたはメールアドレスで識別される既存の連絡先を更新します。list_idsは連絡先の完全なメンバーシップセットを置き換え、list_ids_included/list_ids_excludedは他の部分に影響を与えずに追加/削除します。
パラメータ:
contact_identifier(必須): 連絡先IDまたはメールアドレスemail(任意): 新しいメールアドレスfields(任意): マージタグをキーとするカスタムフィールド値list_ids(任意): メンバーシップセットをこの正確なリストに置き換えるlist_ids_included(任意): 追加するリストID(加算的)list_ids_excluded(任意): 削除するリストIDunsubscribed(任意、ブール値):unsubscribed(true) またはsubscribed(false) に設定
delete-contact
IDまたはメールアドレスで連絡先を完全に削除します。APIがレコードを返す場合は削除された連絡先レコードを返し、それ以外の場合は確認ペイロードを返します。
パラメータ:
contact_identifier(必須): 連絡先IDまたはメールアドレス
create-contact-event
連絡先(IDまたはメールアドレスで指定)に対して連絡先イベントを記録します。連絡先リストの自動化をトリガーするために使用されます。
パラメータ:
contact_identifier(必須): 連絡先IDまたはメールアドレスname(必須): イベント名(自動化トリガーと一致)params(必須): 任意のキー/値ペアのオブジェクト。値は文字列、数値、ブール値、またはnullにすることができます
list-contact-lists
アカウントのすべての連絡先リストを一覧表示します。
パラメータ:
search(任意): 名前で連絡先リストをフィルタリング(大文字と小文字を区別しない一致)、例:news
get-contact-list
IDで連絡先リストを取得します。
パラメータ:
list_id(必須): 取得する連絡先リストのID
create-contact-list
新しい連絡先リストを作成します。
パラメータ:
name(必須): 新しいリストの名前
update-contact-list
既存の連絡先リストの名前を変更します。
パラメータ:
list_id(必須): 連絡先リストのIDname(必須): リストの新しい名前
delete-contact-list
IDで連絡先リストを完全に削除します。
パラメータ:
list_id(必須): 削除する連絡先リストのID
list-contact-fields
アカウントのすべての連絡先フィールド定義を一覧表示します。
パラメータ:
- 必要なパラメータはありません
get-contact-field
IDで連絡先フィールド定義を取得します。
パラメータ:
field_id(必須): 連絡先フィールドのID
create-contact-field
新しい連絡先フィールド定義を作成します。merge_tagはアカウント内で一意である必要があり、テンプレート変数のプレースホルダー名として使用されます。
パラメータ:
name(必須): 表示名(例: "名")merge_tag(必須): 一意のプレースホルダー名(例:first_name)data_type(必須):text、number、boolean、dateのいずれか
update-contact-field
連絡先フィールド定義を更新します。name、merge_tag、data_typeの任意の組み合わせを変更できます。
パラメータ:
field_id(必須): 連絡先フィールドのIDname(任意): 新しい表示名merge_tag(任意): 新しいマージタグ(一意のままである必要があります)data_type(任意):text、number、boolean、dateのいずれか
delete-contact-field
IDで連絡先フィールド定義を完全に削除します。
パラメータ:
field_id(必須): 削除する連絡先フィールドのID
create-contact-import
連絡先を一括インポートします。インポートジョブレコードを返します。get-contact-importでステータスをポーリングします。
パラメータ:
contacts(必須): 連絡先エントリの配列。各エントリには以下が必要です:email(必須): 連絡先のメールアドレスfields(任意): マージタグをキーとするカスタムフィールド値(文字列または数値)list_ids_included(任意): 連絡先を追加するリストIDlist_ids_excluded(任意): 連絡先を削除するリストID
get-contact-import
連絡先インポートジョブのステータス(作成済み/開始済み/完了/失敗)を、作成/更新/超過制限のカウントとともに取得します。
パラメータ:
import_id(必須): 連絡先インポートジョブのID
create-contact-export
AND結合されたフィルターのセットに一致する連絡先をエクスポートします。エクスポートジョブレコードを返します。get-contact-exportでステータスをポーリングして、statusがfinishedになったらダウンロードURLを取得します。
パラメータ:
filters(必須): フィルターオブジェクトの配列。各オブジェクトには以下があります:name(必須): フィルタリングするフィールド(list_id、subscription_status、emailなど)operator(必須):equal、not_equal、contains、not_contains、is_empty、is_not_emptyのいずれかvalue(必須): 比較値(文字列、数値、ブール値、または配列)
get-contact-export
連絡先エクスポートジョブのステータスを取得します。statusがfinishedになると、urlフィールドにCSVダウンロードリンクが保持されます。
パラメータ:
export_id(必須): 連絡先エクスポートジョブのID
list-email-campaigns
アカウントのメールキャンペーンを新しい順に、ページトークンページネーション付きで一覧表示します。必要に応じてsearchで名前でフィルタリングします。
パラメータ:
token(任意): 取得するページ番号(ページトークンページネーション)。デフォルトは1per_page(任意): 1ページあたりのキャンペーン数。デフォルトは50、最大100search(任意): 名前でキャンペーンをフィルタリング(大文字と小文字を区別しない部分一致)
get-email-campaign
IDでメールキャンペーンを取得します。
パラメータ:
email_campaign_id(必須): メールキャンペーンのID
create-email-campaign
新しいメールキャンペーンを作成します。キャンペーンは常にdraft状態で作成されます。スケジュールと開始は別のツールです(schedule-email-campaign、start-email-campaign)。
パラメータ:
name(必須): キャンペーン名domain_id(必須): キャンペーンに使用される検証済み送信ドメインのID(送信ドメインエンドポイントによって返されます)from_local_part(必須): Fromアドレスのローカル部分(@の前)template_attributes(必須): インラインのメールテンプレート。以下があります:subject(必須): メールの件名(最大255文字)。マージタグをサポートします(例:Hi {{first_name}})body_html(任意): HTML本文(デザイン)。キャンペーンをスケジュールまたは開始する前に必要です。hrefに__unsubscribe_url__プレースホルダーを含むアンカーを介して購読解除リンクを含めますbody_text(任意): メール本文のプレーンテキスト版merge_tags(任意): 件名/本文で参照されるマージタグのベア名(例:["first_name"])
from_display_name(任意): Fromヘッダーに表示される表示名reply_to(任意): Reply-Toアドレスの部分(display_name、local_part、domain)delivery_mode(任意):rapid(可能な限り高速に送信)またはgradual(delivery_options.emails_per_hourにスロットル)delivery_options(任意): 配信スロットリングオプション(emails_per_hour)contact_list_ids(任意): 送信先の連絡先リストのID(含まれるリストの完全なセットとして扱われます)contact_segment_ids(任意): 送信先の連絡先セグメントのID(含まれるセグメントの完全なセットとして扱われます)
update-email-campaign
draftメールキャンペーンを更新します。指定されたフィールドのみが変更されます。テンプレートはその場で編集されます。他の状態のキャンペーンは更新できません。
パラメータ:
email_campaign_id(必須): 更新するメールキャンペーンのID- 他のすべてのパラメータは任意で、
create-email-campaignと同じです(name、domain_id、from_local_part、from_display_name、reply_to、template_attributes、delivery_mode、delivery_options、contact_list_ids、contact_segment_ids)
delete-email-campaign
IDでメールキャンペーンを削除します。draft状態のキャンペーンのみ削除できます。
パラメータ:
email_campaign_id(必須): 削除するメールキャンペーンのID
start-email-campaign
draftメールキャンペーンの送信をすぐに開始します。draftキャンペーンのみ開始できます。テンプレートにはbody_htmlデザインが必要で、オーディエンスと検証済み送信ドメインが設定されている必要があります。
パラメータ:
email_campaign_id(必須): 開始するメールキャンペーンのID
schedule-email-campaign
draftメールキャンペーンを将来の時間に送信を開始するようにスケジュールします。draftキャンペーンのみスケジュールできます。
パラメータ:
email_campaign_id(必須): スケジュールするメールキャンペーンのIDdatetime(必須): キャンペーンを送信する日時(ISO 8601)。将来である必要があり、1か月以内である必要があります
cancel-email-campaign
scheduledメールキャンペーンをキャンセルし、draftに戻します。scheduledキャンペーンのみキャンセルできます。
パラメータ:
email_campaign_id(必須): キャンセルするメールキャンペーンのID
terminate-email-campaign
現在送信中のメールキャンペーン(started、queued、またはpaused)を終了し、進行中の送信を中止します。
パラメータ:
email_campaign_id(必須): 終了するメールキャンペーンのID
reset-email-campaign
scheduledメールキャンペーンをdraftにリセットします。scheduledキャンペーンのみリセットできます。
パラメータ:
email_campaign_id(必須): リセットするメールキャンペーンのID
get-email-campaign-stats
メールキャンペーンの集計パフォーマンス統計(配信、開封、クリック、バウンス、スパム苦情、購読解除のカウントと率)を取得します。
パラメータ:
email_campaign_id(必須): メールキャンペーンのIDstart_date(任意): 集計ウィンドウの開始(包括的)、YYYY-MM-DD。デフォルトはキャンペーンが最後に開始された日end_date(任意): 集計ウィンドウの終了(包括的)、YYYY-MM-DD。デフォルトは現在の日付
list-accounts
現在のAPIトークンがアクセスできるMailtrapアカウントを、各アカウントのアクセスレベルとともに一覧表示します。
パラメータ:
- 必要なパラメータはありません
get-billing-usage
アカウントの現在の請求サイクル使用量を取得します: 送信およびテストプラン、制限、現在のカウント。
パラメータ:
- 必要なパラメータはありません
list-account-accesses
アカウントのアカウントアクセス(ユーザー、招待、APIトークン)を一覧表示します。オプションのフィルターで結果を特定のリソースに絞り込みます。アカウントの管理者/所有者権限が必要です。
パラメータ:
domain_uuids(任意): 送信ドメインUUIDでフィルタリング(文字列の配列)inbox_ids(任意): サンドボックス受信トレイIDでフィルタリング(文字列の配列)project_ids(任意): サンドボックスプロジェクトIDでフィルタリング(文字列の配列)
remove-account-access
IDでアカウントアクセスを削除します。User指定子の場合、権限を取り消します。InviteまたはApiToken指定子の場合、指定子を完全に削除します。管理者/所有者が必要です。
パラメータ:
account_access_id(必須): 削除するアクセスレコードのID
get-permission-resources
APIトークンが管理者アクセス権を持つすべてのリソース(受信トレイ、プロジェクト、ドメイン、請求、アカウント)を階層ごとにネストして取得します。
パラメータ:
- 必要なパラメータはありません
bulk-update-permissions
単一のアカウントアクセスに対する権限を一括作成、更新、または削除します。既存の (resource_type, resource_id) ペアは更新され、新しいものは作成されます。エントリに destroy: true を設定すると、そのエントリは削除されます。
パラメータ:
account_access_id(必須): 対象のアカウントアクセスIDpermissions(必須): 権限エントリの配列。各エントリには以下が含まれます:resource_id(必須): リソースID(数値または文字列)resource_type(必須):account、project、inbox、domain、billingのいずれかaccess_level(任意):admin/100またはviewer/10destroy(任意、ブール値): trueの場合、この権限を作成/更新する代わりに削除します
list-api-tokens
アカウントのすべてのAPIトークンを一覧表示します。
パラメータ:
- パラメータは不要です
create-api-token
新しいAPIトークンを作成します。レスポンスにはシークレットの token 値が含まれます。これは完全なトークンが返される唯一の機会なので、すぐに保存してください。失くした場合はトークンを再作成してください。
パラメータ:
name(必須): トークンの表示名expires_at(任意): ISO 8601 日時形式のトークン有効期限。省略するとサーバーのデフォルト(1年)が適用されます。期限なしのトークンには明示的にnullを渡します。過去の日時や5年以上先の日時は拒否されますresources(任意): トークンをスコープするリソース権限の配列。各エントリには以下が含まれます:resource_type(必須):account、project、inbox、domain、billingのいずれかresource_id(必須): リソースのIDaccess_level(必須):100(管理者)または10(閲覧者)
get-api-token
IDでAPIトークンを取得します。メタデータのみが返されます。シークレットのトークン値はここでは返されません(create-api-token / reset-api-token からのみ返されます)。
パラメータ:
api_token_id(必須): APIトークンのID
reset-api-token
IDでAPIトークンをリセット(ローテーション)します。レスポンスには新しいシークレットの token 値が含まれます。これはこの呼び出しでのみ返されるため、すぐに保存してください。以前のトークンは無効になります。
パラメータ:
api_token_id(必須): リセットするAPIトークンのIDexpires_at(任意): 新しいトークンの有効期限(ISO 8601 日時形式)。省略するとサーバーのデフォルト(1年)が適用されます。期限なしのトークンには明示的にnullを渡します。過去の日時や5年以上先の日時は拒否されます
delete-api-token
IDでAPIトークンを完全に削除します。削除後、そのトークンは認証に使用できなくなります。
パラメータ:
api_token_id(必須): 削除するAPIトークンのID
list-sub-accounts
組織内のサブアカウントを一覧表示します。MAILTRAP_ORGANIZATION_ID 環境変数とサブアカウント管理権限が必要です。
パラメータ:
- パラメータは不要です
create-sub-account
組織の下に新しいサブアカウントを作成します。MAILTRAP_ORGANIZATION_ID 環境変数とサブアカウント管理権限が必要です。
パラメータ:
name(必須): 新しいサブアカウントの表示名
list-inbound-folders
アカウント内のすべてのインバウンドフォルダを一覧表示します。フォーマットされたサマリーを返します。
パラメータ:
- パラメータは不要です
get-inbound-folder
IDで単一のインバウンドフォルダを取得します。完全なフォルダレコードをJSONとして返します。
パラメータ:
folder_id(必須): インバウンドフォルダのID
create-inbound-folder
新しいインバウンドフォルダを作成します。
パラメータ:
name(必須): フォルダ名
update-inbound-folder
インバウンドフォルダの名前を変更します。
パラメータ:
folder_id(必須): インバウンドフォルダのIDname(必須): 新しいフォルダ名
delete-inbound-folder
インバウンドフォルダをそのすべてのインボックスとともに完全に削除します。
パラメータ:
folder_id(必須): インバウンドフォルダのID
list-inbound-inboxes
インバウンドフォルダ内のすべてのインボックスを一覧表示します。フォーマットされたサマリーを返します。
パラメータ:
folder_id(必須): インバウンドフォルダのID
get-inbound-inbox
IDで単一のインバウンドインボックスを取得します。完全なインボックスレコードをJSONとして返します。
パラメータ:
folder_id(必須): インバウンドフォルダのIDinbox_id(必須): インボックスのID
create-inbound-inbox
フォルダ内に新しいインバウンドインボックスを作成します。
パラメータ:
folder_id(必須): インバウンドフォルダのIDname(必須): インボックス名domain_id(任意): カスタム送信ドメインに接続します(キャッチオールインボックス)。省略するとMailtrapホスト型インボックスになります
update-inbound-inbox
インバウンドインボックスの名前を変更します。
パラメータ:
folder_id(必須): インバウンドフォルダのIDinbox_id(必須): インボックスのIDname(必須): 新しいインボックス名
delete-inbound-inbox
インバウンドインボックスを完全に削除します。
パラメータ:
folder_id(必須): インバウンドフォルダのIDinbox_id(必須): インボックスのID
list-inbound-messages
インバウンドインボックス内の受信メッセージを一覧表示します(カーソルページネーション)。結果がさらに存在する場合は、次ページのヒント付きのフォーマットされたサマリーを返します。
パラメータ:
inbox_id(必須): インボックスのIDlast_id(任意): 前回のレスポンスのlast_idからのページネーションカーソル
get-inbound-message
完全な本文と添付ファイルのダウンロードURLを含む単一のインバウンドメッセージを取得します。完全なメッセージレコードをJSONとして返します。
パラメータ:
inbox_id(必須): インボックスのIDmessage_id(必須): メッセージのID
delete-inbound-message
インバウンドメッセージを完全に削除します。
パラメータ:
inbox_id(必須): インボックスのIDmessage_id(必須): メッセージのID
reply-to-inbound-message
インバウンドメッセージに返信します(元の送信者に送信されます)。実際のメールを送信します。アドレスは、メールアドレスの文字列または { email, name? } を受け入れます。
パラメータ:
inbox_id(必須): インボックスのIDmessage_id(必須): 返信先のメッセージのIDtext/html(少なくとも1つ推奨): 返信本文from(任意): 送信者。Mailtrapホスト型インボックスでは拒否されます。カスタムドメインのインボックスでは必須ですcc/bcc/reply_to(任意): 追加のアドレスcategory(任意): メッセージカテゴリattachments(任意):{ content (base64), filename, type?, disposition?, content_id? }の配列headers/custom_variables(任意): 文字列値のオブジェクト
reply-all-to-inbound-message
インバウンドメッセージに返信し、元のメッセージの他の受信者にもコピーを送信します。実際のメールを送信します。パラメータは reply-to-inbound-message と同じです。
パラメータ:
inbox_id(必須): インボックスのIDmessage_id(必須): 返信先のメッセージのID- さらに、
reply-to-inbound-messageと同じ任意の送信フィールド
forward-inbound-message
インバウンドメッセージを新しい受信者に転送します。実際のメールを送信します。
パラメータ:
inbox_id(必須): インボックスのIDmessage_id(必須): 転送するメッセージのIDto(必須): 少なくとも1人の受信者(メールアドレスの文字列または{ email, name? }、または配列)- さらに、
reply-to-inbound-messageと同じ任意の送信フィールド
list-inbound-threads
インバウンドインボックス内の会話スレッドを一覧表示します(カーソルページネーション)。結果がさらに存在する場合は、次ページのヒント付きのフォーマットされたサマリーを返します。
パラメータ:
inbox_id(必須): インボックスのIDlast_id(任意): 前回のレスポンスのlast_idからのページネーションカーソル
get-inbound-thread
メッセージが埋め込まれた単一のインバウンドスレッドを取得します(古い順)。完全なスレッドレコードをJSONとして返します。
パラメータ:
inbox_id(必須): インボックスのIDthread_id(必須): スレッドのID
delete-inbound-thread
インバウンドスレッドを完全に削除します。
パラメータ:
inbox_id(必須): インボックスのIDthread_id(必須): スレッドのID
開発
- リポジトリをクローンします:
git clone https://github.com/mailtrap/mailtrap-mcp.git
cd mailtrap-mcp
- 依存関係をインストールします:
npm install
Claude Desktop または Cursor での設定
[!TIP] 設定ファイルの場所については、セットアップ セクションを参照してください。
次の設定を追加します:
{
"mcpServers": {
"mailtrap": {
"command": "node",
"args": ["/path/to/mailtrap-mcp/dist/index.js"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
Node.jsの管理に asdf を使用している場合は、実行可能ファイルへの絶対パスを使用する必要があります:
(Macの例)
{
"mcpServers": {
"mailtrap": {
"command": "/Users/<username>/.asdf/shims/node",
"args": ["/path/to/mailtrap-mcp/dist/index.js"],
"env": {
"PATH": "/Users/<username>/.asdf/shims:/usr/bin:/bin",
"ASDF_DIR": "/opt/homebrew/opt/asdf/libexec",
"ASDF_DATA_DIR": "/Users/<username>/.asdf",
"ASDF_NODEJS_VERSION": "20.6.1",
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
VS Code
[!TIP] 設定ファイルの場所については、セットアップ セクションを参照してください。
{
"mcp": {
"servers": {
"mailtrap": {
"command": "node",
"args": ["/path/to/mailtrap-mcp/dist/index.js"],
"env": {
"MAILTRAP_API_TOKEN": "your_mailtrap_api_token",
"DEFAULT_FROM_EMAIL": "your_sender@example.com",
"MAILTRAP_ACCOUNT_ID": "your_account_id",
"MAILTRAP_TEST_INBOX_ID": "your_test_inbox_id"
}
}
}
}
}
テスト
実際のMailtrapに対してツールを実行する
実際のMailtrapアカウントに対してツールをエンドツーエンドで実行するには、2つの方法があります: 対話的な探索用の MCP Inspector ブラウザUI、またはシェルからのワンショット呼び出し用のCLIモードです。
どちらの場合も、最初にバンドルをビルドする必要があります:
npm run build
そして、シェルで MAILTRAP_API_TOKEN と MAILTRAP_ACCOUNT_ID をエクスポートします(mcp:cli スクリプトは両方を起動したサーバーに転送します)。
ブラウザUI
npm run dev
Inspectorは http://localhost:6274 のようなURLを出力します。それを開き、Tools タブに切り替え、ツール(例: get-template)を選択し、パラメータをJSONとして入力して Run をクリックします。Mailtrapのレスポンスが下のパネルに表示されます。
CLI
UIなしでワンショット呼び出しを行うには、npm run mcp:cli を使用します。InspectorのCLIフラグを -- の後に渡して、npmがそのまま転送するようにします:
# List all tools
npm run mcp:cli -- --method tools/list
# Call a tool — flags after the `--`
npm run mcp:cli -- \
--method tools/call \
--tool-name get-template \
--tool-arg template_id=12345
# Multiple --tool-arg flags for tools with several params
npm run mcp:cli -- \
--method tools/call \
--tool-name send-sending-domain-setup-instructions \
--tool-arg sending_domain_id=3938 \
--tool-arg email=devops@example.com
MCPBサーバーの実行
# Run the MCPB server directly
node dist/mcpb-server.js
# Or use the provided binary
mailtrap-mcpb-server
[!TIP] MCP Inspectorでの開発用:
npm run dev:mcpb
エラーハンドリング
このサーバーは、MCPの規約に沿った構造化エラーハンドリングを使用します:
VALIDATION_ERROR: 入力検証の失敗CONFIGURATION_ERROR: 設定の欠落または無効EXECUTION_ERROR: ランタイム実行エラーTIMEOUT: 操作のタイムアウト(デフォルト30秒)
エラーには実用的なメッセージが含まれ、構造化された形式でログに記録されます。
セキュリティ
- Zodスキーマによる入力検証
- 環境変数の安全な処理
- 操作のタイムアウト保護(30秒)
- エラー出力での機密詳細のサニタイズ
ロギング
INFO、WARN、ERROR、DEBUGのレベルを持つ構造化JSONログ。
DEBUG=true を設定してデバッグロギングを有効にします。
# Example: enable debug logging
DEBUG=true node dist/mcpb-server.js
重要: サーバーはログをstderrに書き込むため、stdoutはJSON-RPCフレーム用に予約されています。これにより、ログのインターリーブによるJSON解析エラーをホストが回避できます。
jq を使用したログ分析の例:
# Filter error logs
node dist/mcpb-server.js 2>&1 | jq 'select(.level == "error")'
# Filter debug logs
node dist/mcpb-server.js 2>&1 | jq 'select(.level == "debug")'
トラブルシューティング
一般的な問題:
- APIトークンの欠落:
MAILTRAP_API_TOKENが設定されていることを確認してください - サンドボックスが機能しない: ツール呼び出しで
test_inbox_idを指定するか、MAILTRAP_TEST_INBOX_ID環境変数を設定してください - タイムアウトエラー: ネットワーク接続とMailtrap APIのステータスを確認してください
- 検証エラー: すべての必須フィールドが指定されていることを確認してください
貢献
バグ報告とプルリクエストは GitHub で歓迎します。このプロジェクトは、安全で歓迎的なコラボレーションの場となることを目的としており、貢献者は 行動規範 を遵守することが期待されています。
ライセンス
このパッケージは、MITライセンス の条件に基づいてオープンソースとして利用できます。
行動規範
Mailtrapプロジェクトのコードベース、イシュートラッカー、チャットルーム、メーリングリストでやり取りするすべての人は、行動規範 に従うことが期待されています。