servers / mailtrap
Mailtrap MCP server
communitystdiolocaldestructive capablehealthy
Integrates with Mailtrap Email API.
01Tools · 105
How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| clean-sandbox-inbox Delete all messages from a sandbox inbox without deleting the inbox itself | unknown | unknown | unknown |
| delete-template Delete an existing email template | destructive | true | true |
| list-sending-domains List sending domains and their DNS verification status | read | false | unknown |
| list-contact-fields List all contact field definitions for the account. | read | false | unknown |
| list-sub-accounts List sub-accounts in the organization. Requires `MAILTRAP_ORGANIZATION_ID` env var and sub-account management permissions. | read | false | unknown |
| list-email-logs List sent email logs (delivery history) with optional pagination and filters; use to debug delivery issues. | read | false | unknown |
| create-sending-domain Create a new sending domain | write | true | unknown |
| create-sandbox-project Create a new sandbox project to group test inboxes | write | true | unknown |
| reset-sandbox-email-address Generate a new receive-by-email address for a sandbox | unknown | unknown | unknown |
| delete-contact-list Permanently delete a contact list by ID. | destructive | true | true |
| get-webhook Get a single webhook by ID. | read | false | unknown |
| list-templates List all email templates | read | false | unknown |
| create-contact-list Create a new contact list. | write | true | unknown |
| create-sub-account Create a new sub-account under the organization. Requires `MAILTRAP_ORGANIZATION_ID` and sub-account management permissions. | write | true | unknown |
| delete-api-token Permanently delete an API token by ID. The token can no longer authenticate after deletion. | destructive | true | true |
| list-api-tokens List all API tokens for the account. | read | false | unknown |
| delete-suppression Delete a suppression by ID. Mailtrap will resume delivery to this email unless it gets suppressed again. | destructive | true | true |
| update-contact-list Rename an existing contact list. | write | true | unknown |
| get-template Get a single email template by ID, including subject, category, and HTML/text body. | read | false | unknown |
| list-sandboxes List all sandboxes accessible to the API token across projects | read | false | unknown |
| list-accounts List Mailtrap accounts accessible to the API token, with each account's access levels. | read | false | unknown |
| reset-api-token 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. | unknown | unknown | unknown |
| get-contact-export Get the status of a contact export job. Once `status` is `finished`, the `url` field holds the download link. | read | false | unknown |
| list-account-accesses 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. | read | false | unknown |
| get-sandbox-message-html-source Get the unrendered HTML source of a sandbox message. | read | false | unknown |
| batch-send-bulk-email 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`. | write | true | unknown |
| update-sandbox-inbox Update a sandbox inbox name or email username | write | true | unknown |
| get-sandbox-project Get a sandbox project by ID, including its inboxes and email counts | read | false | unknown |
| get-contact-field Get a contact field definition by ID. | read | false | unknown |
| get-permission-resources Get all resources (inboxes, projects, domains, billing, account) to which the API token has admin access, nested by hierarchy. | read | false | unknown |
| get-sending-stats 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. | read | false | unknown |
| get-billing-usage Get the current billing cycle usage for the account (sending and testing plans, limits, and current counts). | read | false | unknown |
| list-contact-lists List all contact lists for the account. Optionally filter by name with `search` (case-insensitive match). | read | false | unknown |
| create-webhook 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. | write | true | unknown |
| reply-all-to-inbound-message Reply to an inbound message and copy the original's other recipients. Sends a real email. | write | true | unknown |
| create-contact-event Record a contact event (by `name` + arbitrary `params`) against a contact ID or email. Used to trigger automations. | write | true | unknown |
| reply-to-inbound-message Reply to an inbound message (sends to the original sender). Sends a real email. | write | true | unknown |
| update-sandbox-project Rename an existing sandbox project | write | true | unknown |
| get-api-token Get an API token by ID. The secret token value is NOT returned here — only the metadata (name, last 4 digits, resources). | read | false | unknown |
| delete-sandbox-project Delete a sandbox project and all its inboxes | destructive | true | true |
| get-contact-import Get the status of a contact import job, including created/updated/over-limit counts. | read | false | unknown |
| get-sandbox-attachment Get the metadata and download URL for a single sandbox attachment. | read | false | unknown |
| get-sandbox-message-html Get the rendered HTML body of a sandbox message. | read | false | unknown |
| reset-sandbox-credentials Reset the SMTP credentials for a sandbox | unknown | unknown | unknown |
| remove-account-access 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. | destructive | true | true |
| delete-sandbox-inbox Delete a sandbox inbox and all its messages | destructive | true | true |
| list-sandbox-projects List all sandbox projects and their inboxes in your Mailtrap account | read | false | unknown |
| delete-sending-domain Delete a sending domain | destructive | true | true |
| update-webhook 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. | write | true | unknown |
| list-suppressions List or search suppressions. Optionally filter by email. Returns up to 1000 suppressions per call. | read | false | unknown |
| batch-send-transactional-email 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`. | write | true | unknown |
| update-inbound-folder Rename an inbound folder. | write | true | unknown |
| create-contact Create a new contact. Requires `email`; optionally accepts custom `fields`, `list_ids` to subscribe to, and `unsubscribed` to start in unsubscribed status. | write | true | unknown |
| get-inbound-folder Get a single inbound folder by ID. | read | false | unknown |
| list-inbound-inboxes List all inboxes in an inbound folder. | read | false | unknown |
| delete-inbound-inbox Permanently delete an inbound inbox. | destructive | true | true |
| update-contact 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. | write | true | unknown |
| create-contact-field Create a new contact field definition. `merge_tag` must be unique and is used in template variables. | write | true | unknown |
| list-inbound-folders List all inbound folders in the account. | read | false | unknown |
| delete-inbound-folder Permanently delete an inbound folder along with all of its inboxes. | destructive | true | true |
| update-inbound-inbox Rename an inbound inbox. | write | true | unknown |
| create-inbound-folder Create a new inbound folder. | write | true | unknown |
| get-inbound-inbox Get a single inbound inbox by ID. | read | false | unknown |
| list-inbound-messages List received messages in an inbound inbox (paginated). Pass `last_id` from a previous response to fetch the next page. | read | false | unknown |
| create-inbound-inbox 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. | write | true | unknown |
| get-inbound-message Get a single inbound message with its full body and attachment download URLs. | read | false | unknown |
| delete-inbound-message Permanently delete an inbound message. | destructive | true | true |
| list-inbound-threads List conversation threads in an inbound inbox (paginated). Pass `last_id` from a previous response to fetch the next page. | read | false | unknown |
| get-inbound-thread Get a single inbound thread with its messages embedded (oldest first). | read | false | unknown |
| forward-inbound-message Forward an inbound message to new recipients (at least one `to` is required). Sends a real email. | unknown | unknown | unknown |
| delete-inbound-thread Permanently delete an inbound thread. | destructive | true | true |
| update-template Update an existing email template | write | true | unknown |
| get-sandbox-message-text Get the plain-text body of a sandbox message. | read | false | unknown |
| get-sandbox-message-headers Get the parsed mail headers for a sandbox message. | read | false | unknown |
| send-sending-domain-setup-instructions Email DNS setup instructions for a sending domain to a given address. | write | true | unknown |
| create-api-token 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. | write | true | unknown |
| mark-sandbox-as-read Mark all messages in a sandbox as read | read | false | unknown |
| get-sandbox-message-eml Get a sandbox message as an EML file payload. | read | false | unknown |
| delete-contact Permanently delete a contact by ID or email. Returns the deleted contact record when available. | destructive | true | true |
| get-contact Get a contact by ID or email address. Returns the full contact record including list memberships, status, and custom fields. | read | false | unknown |
| delete-sandbox-message Delete a single sandbox message | destructive | true | true |
| delete-webhook Permanently delete a webhook by ID. Returns the deleted webhook record. | destructive | true | true |
| update-contact-field Update a contact field definition. Any combination of `name`, `merge_tag`, or `data_type` can be changed. | write | true | unknown |
| get-sandbox-messages Get list of messages from the sandbox test inbox | read | false | unknown |
| create-sandbox-inbox Create a new sandbox test inbox within a project. Returns SMTP credentials for the new inbox. | write | true | unknown |
| create-template Create a new email template | write | true | unknown |
| get-contact-list Get a contact list by ID. | read | false | unknown |
| get-sandbox-message-html-analysis Get HTML analysis for a sandbox message (client compatibility, problematic elements). | read | false | unknown |
| enable-sandbox-email-address Enable the receive-by-email address for a sandbox | unknown | unknown | unknown |
| delete-contact-field Permanently delete a contact field definition by ID. | destructive | true | true |
| list-webhooks List all webhooks for the account. | read | false | unknown |
| send-sandbox-email Send an email in sandbox mode to a test inbox without delivering to your recipients | write | true | unknown |
| get-sandbox-message-raw Get the raw message (MIME-formatted) for a sandbox message. | read | false | unknown |
| get-sandbox-message-spam-score Get the SpamAssassin spam report for a sandbox message (score, rules, report). | read | false | unknown |
| get-sandbox-inbox Get sandbox inbox details including SMTP credentials, email counts, and status | read | false | unknown |
| get-sending-domain Get a sending domain by ID and its verification status. Optionally include DNS setup instructions via include_setup_instructions. | read | false | unknown |
| create-contact-import Bulk import contacts. Returns an import job record; poll status via `get-contact-import`. | write | true | unknown |
| show-sandbox-email-message 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. | read | false | unknown |
| forward-sandbox-message Forward a sandbox message to an email address (counts against your monthly forwarding quota) | unknown | unknown | unknown |
| update-sandbox-message Mark a sandbox message as read or unread | write | true | unknown |
| list-sandbox-attachments List all attachments on a sandbox message. | read | false | unknown |
| get-email-log-message Get a single email log message by ID (UUID) to inspect delivery status and event history. | read | false | unknown |
| send-email Send an email to your recipient email address using Mailtrap Email API. You can send emails to multiple recipients at once. | write | true | unknown |
| create-contact-export Export contacts matching a set of AND-combined filters. Returns an export job; poll status with `get-contact-export` to retrieve the download URL. | write | true | unknown |
| bulk-update-permissions 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. | write | true | unknown |
02Install & source
npx -y mcp-mailtrap
npx- repohttps://github.com/railsware/mailtrap-mcp
- homepagehttps://mailtrap.io
- licenseMIT
- adoption63 stars · 14 forks
03Access granted
Update a CRM · destructiveSend email · writeWorkflow automation · destructiveRead email · destructive
The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.
05Provenance & freshness
sourcesAwesome MCP Servers (wong2) [p6]
last_checked2026-08-16 18:31Z
next_check2026-08-16 21:31Z
cadenceevery 3h
verifiedhandshake:failed metadata:passed handshake:failed metadata:passed handshake:failed metadata:passed handshake:failed metadata:passed handshake:failed metadata:passed
index_statusindex — 9 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](https://mcpexplorer.com/servers/mailtrap)
Next step
This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.
Explore loadouts →