Skip to main content
Glama
@emailalias/mcp

@emailalias/mcp

by emailalias

@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.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.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/mcp

Then 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

EMAILALIAS_API_KEY

✅

—

Premium-only. Starts with ea_live_.

EMAILALIAS_BASE_URL

❌

https://emailalias.io

Override for staging/self-host.

Available tools

Tool

What it does

list_aliases

All aliases with forwarded/blocked counts

create_alias

Create a random / custom / tagged alias

update_alias

Toggle active, rename label

update_alias_display_name

Change the sender display name (Premium, 24h cooldown)

delete_alias

Permanently delete an alias

list_available_domains

System + custom domains available

list_domains

Custom domains with verification + catch-all detail

add_domain

Register a custom domain (returns required DNS records)

verify_domain

Re-check DNS and mark the domain verified

delete_domain

Remove a custom domain (also deletes its aliases)

set_catch_all

Enable/disable catch-all on a custom domain (Premium)

disable_catch_all_aliases

Bulk-disable aliases catch-all auto-created

list_destinations

Primary + verified forwarding inboxes

add_destination

Register a new forwarding destination (triggers verify email)

delete_destination

Remove a destination (blocks if aliases still use it)

resend_destination_verification

Resend the verify email to a pending destination

send_email

Send from an alias (Premium)

get_dashboard_stats

Account-wide counters

list_email_logs

Paginated forwarding log (last 90 days)

list_exposure_events

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

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

License

MIT

Available Tools

13 tools
add_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

    A4.1/5.0

    Scored across 13 tools

    Disambiguation5/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness5/5

    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

    ActivitySlowing
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to manage Migadu email hosting services through natural language, including creating mailboxes, setting up aliases, configuring autoresponders, and handling bulk operations efficiently.
      35
      17
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      Enables 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.
      14
      2
      Apache 2.0
    • A
      license
      C
      quality
      C
      maintenance
      Provides AI assistants with access to PurelyMail's email management API, enabling user, domain, routing, and billing management through natural language.
      19
      43 npm
      13
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables reading, sending, and managing emails via IMAP/SMTP through natural language, including listing folders, searching, moving emails, and sending attachments.
      8
      6 npm
      MIT