Mailsink
About
Programmatic temp email inboxes for QA tests and AI agents. 8 MCP tools, free tier 50 inboxes/month, MCP server published as @mailsink/mcp on npm.
Details
- Author
- heocoi
- Downloads
- 313
- Categories
- Other, Developer Tools, Automation
Jump to
- Eight typed MCP tools for email workflow automation
- Provision disposable inboxes with create_inbox
- Wait for incoming emails with configurable timeout (up to 120s)
- Extract OTP codes and magic links from received emails
- List, read, and delete inboxes programmatically
- No webhooks, IMAP, or MIME parsing required
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MailsinkCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install globally via npm install -g @mailsink/mcp or run with npx -y @mailsink/mcp. Requires a free API key from mailsink.dev (exported as MAILSINK_API_KEY). Configure the client's mcpServers section with command npx and args ["-y", "@mailsink/mcp"] plus MAILSINK_API_KEY in env. Restart the client to see eight tools like create_inbox, wait_for_email, get_verification_code, etc.
create_inbox
Create a temporary email inbox. Returns the email address to use for signups/verification.
wait_for_email
Wait for an email to arrive in an inbox. Polls until a message appears or timeout.
get_verification_code
Get the most recent OTP/verification code from an inbox. Polls if no code found yet.
get_verification_link
Get the most recent verification/magic link from an inbox. Polls if no link found yet.
list_messages
List all messages in an inbox.
get_message
Get the full content of a specific message.
delete_inbox
Delete an inbox and all its messages.
list_inboxes
List all active (non-expired) inboxes.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mailsink": {
"mailsink": {
"command": "npx",
"args": [
"-y",
"@mailsink/mcp"
],
"env": {
"MAILSINK_API_KEY": "msk_..."
}
}
}
}
}
McpServers
{
"mailsink": {
"command": "npx",
"args": [
"-y",
"@mailsink/mcp"
],
"env": {
"MAILSINK_API_KEY": "msk_..."
}
}
}
@mailsink/mcp
Model Context Protocol server for MailSink —
programmatic temporary email inboxes for AI agents and test automation.
Gives your agent eight typed tools for provisioning disposable addresses,
waiting on signup emails, extracting OTP codes and magic links, and cleaning
up after itself. Works in Claude Code, Claude Desktop, Cursor, Windsurf, and
any other MCP-aware client.
Install
npm install -g @mailsink/mcp
Or run via npx without installing:
npx @mailsink/mcp
Get an API key
1. Sign in at <https://mailsink.dev/app> with GitHub.
2. Copy the key from the one-time reveal. Store it in your password manager
or .env.
3. Export it so the MCP server can read it:
export MAILSINK_API_KEY="msk_..."
Free tier is 50 inboxes/month and includes MCP. Pro ($15/mo) and Team
($49/mo) lift the inbox cap, raise email size limits, extend TTL, and
bump request rates. See pricing.
Configure your client
Claude Code
claude mcp add mailsink -- npx -y @mailsink/mcp
Claude Desktop / Cursor / Windsurf
Add to the mcpServers section of the client's config file:
{
"mcpServers": {
"mailsink": {
"command": "npx",
"args": ["-y", "@mailsink/mcp"],
"env": {
"MAILSINK_API_KEY": "msk_..."
}
}
}
}
Restart the client. You should see the mailsink server listed with its
eight tools.
Tools
| Tool | Purpose |
|---|---|
| create_inbox | Provision a throwaway address. Returns email, id, expires_at. |
| list_inboxes | List active inboxes on the account. |
| wait_for_email | Block up to timeout seconds (max 120) for any email to arrive. |
| get_verification_code | Extract the most recent OTP from the inbox (polls until found or timeout). |
| get_verification_link | Extract the most recent magic link. |
| list_messages | Summaries of all messages in an inbox. |
| get_message | Full content of a specific message by ID. |
| delete_inbox | Burn an inbox immediately. |
Example agent flow
> Sign me up for Figma, capture the verification code, confirm, and
> tell me the plan once you're in.
[agent invokes]
create_inbox() → agent@codenotify.net
[agent fills the Figma signup form with that address]
wait_for_email(inbox_id) → blocks 30s…
→ returns email + OTP
[agent types the OTP into the Figma form]
delete_inbox(inbox_id) → cleanup
No webhook plumbing. No IMAP credentials. No parsing MIME.
Environment variables
- MAILSINK_API_KEY (required) — your account's API key.
- MAILSINK_API_URL (optional, default https://api.mailsink.dev) —
override for self-hosted or dev API.
Source
<https://github.com/heocoi/mailsink/tree/main/mcp>
License
MIT — see LICENSE.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


