@emailalias/mcp
Summary: This is the EmailAlias.io MCP server — it lets an AI assistant manage email aliases, forwarding destinations, and account activity in natural language (Premium API key required).
Alias management: list, create (random/custom/tagged), update (toggle active, rename label), or permanently delete aliases.
Display names: schedule Premium sender display-name changes (24h cooldown, 3 edits/24h, impersonation patterns rejected).
Destinations: list, add (sends verification email), and delete forwarding inboxes (blocked with 409 if aliases still use them).
Domains: list domains available for creating aliases (system + verified custom).
Sending: send email from an alias (Premium, verified active alias), with optional HTML body.
Monitoring: account-wide dashboard stats, paginated 90-day forwarding logs, and suspicious-sender exposure alerts.
Note: the README also advertises domain-management and catch-all tools (add/verify/delete domain, set_catch_all, etc.) that are not present in this schema.
Allows creating email aliases for signing up to Substack, with labeling capabilities.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@emailalias/mcp Create a new alias for Substack labeled 'newsletters'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@emailalias/mcp
MCP server for the EmailAlias.io REST API. Lets you create, manage, and monitor email aliases from Claude Desktop, Cursor, Zed, Cline, and any other MCP-compatible AI assistant — in natural language.
"Create a new alias for Substack, label it 'newsletter'" "Disable the amazon alias, I'm getting spam" "Show me aliases flagged for suspicious senders this week"
API access is a Premium feature. Generate an API key from Settings → API Keys in the dashboard.
Install
Claude Desktop
Edit your config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Add the emailalias entry under mcpServers:
{
"mcpServers": {
"emailalias": {
"command": "npx",
"args": ["-y", "@emailalias/mcp"],
"env": {
"EMAILALIAS_API_KEY": "ea_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}Restart Claude Desktop. You should see a 🔌 plug icon confirming the server is connected.
Cursor, Zed, Cline, and other MCP clients
Every MCP-compatible client accepts the same shape. Consult your client's docs for the exact config path, then use:
command: npx
args: -y @emailalias/mcp
env: EMAILALIAS_API_KEY=ea_live_...Global install (optional)
If you don't want npx to download the package on each launch:
npm install -g @emailalias/mcpThen change command to emailalias-mcp and drop the -y @emailalias/mcp args.
Related MCP server: Inbound Email MCP Server
Configuration
Env var | Required | Default | Notes |
| ✅ | — | Premium-only. Starts with |
| ❌ |
| Override for staging/self-host. |
Available tools
Tool | What it does |
| All aliases with forwarded/blocked counts |
| Create a random / custom / tagged alias |
| Toggle active, rename label |
| Change the sender display name (Premium, 24h cooldown) |
| Permanently delete an alias |
| System + custom domains available |
| Custom domains with verification + catch-all detail |
| Register a custom domain (returns required DNS records) |
| Re-check DNS and mark the domain verified |
| Remove a custom domain (also deletes its aliases) |
| Enable/disable catch-all on a custom domain (Premium) |
| Bulk-disable aliases catch-all auto-created |
| Primary + verified forwarding inboxes |
| Register a new forwarding destination (triggers verify email) |
| Remove a destination (blocks if aliases still use it) |
| Resend the verify email to a pending destination |
| Send from an alias (Premium) |
| Account-wide counters |
| Paginated forwarding log (last 90 days) |
| Suspicious-sender alerts |
Example prompts (Claude Desktop)
Create an alias for signing up to Substack. Label it "newsletter".Show me all aliases that have received zero emails in 30 days.Disable every alias labelled "shopping" and list what you disabled.What's my exposure alert count for this month?Development
git clone https://github.com/emailalias/emailalias-mcp.git
cd emailalias-mcp
npm install
npm run build
# Test against the MCP Inspector (installs on demand)
npx @modelcontextprotocol/inspector node dist/index.jsEMAILALIAS_API_KEY must be set in your shell for manual runs.
Security notes
Your API key stays on your machine. This server runs locally (stdio transport), invokes the EmailAlias API over HTTPS, and sends the key directly. No third party sees it.
Don't commit
claude_desktop_config.json— it contains your key. Treat it like.env.Scope matters. Any MCP tool your LLM decides to call executes against your live account. Review what the model proposes before approving destructive actions like
delete_alias.
Links
API docs: https://emailalias.io/documentation
EmailAlias.io: https://emailalias.io
Model Context Protocol: https://modelcontextprotocol.io
License
MIT
Available Tools
13 toolsadd_destinationA
Add a new forwarding destination. Triggers a verification email to that address; the destination is unusable until the recipient clicks the link. Premium feature.
Inputs: email (required).
create_aliasA
Create a new email alias. 'random' generates a short code; 'custom' uses custom_code; 'tagged' prepends a random code to a user-provided tag. destination_email must be the user's primary email OR a verified forwarding destination. display_name is Premium-only and shown as the sender on outbound mail.
Inputs: tag, label, domain, alias_type, +3 more.
delete_aliasA
Permanently delete an alias. This cannot be undone. Prefer update_alias with active=false if the user might want it back.
Inputs: alias_id (required).
delete_destinationA
Remove a forwarding destination. Fails with 409 if any alias still forwards to it — reassign those aliases first.
Inputs: destination_id (required).
get_dashboard_statsA
Account-wide counters: total aliases, active aliases, emails forwarded, emails blocked, exposure alerts.
Inputs: no named parameters.
list_aliasesA
List all email aliases on the authenticated EmailAlias account. Returns id, alias_email, destination_email, active, label, emails_forwarded, emails_blocked.
Inputs: no named parameters.
list_available_domainsA
List domains the user can create aliases on (system domains + their verified custom domains).
Inputs: no named parameters.
list_destinationsA
List the user's forwarding destinations (primary email plus verified extras). is_primary=true marks the account email.
Inputs: no named parameters.
list_email_logsA
Paginated email-forwarding log covering the last 90 days. Each item has sender, subject, direction, status, block_reason.
Inputs: page, per_page.
list_exposure_eventsA
Suspicious-sender alerts scored against the user's aliases. Use this to identify risky senders and decide which aliases to disable.
Inputs: page, per_page.
send_emailB
Send an email from one of the user's aliases. The recipient sees only the alias address. Requires Premium and a verified, active alias.
Inputs: body (required), subject (required), alias_id (required), to_email (required), +1 more.
update_aliasA
Update an alias: toggle active (enable/disable) or rename its label. To change the sender display name, use update_alias_display_name (separate 24h-cooldown endpoint).
Inputs: alias_id (required), label, active.
update_alias_display_nameA
Schedule a display-name change on an alias (Premium-only). Edits do NOT take effect immediately — the new value lands in display_name_pending and promotes 24h after the most recent edit. Editing again resets the clock. Capped at 3 edits per rolling 24h per alias. Pass display_name=null (or empty string) to clear; clearing follows the same cooldown. Brand-impersonation patterns (PayPal, Apple, banks, etc.) are rejected with 400.
Inputs: alias_id (required), display_name (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
Every tool targets a distinct resource or action: aliases, display names, destinations, domains, sending, and monitoring are cleanly separated. The potential overlap between update_alias and update_alias_display_name is explicitly disambiguated, and list_email_logs vs list_exposure_events serve clearly different purposes.
Most tools follow a verb_noun snake_case pattern (list_aliases, create_alias, delete_destination, send_email). Minor inconsistencies exist: get_dashboard_stats breaks the list_* convention, and add_destination vs create_alias use different verbs for the same kind of operation.
13 tools is well-scoped for an email alias management server. Each tool covers a meaningful part of the lifecycle without redundant or filler operations, and the count sits comfortably in the ideal range.
The server covers the full alias lifecycle (create, list, update, delete) plus display-name-specific updates, destination management, sending, and monitoring (stats, logs, exposure alerts). No obvious dead ends or critical missing operations for the core domain.
Maintenance
Related MCP Connectors
Private email aliases that forward to your inbox: create, find, edit and turn aliases off or on.
Send email, manage domains, templates, webhooks and broadcasts from your AI agent.
Give AI agents secure access to your email via private aliases with dedicated mailbox storage.
Connect any mailbox to Claude, ChatGPT & AI: read, send, reply, schedule & search emails.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to manage Migadu email hosting services through natural language, including creating mailboxes, setting up aliases, configuring autoresponders, and handling bulk operations efficiently.3517MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to interact with the Inbound Email API to manage domains, endpoints, and email communications. Users can send or schedule emails, manage webhooks, and retrieve email threads through natural language commands.142Apache 2.0
- AlicenseCqualityCmaintenanceProvides AI assistants with access to PurelyMail's email management API, enabling user, domain, routing, and billing management through natural language.1943 npm13MIT
- AlicenseAqualityDmaintenanceEnables reading, sending, and managing emails via IMAP/SMTP through natural language, including listing folders, searching, moving emails, and sending attachments.86 npmMIT