accueil / serveurs / Communication / io.mailtrap/mcp
io.mailtrap/mcp
serveur MCP (Model Context Protocol)
Aucun comportement malveillant détecté au test comportemental.
Est-ce que io.mailtrap/mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.mailtrap/mcp » est classé « Vérifié ». Aucun comportement malveillant détecté au test comportemental. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Versions auditées & empreintes
Vérifiez la version que vous utilisez : son empreinte doit correspondre à celle listée ici — sinon vous n'utilisez pas la version auditée.
⚠ La dernière version publiée (0.10.0) n'a pas encore été auditée. Un nouveau pentest est programmé ; les verdicts ci-dessous portent sur les versions listées.
Vous utilisez ce serveur ? Suivez-le (créez un compte) pour être alerté dès qu'une nouvelle version paraît ou que le verdict change.
Les 125 outils
- send-email≈ 803 tokens
Send an email to your recipient email address using Mailtrap Email API. You can send emails to multiple recipients at once.
Paramètres, retour & exemple (10)
Paramètrescc· array · optionnel
Optional CC recipients as `{ email, name? }` objects (bare email strings also accepted)to· array · optionnel
Recipients as an array of `{ email, name? }` objects (bare email strings are also accepted as items). Optional if `cc` or `bcc` is provided; at least one of `to`/`cc`/`bcc` must contain a recipient.bcc· array · optionnel
Optional BCC recipients as `{ email, name? }` objects (bare email strings also accepted)from· object · optionnel
Sender as `{ email, name? }` (a bare email string is also accepted). Omit if `DEFAULT_FROM_EMAIL` is set.html· string · optionnel
Optional HTML version of the email body. Must be omitted when `template_uuid` is set.text· string · optionnel
Email body text. Required (alongside or instead of `html`) for inline sends; must be omitted when `template_uuid` is set.subject· string · optionnel
Email subject line. Required for inline (text/html) sends; must be omitted when `template_uuid` is set.category· string · optionnel
Optional email category for tracking. Must be omitted when `template_uuid` is set.template_uuid· string · optionnel
Use a Mailtrap email template instead of inline content. When set, `subject`, `text`, `html`, and `category` must be omitted (per Mailtrap API).template_variables· object · optionnel
Variables substituted into the template referenced by `template_uuid`. Only allowed together with `template_uuid`; rejected otherwise.
Exemple d'appel{"name": "send-email", "arguments": {"cc": [], "to": [], "bcc": [], "from": {}, "html": "texte", "text": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - batch-send-transactional-email≈ 1406 tokens
Send a batch of transactional emails in one Mailtrap API call. Shared fields go on `base`; per-recipient overrides go in `requests[]`. Each request must include `to`.
Paramètres, retour & exemple (2)
Paramètresbase· object · optionnel
Shared fields applied to every request in the batch. Each request can override individual fields.requests· array · requis
Per-recipient messages. Each request must include at least one recipient via `to`, `cc`, or `bcc`; other fields override `base`.
Exemple d'appel{"name": "batch-send-transactional-email", "arguments": {"requests": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - batch-send-bulk-email≈ 1412 tokens
Send a batch of bulk emails (Mailtrap bulk-stream API) in one call. Shared fields go on `base`; per-recipient overrides go in `requests[]`. Each request must include at least one of `to`/`cc`/`bcc`.
Paramètres, retour & exemple (2)
Paramètresbase· object · optionnel
Shared fields applied to every request in the batch. Each request can override individual fields.requests· array · requis
Per-recipient messages. Each request must include at least one recipient via `to`, `cc`, or `bcc`; other fields override `base`.
Exemple d'appel{"name": "batch-send-bulk-email", "arguments": {"requests": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-template≈ 151 tokens
Create a new email template
Paramètres, retour & exemple (5)
Paramètreshtml· string · optionnel
HTML content of the template (optional)name· string · requis
Name of the templatetext· string · optionnel
Plain text version of the template (optional)subject· string · requis
Email subject linecategory· string · optionnel
Template category (optional, defaults to 'General')
Exemple d'appel{"name": "create-template", "arguments": {"name": "texte", "subject": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-templates≈ 38 tokens
List all email templates
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list-templates", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-template≈ 80 tokens
Get a single email template by ID, including subject, category, and HTML/text body.
Paramètres, retour & exemple (1)
Paramètrestemplate_id· number · requis
ID of the template to fetch
Exemple d'appel{"name": "get-template", "arguments": {"template_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-template≈ 165 tokens
Update an existing email template
Paramètres, retour & exemple (6)
Paramètreshtml· string · optionnel
New HTML content of the templatename· string · optionnel
New name for the templatetext· string · optionnel
New plain text version of the templatesubject· string · optionnel
New email subject linecategory· string · optionnel
New category for the templatetemplate_id· number · requis
ID of the template to update
Exemple d'appel{"name": "update-template", "arguments": {"template_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-template≈ 68 tokens
Delete an existing email template
Paramètres, retour & exemple (1)
Paramètrestemplate_id· number · requis
ID of the template to delete
Exemple d'appel{"name": "delete-template", "arguments": {"template_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send-sandbox-email≈ 847 tokens
Send an email in sandbox mode to a test inbox without delivering to your recipients
Paramètres, retour & exemple (11)
Paramètrescc· array · optionnel
Optional CC recipients as `{ email, name? }` objects (bare email strings also accepted)to· array · optionnel
Recipients as an array of `{ email, name? }` objects (bare email strings as items, or a comma-separated string of plain emails, are also accepted). Optional if `cc` or `bcc` is provided; at least one of `to`/`cc`/`bcc` must contain a recipient.bcc· array · optionnel
Optional BCC recipients as `{ email, name? }` objects (bare email strings also accepted)from· object · optionnel
Sender as `{ email, name? }` (a bare email string is also accepted). Omit if `DEFAULT_FROM_EMAIL` is set.html· string · optionnel
Optional HTML version of the email body. Must be omitted when `template_uuid` is set.text· string · optionnel
Email body text. Required (alongside or instead of `html`) for inline sends; must be omitted when `template_uuid` is set.subject· string · optionnel
Email subject line. Required for inline (text/html) sends; must be omitted when `template_uuid` is set.category· string · optionnel
Optional email category for tracking. Must be omitted when `template_uuid` is set.template_uuid· string · optionnel
Use a Mailtrap email template instead of inline content. When set, `subject`, `text`, `html`, and `category` must be omitted (per Mailtrap API).test_inbox_id· number · optionnel
Mailtrap test inbox ID. Optional if MAILTRAP_TEST_INBOX_ID env var is set. Use to target a specific inbox.template_variables· object · optionnel
Variables substituted into the template referenced by `template_uuid`. Only allowed together with `template_uuid`; rejected otherwise.
Exemple d'appel{"name": "send-sandbox-email", "arguments": {"cc": [], "to": [], "bcc": [], "from": {}, "html": "texte", "text": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - batch-send-sandbox-email≈ 1458 tokens
Send a batch of emails in sandbox mode to a test inbox in one Mailtrap API call. Shared fields go on `base`; per-recipient overrides go in `requests[]`. Requires `sandbox_id` or the MAILTRAP_SANDBOX_ID env var.
Paramètres, retour & exemple (3)
Paramètresbase· object · optionnel
Shared fields applied to every request in the batch. Each request can override individual fields.requests· array · requis
Per-recipient messages. Each request must include at least one recipient via `to`, `cc`, or `bcc`; other fields override `base`.sandbox_id· number · optionnel
Mailtrap sandbox (test inbox) ID. Optional if MAILTRAP_SANDBOX_ID env var is set. Use to target a specific sandbox.
Exemple d'appel{"name": "batch-send-sandbox-email", "arguments": {"requests": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-messages≈ 168 tokens
Get list of messages from the sandbox test inbox
Paramètres, retour & exemple (4)
Paramètrespage· number · optionnel
Page number for paginationsearch· string · optionnel
Search query to filter messageslast_id· number · optionnel
Pagination using last message ID. Returns messages after the specified message ID.test_inbox_id· number · optionnel
Mailtrap test inbox ID. Optional if MAILTRAP_TEST_INBOX_ID env var is set. Use to target a specific inbox.
Exemple d'appel{"name": "get-sandbox-messages", "arguments": {"page": 1, "search": "texte", "last_id": 1, "test_inbox_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - show-sandbox-email-message≈ 250 tokens
Show sandbox email message details and content from the sandbox test inbox. Optionally include spam report (SpamAssassin score) and HTML analysis (client compatibility) for email testing workflows.
Paramètres, retour & exemple (4)
Paramètresmessage_id· number · requis
ID of the sandbox email message to retrievetest_inbox_id· number · optionnel
Mailtrap test inbox ID. Optional if MAILTRAP_TEST_INBOX_ID env var is set. Use to target a specific inbox.include_spam_report· boolean · optionnel
When true, include spam report (SpamAssassin score and details). Critical for deliverability testing.include_html_analysis· boolean · optionnel
When true, include HTML analysis (client compatibility, problematic elements). Critical for email client testing.
Exemple d'appel{"name": "show-sandbox-email-message", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-sandbox-projects≈ 55 tokens
List all sandbox projects and their inboxes in your Mailtrap account
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list-sandbox-projects", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-sandbox-project≈ 82 tokens
Create a new sandbox project to group test inboxes
Paramètres, retour & exemple (1)
Paramètresname· string · requis
Name of the project (2–100 characters)
Exemple d'appel{"name": "create-sandbox-project", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-project≈ 76 tokens
Get a sandbox project by ID, including its inboxes and email counts
Paramètres, retour & exemple (1)
Paramètresproject_id· number · requis
ID of the project to fetch
Exemple d'appel{"name": "get-sandbox-project", "arguments": {"project_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-sandbox-project≈ 102 tokens
Rename an existing sandbox project
Paramètres, retour & exemple (2)
Paramètresname· string · requis
New name for the project (2–100 characters)project_id· number · requis
ID of the project to update
Exemple d'appel{"name": "update-sandbox-project", "arguments": {"name": "texte", "project_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-sandbox-project≈ 72 tokens
Delete a sandbox project and all its inboxes
Paramètres, retour & exemple (1)
Paramètresproject_id· number · requis
ID of the project to delete
Exemple d'appel{"name": "delete-sandbox-project", "arguments": {"project_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-sandbox-inbox≈ 105 tokens
Create a new sandbox test inbox within a project. Returns SMTP credentials for the new inbox.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
Name of the inboxproject_id· number · requis
ID of the project to create the inbox in
Exemple d'appel{"name": "create-sandbox-inbox", "arguments": {"name": "texte", "project_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-inbox≈ 88 tokens
Get sandbox inbox details including SMTP credentials, email counts, and status
Paramètres, retour & exemple (1)
Paramètresinbox_id· number · optionnel
ID of the sandbox inbox. Optional if MAILTRAP_TEST_INBOX_ID env var is set.
Exemple d'appel{"name": "get-sandbox-inbox", "arguments": {"inbox_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-sandbox-inbox≈ 112 tokens
Update a sandbox inbox name or email username
Paramètres, retour & exemple (3)
Paramètresname· string · optionnel
New name for the inboxinbox_id· number · requis
ID of the sandbox inbox to updateemail_username· string · optionnel
New email username for the inbox
Exemple d'appel{"name": "update-sandbox-inbox", "arguments": {"inbox_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-sandbox-inbox≈ 72 tokens
Delete a sandbox inbox and all its messages
Paramètres, retour & exemple (1)
Paramètresinbox_id· number · requis
ID of the sandbox inbox to delete
Exemple d'appel{"name": "delete-sandbox-inbox", "arguments": {"inbox_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clean-sandbox-inbox≈ 86 tokens
Delete all messages from a sandbox inbox without deleting the inbox itself
Paramètres, retour & exemple (1)
Paramètresinbox_id· number · requis
ID of the sandbox inbox to clean (delete all messages from)
Exemple d'appel{"name": "clean-sandbox-inbox", "arguments": {"inbox_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-sandboxes≈ 48 tokens
List all sandboxes accessible to the API token across projects
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list-sandboxes", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mark-sandbox-as-read≈ 70 tokens
Mark all messages in a sandbox as read
Paramètres, retour & exemple (1)
Paramètressandbox_id· number · requis
ID of the sandbox to act on
Exemple d'appel{"name": "mark-sandbox-as-read", "arguments": {"sandbox_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - reset-sandbox-credentials≈ 72 tokens
Reset the SMTP credentials for a sandbox
Paramètres, retour & exemple (1)
Paramètressandbox_id· number · requis
ID of the sandbox to act on
Exemple d'appel{"name": "reset-sandbox-credentials", "arguments": {"sandbox_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - enable-sandbox-email-address≈ 74 tokens
Enable the receive-by-email address for a sandbox
Paramètres, retour & exemple (1)
Paramètressandbox_id· number · requis
ID of the sandbox to act on
Exemple d'appel{"name": "enable-sandbox-email-address", "arguments": {"sandbox_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - reset-sandbox-email-address≈ 75 tokens
Generate a new receive-by-email address for a sandbox
Paramètres, retour & exemple (1)
Paramètressandbox_id· number · requis
ID of the sandbox to act on
Exemple d'appel{"name": "reset-sandbox-email-address", "arguments": {"sandbox_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - forward-sandbox-message≈ 144 tokens
Forward a sandbox message to an email address (counts against your monthly forwarding quota)
Paramètres, retour & exemple (3)
Paramètresemail· string · requis
Email address to forward the message tomessage_id· number · requis
ID of the sandbox message to forwardsandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "forward-sandbox-message", "arguments": {"email": "texte", "message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-sandbox-message≈ 130 tokens
Mark a sandbox message as read or unread
Paramètres, retour & exemple (3)
Paramètresis_read· boolean · requis
Mark the message as read (true) or unread (false)message_id· number · requis
ID of the sandbox message to updatesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "update-sandbox-message", "arguments": {"is_read": true, "message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-sandbox-message≈ 98 tokens
Delete a single sandbox message
Paramètres, retour & exemple (2)
Paramètresmessage_id· number · requis
ID of the sandbox messagesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "delete-sandbox-message", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-message-spam-score≈ 111 tokens
Get the SpamAssassin spam report for a sandbox message (score, rules, report).
Paramètres, retour & exemple (2)
Paramètresmessage_id· number · requis
ID of the sandbox messagesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "get-sandbox-message-spam-score", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-message-html-analysis≈ 114 tokens
Get HTML analysis for a sandbox message (client compatibility, problematic elements).
Paramètres, retour & exemple (2)
Paramètresmessage_id· number · requis
ID of the sandbox messagesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "get-sandbox-message-html-analysis", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-message-headers≈ 104 tokens
Get the parsed mail headers for a sandbox message.
Paramètres, retour & exemple (2)
Paramètresmessage_id· number · requis
ID of the sandbox messagesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "get-sandbox-message-headers", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-message-html≈ 102 tokens
Get the rendered HTML body of a sandbox message.
Paramètres, retour & exemple (2)
Paramètresmessage_id· number · requis
ID of the sandbox messagesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "get-sandbox-message-html", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-message-text≈ 102 tokens
Get the plain-text body of a sandbox message.
Paramètres, retour & exemple (2)
Paramètresmessage_id· number · requis
ID of the sandbox messagesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "get-sandbox-message-text", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-message-raw≈ 105 tokens
Get the raw message (MIME-formatted) for a sandbox message.
Paramètres, retour & exemple (2)
Paramètresmessage_id· number · requis
ID of the sandbox messagesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "get-sandbox-message-raw", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-message-eml≈ 101 tokens
Get a sandbox message as an EML file payload.
Paramètres, retour & exemple (2)
Paramètresmessage_id· number · requis
ID of the sandbox messagesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "get-sandbox-message-eml", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-message-html-source≈ 105 tokens
Get the unrendered HTML source of a sandbox message.
Paramètres, retour & exemple (2)
Paramètresmessage_id· number · requis
ID of the sandbox messagesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "get-sandbox-message-html-source", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-sandbox-attachments≈ 101 tokens
List all attachments on a sandbox message.
Paramètres, retour & exemple (2)
Paramètresmessage_id· number · requis
ID of the sandbox messagesandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.
Exemple d'appel{"name": "list-sandbox-attachments", "arguments": {"message_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sandbox-attachment≈ 139 tokens
Get the metadata and download URL for a single sandbox attachment.
Paramètres, retour & exemple (3)
Paramètresmessage_id· number · requis
ID of the sandbox message that contains the attachmentsandbox_id· number · optionnel
Sandbox ID. Falls back to MAILTRAP_SANDBOX_ID env var if omitted.attachment_id· number · requis
ID of the attachment to fetch
Exemple d'appel{"name": "get-sandbox-attachment", "arguments": {"message_id": 1, "attachment_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sending-stats≈ 370 tokens
Get email sending statistics (delivery, bounce, open, click, spam rates) for a date range. Optionally break down by domain, category, email service provider, or date.
Paramètres, retour & exemple (7)
Paramètresend_date· string · requis
End date for the stats range (YYYY-MM-DD)breakdown· string · optionnel · aggregated | by_domain | by_category | by_email_service_provider | by_date
How to break down the stats: aggregated (default), by_domain, by_category, by_email_service_provider, or by_datecategories· array · optionnel
Optional filter: limit to these email categoriesstart_date· string · requis
Start date for the stats range (YYYY-MM-DD)sending_streams· array · optionnel
Optional filter: limit to transactional and/or bulk streamsending_domain_ids· array · optionnel
Optional filter: limit to these sending domain IDsemail_service_providers· array · optionnel
Optional filter: limit to these email service providers (e.g. Google, Yahoo, Outlook)
Exemple d'appel{"name": "get-sending-stats", "arguments": {"end_date": "texte", "start_date": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-email-logs≈ 1722 tokens
List sent email logs (delivery history) with optional pagination and filters; use to debug delivery issues.
Paramètres, retour & exemple (33)
Paramètresevents· ? · optionnel
Filter by event type(s). Use with events_operator: include_event or not_include_event.status· ? · optionnel
Filter by delivery status (use with status_operator). Single value or array.subject· ? · optionnel
Filter by email subject (use with subject_operator). Single value or array. Omit for empty/not_empty.category· ? · optionnel
Filter by email category. Use with category_operator. Single value, array (e.g. ["Newsletter", "Alert"]), or comma-separated string (e.g. "Newsletter,Alert") for multiple (OR).to_email· ? · optionnel
Filter by recipient email (use with to_operator). Single value or array.client_ip· string · optionnel
Filter by client IP. Use with client_ip_operator.from_email· ? · optionnel
Filter by sender email (use with from_operator). Single value or array.sending_ip· string · optionnel
Filter by sending IP. Use with sending_ip_operator.sent_after· string · optionnel
ISO 8601 date/time; only return logs for emails sent after this timeopens_count· number · optionnel
Filter by number of opens. Use with opens_count_operator.sent_before· string · optionnel
ISO 8601 date/time; only return logs for emails sent before this timeto_operator· string · optionnel · ci_contain | ci_not_contain | ci_equal | ci_not_equal
Operator for to_email filter. Default: ci_equal.clicks_count· number · optionnel
Filter by number of link clicks. Use with clicks_count_operator.recipient_mx· ? · optionnel
Filter by recipient MX. Single value or array. Use with recipient_mx_operator.search_after· string · optionnel
Pagination cursor from the previous response's next_page_cursor to fetch the next pagefrom_operator· string · optionnel · ci_contain | ci_not_contain | ci_equal | ci_not_equal
Operator for from_email filter. Default: ci_equal. ci_contain/ci_not_contain match substring; ci_equal/ci_not_equal match exactly (case-insensitive).sending_stream· ? · optionnel
Filter by sending stream: transactional or bulk. Single value or array.events_operator· string · optionnel · include_event | not_include_event
Operator for events filter. Default: include_event.status_operator· string · optionnel · equal | not_equal
Operator for status filter. Default: equal.subject_operator· string · optionnel · ci_contain | ci_not_contain | ci_equal | ci_not_equal | empty | not_empty
Operator for subject filter. Default: ci_contain. Use empty/not_empty to filter by presence of subject.category_operator· string · optionnel · equal | not_equal
Operator for category. Default: equal.sending_domain_id· ? · optionnel
Filter by sending domain ID. Single value or array. Find IDs in Mailtrap Sending Domains.client_ip_operator· string · optionnel · equal | not_equal | contain | not_contain
Operator for client_ip. Default: equal.sending_ip_operator· string · optionnel · equal | not_equal | contain | not_contain
Operator for sending_ip. Default: equal.opens_count_operator· string · optionnel · equal | greater_than | less_than
Operator for opens_count. Default: equal.clicks_count_operator· string · optionnel · equal | greater_than | less_than
Operator for clicks_count. Default: equal.recipient_mx_operator· string · optionnel · ci_contain | ci_not_contain | ci_equal | ci_not_equal
Operator for recipient_mx. Default: ci_contain.email_service_provider· ? · optionnel
Filter by email service provider (exact). Single value or array. Use with *_operator.sending_stream_operator· string · optionnel · equal | not_equal
Operator for sending_stream filter. Default: equal.sending_domain_id_operator· string · optionnel · equal | not_equal
Operator for sending_domain_id filter. Default: equal.email_service_provider_operator· string · optionnel · equal | not_equal
Operator for email_service_provider. Default: equal.email_service_provider_response· ? · optionnel
Filter by provider response text. Single value or array. Use with *_operator.email_service_provider_response_operator· string · optionnel · ci_contain | ci_not_contain | ci_equal | ci_not_equal
Operator for email_service_provider_response. Default: ci_contain.
Exemple d'appel{"name": "list-email-logs", "arguments": {"events": "texte", "status": "texte", "subject": "texte", "category": "texte", "to_email": "texte", "client_ip": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-email-log-message≈ 148 tokens
Get a single email log message by ID (UUID) to inspect delivery status and event history.
Paramètres, retour & exemple (2)
Paramètresmessage_id· string · requis
UUID of the email log message (from send response or list-email-logs)include_content· boolean · optionnel
When true, download the raw EML message (if available) and include parsed HTML and text body content, similar to show-sandbox-email-message.
Exemple d'appel{"name": "get-email-log-message", "arguments": {"message_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-sending-domains≈ 47 tokens
List sending domains and their DNS verification status
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list-sending-domains", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-sending-domain≈ 129 tokens
Get a sending domain by ID and its verification status. Optionally include DNS setup instructions via include_setup_instructions.
Paramètres, retour & exemple (2)
Paramètressending_domain_id· number · requis
Sending domain IDinclude_setup_instructions· boolean · optionnel
If true, append DNS setup instructions to the response.
Exemple d'appel{"name": "get-sending-domain", "arguments": {"sending_domain_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-sending-domain≈ 68 tokens
Create a new sending domain
Paramètres, retour & exemple (1)
Paramètresdomain_name· string · requis
Domain name (e.g. example.com)
Exemple d'appel{"name": "create-sending-domain", "arguments": {"domain_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-sending-domain≈ 265 tokens
Update a sending domain's tracking and inbound settings.
Paramètres, retour & exemple (6)
Paramètresinbound_enabled· boolean · optionnel
Allow the domain to be attached to an inbound inbox as a catch-all.sending_domain_id· integer · requis
Sending domain IDopen_tracking_enabled· boolean · optionnel
Track opens on emails sent from this domain.click_tracking_enabled· boolean · optionnel
Track clicks on links in emails sent from this domain.tracking_opt_out_enabled· boolean · optionnel
Add the tracking opt-out link to tracked emails. Requires open or click tracking.auto_unsubscribe_link_enabled· boolean · optionnel
Automatically add an unsubscribe link to emails.
Exemple d'appel{"name": "update-sending-domain", "arguments": {"sending_domain_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-sending-domain≈ 70 tokens
Delete a sending domain
Paramètres, retour & exemple (1)
Paramètressending_domain_id· number · requis
Sending domain ID to delete
Exemple d'appel{"name": "delete-sending-domain", "arguments": {"sending_domain_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send-sending-domain-setup-instructions≈ 114 tokens
Email DNS setup instructions for a sending domain to a given address.
Paramètres, retour & exemple (2)
Paramètresemail· string · requis
Email address to send DNS setup instructions tosending_domain_id· number · requis
Sending domain ID
Exemple d'appel{"name": "send-sending-domain-setup-instructions", "arguments": {"email": "texte", "sending_domain_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-company-info≈ 84 tokens
Get the company info of a sending domain, used for domain compliance verification.
Paramètres, retour & exemple (1)
Paramètressending_domain_id· integer · requis
Sending domain ID
Exemple d'appel{"name": "get-company-info", "arguments": {"sending_domain_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-company-info≈ 298 tokens
Set the company info of a sending domain, required for domain compliance verification.
Paramètres, retour & exemple (11)
Paramètrescity· string · requis
City.name· string · requis
Company or individual name.phone· string · optionnel
Phone number.address· string · requis
Street address.country· string · requis
Country.zip_code· string · requis
ZIP or postal code.info_level· string · optionnel · business | individual
Whether the sender is a business or an individual.website_url· string · requis
Company website URL.sending_domain_id· integer · requis
Sending domain IDprivacy_policy_url· string · optionnel
URL of the privacy policy page.terms_of_service_url· string · optionnel
URL of the terms of service page.
Exemple d'appel{"name": "create-company-info", "arguments": {"city": "texte", "name": "texte", "address": "texte", "country": "texte", "zip_code": "texte", "website_url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-company-info≈ 300 tokens
Update the company info of a sending domain.
Paramètres, retour & exemple (11)
Paramètrescity· string · optionnel
City.name· string · optionnel
Company or individual name.phone· string · optionnel
Phone number.address· string · optionnel
Street address.country· string · optionnel
Country.zip_code· string · optionnel
ZIP or postal code.info_level· string · optionnel · business | individual
Whether the sender is a business or an individual.website_url· string · optionnel
Company website URL.sending_domain_id· integer · requis
Sending domain IDprivacy_policy_url· string · optionnel
URL of the privacy policy page.terms_of_service_url· string · optionnel
URL of the terms of service page.
Exemple d'appel{"name": "update-company-info", "arguments": {"sending_domain_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-suppressions≈ 86 tokens
List or search suppressions. Optionally filter by email. Returns up to 1000 suppressions per call.
Paramètres, retour & exemple (1)
Paramètresemail· string · optionnel
Optional email filter. Returns suppressions matching this address.
Exemple d'appel{"name": "list-suppressions", "arguments": {"email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-suppression≈ 212 tokens
Add an email address to the account's suppression list, so Mailtrap stops delivering to it.
Paramètres, retour & exemple (4)
Paramètrestype· string · optionnel · hard bounce | spam complaint | unsubscription | manual import
Reason recorded for the suppression. Defaults to `manual import` when omitted.email· string · requis
Email address to suppress.domain_id· integer · requis
ID of the sending domain the suppression applies to, as returned by the Sending Domains tools.sending_stream· string · requis · transactional | bulk
Sending stream to suppress the address for.
Exemple d'appel{"name": "create-suppression", "arguments": {"email": "texte", "domain_id": 1, "sending_stream": "transactional"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-suppression≈ 89 tokens
Delete a suppression by ID. Mailtrap will resume delivery to this email unless it gets suppressed again.
Paramètres, retour & exemple (1)
Paramètressuppression_id· string · requis
ID of the suppression to delete
Exemple d'appel{"name": "delete-suppression", "arguments": {"suppression_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-tracking-opt-outs≈ 188 tokens
List email addresses excluded from open and click tracking. Returns up to 1000 records per call.
Paramètres, retour & exemple (4)
Paramètresemail· string · optionnel
Optional email filter. Returns tracking opt-outs matching this address.last_id· string · optionnel
Pagination cursor — the `last_id` from the previous response, to fetch the next page.end_time· string · optionnel
Only opt-outs created at or before this time (ISO 8601, e.g. 2026-08-31T23:59:59Z).start_time· string · optionnel
Only opt-outs created at or after this time (ISO 8601, e.g. 2026-08-01T00:00:00Z).
Exemple d'appel{"name": "list-tracking-opt-outs", "arguments": {"email": "texte", "last_id": "texte", "end_time": "texte", "start_time": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-tracking-opt-out≈ 126 tokens
Exclude an email address from open and click tracking for a sending domain.
Paramètres, retour & exemple (2)
Paramètresemail· string · requis
Email address to opt out of open and click tracking.domain_id· integer · requis
ID of the sending domain the opt-out applies to, as returned by the Sending Domains tools.
Exemple d'appel{"name": "create-tracking-opt-out", "arguments": {"email": "texte", "domain_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-tracking-opt-out≈ 94 tokens
Remove an email address from the tracking opt-out list, so open and click tracking applies to it again.
Paramètres, retour & exemple (1)
Paramètrestracking_opt_out_id· string · requis
ID of the tracking opt-out to delete
Exemple d'appel{"name": "delete-tracking-opt-out", "arguments": {"tracking_opt_out_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-webhooks≈ 40 tokens
List all webhooks for the account.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list-webhooks", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-webhook≈ 64 tokens
Get a single webhook by ID.
Paramètres, retour & exemple (1)
Paramètreswebhook_id· number · requis
ID of the webhook to fetch
Exemple d'appel{"name": "get-webhook", "arguments": {"webhook_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-webhook≈ 476 tokens
Create a webhook. `webhook_type` may be `email_sending`, `audit_log`, or `inbound_receiving`; for `inbound_receiving`, `inbound_inbox_id` is optional (scopes the webhook to one inbox — omit to apply to all inboxes). The response includes a `signing_secret` for verifying webhook payload signatures — this secret is returned only on creation, so store it now.
Paramètres, retour & exemple (8)
Paramètresurl· string · requis
URL that Mailtrap will POST webhook events to.active· boolean · optionnel
Whether the webhook is enabled. Defaults to true.domain_id· number · optionnel
Sending domain ID to scope this webhook to. Applies only to `email_sending` webhooks.event_types· array · optionnel
Events to subscribe to. Applies only to `email_sending` webhooks.webhook_type· string · requis · email_sending | audit_log | inbound_receiving
Webhook category. `email_sending` for delivery/open/click/etc events, `audit_log` for account audit events, `inbound_receiving` for inbound inbox events.payload_format· string · optionnel · json | jsonlines
Payload encoding. Defaults to `json`.sending_stream· string · optionnel · transactional | bulk
Sending stream this webhook subscribes to. Applies only to `email_sending` webhooks.inbound_inbox_id· number · optionnel
ID of the inbound inbox the webhook is linked to. Applicable only for `inbound_receiving` webhooks; optional — omit to apply to all inboxes in the account.
Exemple d'appel{"name": "create-webhook", "arguments": {"url": "texte", "webhook_type": "email_sending"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-webhook≈ 283 tokens
Update a webhook's mutable fields (`url`, `active`, `payload_format`, `event_types`, `inbound_inbox_id`). `webhook_type`, `sending_stream`, and `domain_id` cannot be changed after creation.
Paramètres, retour & exemple (6)
Paramètresurl· string · optionnel
New URL that Mailtrap will POST webhook events to.active· boolean · optionnel
Enable or disable the webhook.webhook_id· number · requis
ID of the webhook to updateevent_types· array · optionnel
Events to subscribe to. Applies only to `email_sending` webhooks.payload_format· string · optionnel · json | jsonlines
Payload encoding.inbound_inbox_id· number · optionnel
ID of the inbound inbox the webhook is linked to. Applicable only for `inbound_receiving` webhooks.
Exemple d'appel{"name": "update-webhook", "arguments": {"webhook_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-webhook≈ 76 tokens
Permanently delete a webhook by ID. Returns the deleted webhook record.
Paramètres, retour & exemple (1)
Paramètreswebhook_id· number · requis
ID of the webhook to delete
Exemple d'appel{"name": "delete-webhook", "arguments": {"webhook_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-contact≈ 93 tokens
Get a contact by ID or email address. Returns the full contact record including list memberships, status, and custom fields.
Paramètres, retour & exemple (1)
Paramètrescontact_identifier· string · requis
Contact ID or email address.
Exemple d'appel{"name": "get-contact", "arguments": {"contact_identifier": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-contact≈ 212 tokens
Create a new contact. Requires `email`; optionally accepts custom `fields`, `list_ids` to subscribe to, and `unsubscribed` to start in unsubscribed status.
Paramètres, retour & exemple (4)
Paramètresemail· string · requis
Email address of the contact.fields· object · optionnel
Custom field values keyed by the field's merge tag (e.g. `first_name`). Values may be string, number, or boolean.list_ids· array · optionnel
IDs of contact lists to add this contact to.unsubscribed· boolean · optionnel
If true, the contact is created in `unsubscribed` status.
Exemple d'appel{"name": "create-contact", "arguments": {"email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-contact≈ 309 tokens
Update a contact (identified by ID or email). `list_ids` replaces the membership set; `list_ids_included`/`list_ids_excluded` add/remove without disturbing the rest.
Paramètres, retour & exemple (7)
Paramètresemail· string · optionnel
New email address for the contact.fields· object · optionnel
Custom field values to set, keyed by merge tag. String, number, or boolean values.list_ids· array · optionnel
Replace the contact's list memberships with this exact set of list IDs.unsubscribed· boolean · optionnel
Move the contact to `unsubscribed` (`true`) or `subscribed` (`false`) status.list_ids_excluded· array · optionnel
List IDs to remove the contact from.list_ids_included· array · optionnel
List IDs to add the contact to (additive).contact_identifier· string · requis
Contact ID or email to update.
Exemple d'appel{"name": "update-contact", "arguments": {"contact_identifier": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-contact≈ 87 tokens
Permanently delete a contact by ID or email. Returns the deleted contact record when available.
Paramètres, retour & exemple (1)
Paramètrescontact_identifier· string · requis
Contact ID or email to delete.
Exemple d'appel{"name": "delete-contact", "arguments": {"contact_identifier": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-contact-event≈ 186 tokens
Record a contact event (by `name` + arbitrary `params`) against a contact ID or email. Used to trigger automations.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
Event name. Used to match contact-list automations triggered by this event.params· object · requis
Arbitrary key/value parameters for the event. Values may be string, number, boolean, or null.contact_identifier· string · requis
Contact ID or email to attach the event to.
Exemple d'appel{"name": "create-contact-event", "arguments": {"name": "texte", "params": {}, "contact_identifier": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-contact-lists≈ 92 tokens
List all contact lists for the account. Optionally filter by name with `search` (case-insensitive match).
Paramètres, retour & exemple (1)
Paramètressearch· string · optionnel
Filter contact lists by name (case-insensitive match), e.g. "news".
Exemple d'appel{"name": "list-contact-lists", "arguments": {"search": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-contact-list≈ 65 tokens
Get a contact list by ID.
Paramètres, retour & exemple (1)
Paramètreslist_id· number · requis
ID of the contact list to fetch.
Exemple d'appel{"name": "get-contact-list", "arguments": {"list_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-contact-list≈ 64 tokens
Create a new contact list.
Paramètres, retour & exemple (1)
Paramètresname· string · requis
Name for the new contact list.
Exemple d'appel{"name": "create-contact-list", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-contact-list≈ 89 tokens
Rename an existing contact list.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
New name for the contact list.list_id· number · requis
ID of the contact list to update.
Exemple d'appel{"name": "update-contact-list", "arguments": {"name": "texte", "list_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-contact-list≈ 70 tokens
Permanently delete a contact list by ID.
Paramètres, retour & exemple (1)
Paramètreslist_id· number · requis
ID of the contact list to delete.
Exemple d'appel{"name": "delete-contact-list", "arguments": {"list_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-contact-fields≈ 46 tokens
List all contact field definitions for the account.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list-contact-fields", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-contact-field≈ 69 tokens
Get a contact field definition by ID.
Paramètres, retour & exemple (1)
Paramètresfield_id· number · requis
ID of the contact field to fetch.
Exemple d'appel{"name": "get-contact-field", "arguments": {"field_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-contact-field≈ 158 tokens
Create a new contact field definition. `merge_tag` must be unique and is used in template variables.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
Display name of the field (e.g. "First Name").data_type· string · requis · text | number | boolean | date
Data type stored in this field.merge_tag· string · requis
Merge tag used in template variables (e.g. `first_name`). Must be unique.
Exemple d'appel{"name": "create-contact-field", "arguments": {"name": "texte", "data_type": "text", "merge_tag": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-contact-field≈ 162 tokens
Update a contact field definition. Any combination of `name`, `merge_tag`, or `data_type` can be changed.
Paramètres, retour & exemple (4)
Paramètresname· string · optionnel
New display name for the field.field_id· number · requis
ID of the contact field to update.data_type· string · optionnel · text | number | boolean | date
New data type for the field.merge_tag· string · optionnel
New merge tag for the field. Must be unique.
Exemple d'appel{"name": "update-contact-field", "arguments": {"field_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-contact-field≈ 74 tokens
Permanently delete a contact field definition by ID.
Paramètres, retour & exemple (1)
Paramètresfield_id· number · requis
ID of the contact field to delete.
Exemple d'appel{"name": "delete-contact-field", "arguments": {"field_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-contact-import≈ 263 tokens
Bulk import contacts. Returns an import job record; poll status via `get-contact-import`.
Paramètres, retour & exemple (1)
Paramètrescontacts· array · requis
Contacts to import. Each entry needs at least an `email`; optionally include custom `fields`, `list_ids_included`, and `list_ids_excluded`.
Exemple d'appel{"name": "create-contact-import", "arguments": {"contacts": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-contact-import≈ 83 tokens
Get the status of a contact import job, including created/updated/over-limit counts.
Paramètres, retour & exemple (1)
Paramètresimport_id· number · requis
ID of the contact import job to fetch.
Exemple d'appel{"name": "get-contact-import", "arguments": {"import_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-contact-export≈ 278 tokens
Export contacts matching a set of AND-combined filters. Returns an export job; poll status with `get-contact-export` to retrieve the download URL.
Paramètres, retour & exemple (1)
Paramètresfilters· array · requis
Filters that select which contacts to include in the export. AND-combined.
Exemple d'appel{"name": "create-contact-export", "arguments": {"filters": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-contact-export≈ 89 tokens
Get the status of a contact export job. Once `status` is `finished`, the `url` field holds the download link.
Paramètres, retour & exemple (1)
Paramètresexport_id· number · requis
ID of the contact export job to fetch.
Exemple d'appel{"name": "get-contact-export", "arguments": {"export_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-email-campaigns≈ 170 tokens
List the account's email campaigns, newest first, with page-token pagination (`token`, `per_page`). Optionally filter by name with `search`.
Paramètres, retour & exemple (3)
Paramètrestoken· integer · optionnel
Page number to retrieve (page-token pagination). Defaults to `1`.search· string · optionnel
Filter campaigns by name (case-insensitive partial match), e.g. "spring".per_page· integer · optionnel
Number of campaigns per page. Defaults to 50, maximum 100.
Exemple d'appel{"name": "list-email-campaigns", "arguments": {"token": 1, "search": "texte", "per_page": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-email-campaign≈ 80 tokens
Get an email campaign by ID.
Paramètres, retour & exemple (1)
Paramètresemail_campaign_id· integer · requis
Unique identifier of the email campaign to fetch.
Exemple d'appel{"name": "get-email-campaign", "arguments": {"email_campaign_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-email-campaign≈ 778 tokens
Create a new email campaign in the `draft` state; requires `name`, `domain_id`, `from_local_part`, and a `template_attributes.subject`.
Paramètres, retour & exemple (10)
Paramètresname· string · requis
Campaign name.reply_to· object · optionnel
Reply-To address parts.domain_id· integer · requis
ID of the verified sending domain used for the campaign, as returned by the Sending Domains endpoints.delivery_mode· string · optionnel · rapid | gradual
How the campaign is delivered. `rapid` sends as fast as possible; `gradual` throttles sending to `delivery_options.emails_per_hour`.from_local_part· string · requis
Local part (before the @) of the From address.contact_list_ids· array · optionnel
IDs of contact lists to send to. Treated as the full set of included lists. Combine with `contact_segment_ids` to target both.delivery_options· object · optionnel
Delivery throttling options. Applies when `delivery_mode` is `gradual`.from_display_name· string · optionnel
Display name shown in the From header.contact_segment_ids· array · optionnel
IDs of contact segments to send to. Treated as the full set of included segments.template_attributes· object · requis
Inline email template — the campaign's subject and design.
Exemple d'appel{"name": "create-email-campaign", "arguments": {"name": "texte", "domain_id": 1, "from_local_part": "texte", "template_attributes": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-email-campaign≈ 825 tokens
Update a `draft` email campaign; only the provided fields change, and campaigns in any other state cannot be updated.
Paramètres, retour & exemple (11)
Paramètresname· string · optionnel
Campaign name.reply_to· object · optionnel
Reply-To address parts.domain_id· integer · optionnel
ID of the verified sending domain used for the campaign, as returned by the Sending Domains endpoints.delivery_mode· string · optionnel · rapid | gradual
How the campaign is delivered. `rapid` sends as fast as possible; `gradual` throttles sending to `delivery_options.emails_per_hour`.from_local_part· string · optionnel
Local part (before the @) of the From address.contact_list_ids· array · optionnel
IDs of contact lists to send to. Treated as the full set of included lists — lists not listed are removed.delivery_options· object · optionnel
Delivery throttling options. Applies when `delivery_mode` is `gradual`.email_campaign_id· integer · requis
Unique identifier of the email campaign to update.from_display_name· string · optionnel
Display name shown in the From header.contact_segment_ids· array · optionnel
IDs of contact segments to send to. Treated as the full set of included segments.template_attributes· object · optionnel
Inline email template — the campaign's template is edited in place. Updates are partial: only the sub-fields you provide change.
Exemple d'appel{"name": "update-email-campaign", "arguments": {"email_campaign_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-email-campaign≈ 94 tokens
Delete an email campaign by ID; only a campaign in the `draft` state can be deleted.
Paramètres, retour & exemple (1)
Paramètresemail_campaign_id· integer · requis
Unique identifier of the email campaign to delete.
Exemple d'appel{"name": "delete-email-campaign", "arguments": {"email_campaign_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - start-email-campaign≈ 96 tokens
Start sending a `draft` email campaign immediately; only `draft` campaigns can be started.
Paramètres, retour & exemple (1)
Paramètresemail_campaign_id· integer · requis
Unique identifier of the email campaign to start.
Exemple d'appel{"name": "start-email-campaign", "arguments": {"email_campaign_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - schedule-email-campaign≈ 180 tokens
Schedule a `draft` email campaign to start sending at `datetime` (ISO 8601, must be in the future and no more than 1 month ahead); only `draft` campaigns can be scheduled.
Paramètres, retour & exemple (2)
Paramètresdatetime· string · requis
When to send the campaign (ISO 8601, e.g. `2026-09-01T09:00:00Z` or with a UTC offset). Must be in the future and no more than 1 month ahead, otherwise the request is rejected with `422`.email_campaign_id· integer · requis
Unique identifier of the email campaign to schedule.
Exemple d'appel{"name": "schedule-email-campaign", "arguments": {"datetime": "texte", "email_campaign_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - cancel-email-campaign≈ 100 tokens
Cancel a `scheduled` email campaign, returning it to `draft`; only `scheduled` campaigns can be cancelled.
Paramètres, retour & exemple (1)
Paramètresemail_campaign_id· integer · requis
Unique identifier of the email campaign to cancel.
Exemple d'appel{"name": "cancel-email-campaign", "arguments": {"email_campaign_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - terminate-email-campaign≈ 104 tokens
Terminate an email campaign that is currently sending (`started`, `queued`, or `paused`), aborting the in-flight send.
Paramètres, retour & exemple (1)
Paramètresemail_campaign_id· integer · requis
Unique identifier of the email campaign to terminate.
Exemple d'appel{"name": "terminate-email-campaign", "arguments": {"email_campaign_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - reset-email-campaign≈ 96 tokens
Reset a `scheduled` email campaign back to `draft`; only `scheduled` campaigns can be reset.
Paramètres, retour & exemple (1)
Paramètresemail_campaign_id· integer · requis
Unique identifier of the email campaign to reset.
Exemple d'appel{"name": "reset-email-campaign", "arguments": {"email_campaign_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-email-campaign-stats≈ 204 tokens
Get aggregated performance statistics for an email campaign; optionally narrow the window with `start_date`/`end_date` (`YYYY-MM-DD`).
Paramètres, retour & exemple (3)
Paramètresend_date· string · optionnel
End of the aggregation window (inclusive), in `YYYY-MM-DD` format. Defaults to the current date.start_date· string · optionnel
Start of the aggregation window (inclusive), in `YYYY-MM-DD` format. Defaults to the day the campaign was last started.email_campaign_id· integer · requis
Unique identifier of the email campaign.
Exemple d'appel{"name": "get-email-campaign-stats", "arguments": {"email_campaign_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-accounts≈ 54 tokens
List Mailtrap accounts accessible to the API token, with each account's access levels.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list-accounts", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-billing-usage≈ 60 tokens
Get the current billing cycle usage for the account (sending and testing plans, limits, and current counts).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get-billing-usage", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-account-accesses≈ 167 tokens
List account accesses (users, invites, API tokens) for the account. Optionally scope by domain UUIDs, inbox IDs, or project IDs. Requires account admin/owner permissions.
Paramètres, retour & exemple (3)
Paramètresinbox_ids· array · optionnel
Optional: filter by sandbox inbox IDs.project_ids· array · optionnel
Optional: filter by sandbox project IDs.domain_uuids· array · optionnel
Optional: filter by sending domain UUIDs.
Exemple d'appel{"name": "list-account-accesses", "arguments": {"inbox_ids": [], "project_ids": [], "domain_uuids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - remove-account-access≈ 108 tokens
Remove an account access by ID. For User specifiers this revokes permissions; for Invite or ApiToken specifiers it removes the specifier itself. Requires admin/owner.
Paramètres, retour & exemple (1)
Paramètresaccount_access_id· number · requis
ID of the account access to remove.
Exemple d'appel{"name": "remove-account-access", "arguments": {"account_access_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-permission-resources≈ 66 tokens
Get all resources (inboxes, projects, domains, billing, account) to which the API token has admin access, nested by hierarchy.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get-permission-resources", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - bulk-update-permissions≈ 351 tokens
Bulk create, update, or destroy permissions for an account access. Existing (resource_type, resource_id) pairs are updated; new ones are created. Set `destroy: true` to remove.
Paramètres, retour & exemple (2)
Paramètrespermissions· array · requis
Permission entries to create, update, or destroy. Combinations of `resource_type` + `resource_id` that already exist are updated; new combinations are created. Set `destroy: true` to remove an existing permission.account_access_id· number · requis
ID of the account access whose permissions are being updated.
Exemple d'appel{"name": "bulk-update-permissions", "arguments": {"permissions": [], "account_access_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-api-tokens≈ 42 tokens
List all API tokens for the account.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list-api-tokens", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-api-token≈ 337 tokens
Create a new API token. The response includes the secret `token` value — this is the **only time** the full token is returned, so store it immediately.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
Display name for the API token.resources· array · optionnel
Optional list of resource permissions to attach to the token. Each entry pins the token to a specific resource at a given access level.expires_at· string|null · optionnel
Optional token expiration as an ISO 8601 date-time (e.g. 2027-06-01T00:00:00Z). Omit for the server default (1 year). Pass an explicit null for a token that never expires. Past values or values more than 5 years ahead are rejected with a 422 error.
Exemple d'appel{"name": "create-api-token", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-api-token≈ 88 tokens
Get an API token by ID. The secret token value is NOT returned here — only the metadata (name, last 4 digits, resources).
Paramètres, retour & exemple (1)
Paramètresapi_token_id· number · requis
ID of the API token.
Exemple d'appel{"name": "get-api-token", "arguments": {"api_token_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - reset-api-token≈ 184 tokens
Reset (rotate) an API token by ID. The response includes the **new** secret `token` value — returned only on this call, so store it immediately. The previous token is invalidated.
Paramètres, retour & exemple (2)
Paramètresexpires_at· string|null · optionnel
Optional expiration for the new token as an ISO 8601 date-time (e.g. 2027-06-01T00:00:00Z). Omit for the server default (1 year). Pass an explicit null for a token that never expires. Past values or values more than 5 years ahead are rejected with a 422 error.api_token_id· number · requis
ID of the API token.
Exemple d'appel{"name": "reset-api-token", "arguments": {"api_token_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-api-token≈ 81 tokens
Permanently delete an API token by ID. The token can no longer authenticate after deletion.
Paramètres, retour & exemple (1)
Paramètresapi_token_id· number · requis
ID of the API token.
Exemple d'appel{"name": "delete-api-token", "arguments": {"api_token_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-sub-accounts≈ 64 tokens
List sub-accounts in the organization. Requires `MAILTRAP_ORGANIZATION_ID` env var and sub-account management permissions.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list-sub-accounts", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-sub-account≈ 90 tokens
Create a new sub-account under the organization. Requires `MAILTRAP_ORGANIZATION_ID` and sub-account management permissions.
Paramètres, retour & exemple (1)
Paramètresname· string · requis
Display name for the new sub-account.
Exemple d'appel{"name": "create-sub-account", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-inbound-folders≈ 48 tokens
List all inbound folders in the account.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list-inbound-folders", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-inbound-folder≈ 66 tokens
Get a single inbound folder by ID.
Paramètres, retour & exemple (1)
Paramètresfolder_id· number · requis
The inbound folder ID.
Exemple d'appel{"name": "get-inbound-folder", "arguments": {"folder_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-inbound-folder≈ 62 tokens
Create a new inbound folder.
Paramètres, retour & exemple (1)
Paramètresname· string · requis
The folder name.
Exemple d'appel{"name": "create-inbound-folder", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-inbound-folder≈ 84 tokens
Rename an inbound folder.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
The new folder name.folder_id· number · requis
The inbound folder ID.
Exemple d'appel{"name": "update-inbound-folder", "arguments": {"name": "texte", "folder_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-inbound-folder≈ 76 tokens
Permanently delete an inbound folder along with all of its inboxes.
Paramètres, retour & exemple (1)
Paramètresfolder_id· number · requis
The inbound folder ID.
Exemple d'appel{"name": "delete-inbound-folder", "arguments": {"folder_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-inbound-inboxes≈ 73 tokens
List all inboxes in an inbound folder.
Paramètres, retour & exemple (1)
Paramètresfolder_id· number · requis
The inbound folder ID to list inboxes for.
Exemple d'appel{"name": "list-inbound-inboxes", "arguments": {"folder_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-inbound-inbox≈ 85 tokens
Get a single inbound inbox by ID.
Paramètres, retour & exemple (2)
Paramètresinbox_id· number · requis
The inbox ID.folder_id· number · requis
The inbound folder ID.
Exemple d'appel{"name": "get-inbound-inbox", "arguments": {"inbox_id": 1, "folder_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create-inbound-inbox≈ 156 tokens
Create a new inbound inbox in a folder. Omit `domain_id` for a Mailtrap-hosted inbox; pass it for a custom-domain (catch-all) inbox.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
The inbox name.domain_id· number · optionnel
Optional. Attach the inbox to a custom sending domain (catch-all inbox). Omit for a standard Mailtrap-hosted inbox.folder_id· number · requis
The inbound folder ID to create the inbox in.
Exemple d'appel{"name": "create-inbound-inbox", "arguments": {"name": "texte", "folder_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update-inbound-inbox≈ 102 tokens
Rename an inbound inbox.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
The new inbox name.inbox_id· number · requis
The inbox ID.folder_id· number · requis
The inbound folder ID.
Exemple d'appel{"name": "update-inbound-inbox", "arguments": {"name": "texte", "inbox_id": 1, "folder_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-inbound-inbox≈ 86 tokens
Permanently delete an inbound inbox.
Paramètres, retour & exemple (2)
Paramètresinbox_id· number · requis
The inbox ID.folder_id· number · requis
The inbound folder ID.
Exemple d'appel{"name": "delete-inbound-inbox", "arguments": {"inbox_id": 1, "folder_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list-inbound-messages≈ 117 tokens
List received messages in an inbound inbox (paginated). Pass `last_id` from a previous response to fetch the next page.
Paramètres, retour & exemple (2)
Paramètreslast_id· string · optionnel
Pagination cursor from a previous response's `last_id`.inbox_id· number · requis
The inbox ID to list messages for.
Exemple d'appel{"name": "list-inbound-messages", "arguments": {"inbox_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-inbound-message≈ 95 tokens
Get a single inbound message with its full body and attachment download URLs.
Paramètres, retour & exemple (2)
Paramètresinbox_id· number · requis
The inbox ID.message_id· string · requis
The message ID.
Exemple d'appel{"name": "get-inbound-message", "arguments": {"inbox_id": 1, "message_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete-inbound-message≈ 86 tokens
Permanently delete an inbound message.
Paramètres, retour & exemple (2)
Paramètresinbox_id· number · requis
The inbox ID.message_id· string · requis
The message ID.
Exemple d'appel{"name": "delete-inbound-message", "arguments": {"inbox_id": 1, "message_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - reply-to-inbound-message≈ 862 tokens
Reply to an inbound message (sends to the original sender). Sends a real email.
Paramètres, retour & exemple (13)
Paramètrescc· array · optionnel
Optional CC recipients as `{ email, name? }` objects (bare email strings also accepted)to· array · optionnel
Recipients. Defaults to the original sender for reply/reply_all when omitted; required for forward.bcc· array · optionnel
Optional BCC recipients as `{ email, name? }` objects (bare email strings also accepted)from· object · optionnel
Sender. Rejected for Mailtrap-hosted inboxes; required for custom-domain inboxes.html· string · optionnel
HTML body.text· string · optionnel
Plain-text body.headers· object · optionnel
Custom headers.category· string · optionnel
Message category.inbox_id· number · requis
The inbox ID.reply_to· object · optionnel
Reply-To address.message_id· string · requis
The message ID to reply to.attachments· array · optionnel
File attachments.custom_variables· object · optionnel
Custom variables.
Exemple d'appel{"name": "reply-to-inbound-message", "arguments": {"inbox_id": 1, "message_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
+ 5 autres outils (affichage limité à 120).
Badge pour votre README
Ce serveur a passé le pentest comportemental. Le badge porte son nom et renvoie à cette fiche — la preuve, c'est la fiche (verdict live qu'on contrôle), pas l'image.
[](https://dokore.fr/serveur/io.mailtrap--mcp)
<a href="https://dokore.fr/serveur/io.mailtrap--mcp"><img src="https://dokore.fr/badge/io.mailtrap--mcp.svg" alt="Vérifié par MCP Hub" height="20"></a>
Réévalué en continu : si le comportement change, le verdict tombe et le badge disparaît. Un badge qui ne pointe pas vers une fiche dokore.fr ne prouve rien. Comment ça marche
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».
Source
mcp-mailtrap@0.9.0