MailSlurp
MailSlurp provides programmable email and SMS inboxes, sending, testing, webhooks, and deliverability tools through a REST API.
Verdict
Common use cases
- Generate throwaway inboxes for QA test runs
- Verify transactional email content during demos
- Monitor signup confirmation emails in staging
- Debug webhook payloads sent to email endpoints
- Isolate customer support scenarios with unique addresses
Integration
- Vendor
- MailSlurp
- Category
- other
- Auth
- API_KEY
- Tools
- 14
- Composio slug
mailslurp
Tools
- Create Inbox
Create a MailSlurp HTTP or SMTP inbox. HTTP inboxes are the default and can send and receive; SMTP inboxes are receive-only.
- Delete Inboxdestructive
Permanently delete one MailSlurp inbox by UUID, including its email address and all emails it contains. This destructive action cannot be undone.
- Get Account Info
Return the connected MailSlurp account identity, state, account type, subscription type, and creation time. Use this to check account availability before attempting quota- or plan-sensitive operations.
- Get Email
Get one fully hydrated received email by UUID, including parsed headers, body content, recipients, and attachment IDs. Fetching hydrated content may mark the email as read.
- Get Inbox
Get one MailSlurp inbox by UUID, including its email address, type, labels, and lifecycle state.
- List Contact Groups
List saved MailSlurp contact groups with optional creation-time filters. Returns one page and a continuation cursor.
- List Contacts
List saved MailSlurp contacts with optional search and creation-time filters. Returns one page and a continuation cursor.
- List Domains
List custom domains configured for the connected MailSlurp account, including identifiers, domain type, and DNS verification state.
- List Emails
List received emails across the account or one selected inbox with unread, exact-search, favorite, plus-address, and time filters. Returns one page and a continuation cursor.
- List Email Templates
List saved MailSlurp email templates with optional creation-time filters. Returns one page and a continuation cursor without large template bodies.
- List Inboxes
List MailSlurp inboxes with optional search, tag, type, domain, favorite, and creation-time filters. Returns one page and a continuation cursor.
- List Sent Emails
List sent-email records, optionally filtered by source inbox, exact identifier/address search, and creation time. Returns one page and a continuation cursor.
- Send Email
Send an email from a specific MailSlurp inbox to addresses, saved contacts, or one contact group. Supports plain text or HTML, uploaded attachment IDs, and saved templates. The legacy endpoint confirms acceptance but does not return a sent-
- Update Inbox
Update an inbox's name, description, tags, expiration, or favorite status. Provide at least one field to update. The inbox email address cannot be changed.
Setup
Setup guide
- 11. Open your Switchy workspace settings and navigate to the Integrations tab. 2. Find MailSlurp in the MCP directory and click Connect. 3. You'll be prompted to paste a MailSlurp API key — generate one by logging into your MailSlurp dashboard, navigating to API Keys under account settings, and copying the key string. 4. Paste the key into Switchy and click Authorize. 5. Switchy will verify the connection by calling the Get Account Info tool; you'll see your account type and subscription tier if successful. 6. Open any Project and type '@MailSlurp create an inbox for testing the password reset flow' to confirm the MCP responds with a new inbox UUID and email address. 7. Use that address in your test scripts or manual workflows, then retrieve messages with '@MailSlurp get emails from inbox [UUID]' to inspect delivery.
What teammates see: by default, memories from MailSlurp are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Projects have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Create Test Inbox
@MailSlurp create a new inbox labeled 'checkout-flow-test' and give me the email address
Fetch Recent Emails
@MailSlurp list all emails in inbox [paste-inbox-UUID-here] received in the last hour
Check Account Quota
@MailSlurp show my account info including subscription type and any usage limits
Inspect Email Details
@MailSlurp get the complete email with UUID [paste-email-UUID-here] including headers and attachments
Clean Up Test Inboxes
@MailSlurp delete inbox [paste-inbox-UUID-here] and confirm it's gone
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@MailSlurp create a new inbox called 'support-test' and show me its email address so I can use it for integration testing
Created inbox 'support-test' with address `7f3a9b2c@mailslurp.net` (UUID: 7f3a9b2c-4d1e-4a8f-9c3b-2e5f8a1d6c9b). This is an HTTP inbox that can send and receive email. The address is live and ready to accept messages. You can reference this inbox by UUID in subsequent commands to check for received mail or send outbound messages.
MailSlurp generates random email addresses by default unless you've configured custom domains. HTTP inboxes support both send and receive; if you need receive-only behavior, specify SMTP type at creation. Inboxes persist until explicitly deleted, so remember to clean up test inboxes to avoid hitting account quotas.
@MailSlurp check the 'support-test' inbox for any emails received in the last hour and summarize the senders and subject lines
Inbox `7f3a9b2c@mailslurp.net` received 3 emails in the last hour: (1) from `user@example.com`, subject 'Password reset request' at 14:23 UTC; (2) from `noreply@service.io`, subject 'Your verification code is 482910' at 14:31 UTC; (3) from `alerts@monitor.app`, subject 'Server health check passed' at 14:47 UTC. All emails are unread and available for full retrieval by UUID.
This example demonstrates polling an inbox for received mail, a common pattern in end-to-end testing workflows. The Get Email tool can hydrate full content including parsed headers and attachments, but fetching may mark messages as read. If your tests depend on unread state, coordinate polling carefully or use separate inboxes per test case.
@MailSlurp pull the full content of the verification code email from 'support-test' and extract the six-digit code so I can complete the signup flow
Retrieved email from `noreply@service.io` (UUID: a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d). Body excerpt: 'Your verification code is **482910**. This code expires in 10 minutes.' Extracted code: `482910`. The email was sent at 14:31:22 UTC and contains no attachments. This message is now marked as read in the MailSlurp inbox.
This workflow pairs MailSlurp's email retrieval with AI parsing to automate verification flows in integration tests. Be aware that fetching hydrated email content marks it as read, which may affect test isolation if multiple processes poll the same inbox. For high-volume testing, consider creating ephemeral inboxes per test run and deleting them afterward to stay within account quotas.
Use-case deep-dives
When MailSlurp beats manual QA for onboarding emails
A 6-person SaaS team ships a new user onboarding flow every two weeks and needs to verify that welcome emails, verification links, and password resets land correctly across Gmail, Outlook, and custom domains. MailSlurp wins here because you can spin up a fresh inbox per test run, fetch the email by UUID, parse the verification token from the body, and tear down the inbox—all in one Switchy workflow. The create-inbox and get-email tools handle 90% of the work. The threshold: if you're only testing one or two flows per quarter, a shared Gmail account is cheaper. But if your team runs regression suites or tests localization variants, MailSlurp's programmatic inbox lifecycle pays for itself in saved QA hours. Use this MCP when your onboarding emails are mission-critical and you need proof they work before each release.
Why MailSlurp isn't the right call for inbound support queues
A 3-person support team receives 40 customer emails daily and wants to route them into Linear or Notion based on subject-line keywords. MailSlurp can technically do this—create an inbox, poll for new emails, parse headers—but it's the wrong tool. The MCP has no webhook or real-time notification primitives, so you'd be polling the list-emails endpoint every few minutes and burning API quota. More importantly, MailSlurp inboxes are ephemeral by design; they're built for testing and automation, not long-lived support addresses. If you need a stable support@yourcompany.com that forwards to Switchy for triage, use a traditional email provider with forwarding rules or a dedicated helpdesk MCP. Save MailSlurp for scenarios where you control the inbox lifecycle and need programmatic access to transient addresses.
When MailSlurp solves the 'did the webhook fire' problem
A 4-person eng team integrates with a third-party payments API that sends transaction receipts and dispute notifications via email webhook. The API docs are thin, the staging environment is flaky, and the team needs to capture real email payloads to debug parsing logic. MailSlurp is the right call: create a dedicated inbox for the staging webhook URL, configure the partner to send notifications there, then use get-email to pull the raw headers and body into Switchy for inspection. The delete-inbox tool lets you reset state between test runs. This works because the inbox is short-lived and you control both ends of the flow. The trade-off: MailSlurp's 14 tools include contact-group and domain management that you won't touch for this scenario, so you're paying for scope you don't need. But if webhook email debugging is a monthly task, the MCP is faster than forwarding rules and manual Gmail searches.
Frequently asked
What does the MailSlurp MCP let me do in Switchy?
It creates and manages disposable email inboxes for testing, automation, and temporary communication. You can spin up HTTP inboxes that send and receive, or SMTP inboxes that only receive. The MCP also fetches emails, reads headers and attachments, and manages contacts and custom domains. It's useful for QA workflows, webhook testing, or any scenario where you need throwaway addresses without touching your real inbox.
Do I need a paid MailSlurp account to use this MCP?
You need a MailSlurp account and an API key. The free tier works, but MailSlurp enforces strict quota limits on inbox creation and email volume. The MCP includes a Get Account Info tool so your AI can check your plan type and remaining quota before attempting operations that might fail. If you're creating more than a handful of inboxes per month, expect to pay for a subscription.
Can the MCP send outbound emails from my MailSlurp inboxes?
Yes, but only from HTTP inboxes. When you create an inbox, specify the HTTP type to enable both sending and receiving. SMTP inboxes are receive-only. The representative tool list doesn't show the send operation, but MailSlurp's API supports it and the MCP exposes all 14 available tools. You can compose and send emails, attach files, and set custom headers through the connected inbox.
How is this different from just using MailSlurp's dashboard or API directly?
The MCP lets your AI create inboxes, read emails, and manage contacts on the fly without you writing integration code or switching tabs. If you're already scripting MailSlurp via their REST API, the MCP won't add much. But if you want an AI to orchestrate email-based testing or handle temporary communication as part of a larger workflow, the MCP saves you from building that glue layer yourself.
Who on my team should connect the MailSlurp MCP?
Whoever owns your MailSlurp account and can generate an API key. That key grants full control over inboxes, emails, contacts, and domains, so treat it like a password. If multiple people need access, create separate MailSlurp accounts or use a shared service account. The MCP doesn't consume Switchy seats, but every inbox you create counts against your MailSlurp plan quota.