Mailsink

by heocoi

313 downloads
Not rated
GitHub

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

- 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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Mailsink
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.