Aliasify

MCP server

Let an AI assistant manage your aliases and mailboxes through the Model Context Protocol

Aliasify exposes a remote Model Context Protocol server. Once connected, an MCP client (Claude Code, Cursor, any client that speaks Streamable HTTP) can list your aliases, read and sort your mail, and, if you allow it, reply or send.

  • URL: https://api.junkmail.site/mcp
  • Transport: Streamable HTTP, POST only (stateless, JSON responses)
  • Auth: OAuth 2.1 (for connectors such as Claude) or an API key sent as Authorization: Bearer jm_... (Business plan, same keys as the REST API)

Add it as a Claude connector (OAuth)

In Claude (claude.ai, Desktop, mobile), add a custom connector with the URL https://api.junkmail.site/mcp and sign in when asked. Claude opens the Aliasify consent screen: it shows who is asking and where you will be sent back, and you tick the permissions to give. Nothing else to configure, no key to copy.

  • Requires a Business plan.
  • Permissions (emails:read, emails:write, emails:send) are the same as for API keys; you can give less than what is requested.
  • Access tokens last one hour and are renewed automatically; the connection ends after 30 days without use, or as soon as the account is suspended.
  • Claude Code can use the same flow: claude mcp add --transport http aliasify https://api.junkmail.site/mcp, then /mcp to sign in.

The authorization server follows OAuth 2.1: authorization code with PKCE (S256), dynamic client registration, refresh token rotation. Discovery documents are at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server.

Or use an API key

Create a key

Create an API key as described in Authentication and choose the scopes you want the assistant to have:

ScopeWhat the assistant can do
emails:readList aliases, list and read emails
emails:writeCreate/delete aliases, sort, trash, restore
emails:sendReply and send mail (separate on purpose: a key that can sort and delete cannot become a mail relay)

A tool only appears when the key carries its scope. /mcp accepts one call per request (no JSON-RPC batches) and is rate-limited to 30 requests per minute. For a read-only assistant, give the key emails:read only. A key with neither scope is refused.

Connect a client

Claude Code:

claude mcp add --transport http aliasify https://api.junkmail.site/mcp \
  --header "Authorization: Bearer jm_your_key"

Any client that reads a JSON configuration:

{
  "mcpServers": {
    "aliasify": {
      "type": "http",
      "url": "https://api.junkmail.site/mcp",
      "headers": { "Authorization": "Bearer jm_your_key" }
    }
  }
}

Both credentials work on the same URL.

Tools

ToolScopeDescription
list_aliasesreadYour aliases with address, label and unread count
list_emailsreadEmails, newest first, without bodies. Filters: alias, unread, starred, archived, trash, text, page
read_emailreadOne email in full (text body, capped at 20,000 characters)
create_aliaswriteCreate an alias (label, custom prefix). Plan quotas apply
delete_aliaswriteDelete an alias and all its emails. Cannot be undone
set_email_statewriteMark read/unread, star, archive
delete_emailwriteMove to the trash (recoverable for 30 days)
restore_emailwriteBring an email back from the trash
reply_to_emailsendReply to the sender, from the receiving alias
send_emailsendSend a new message from one of your aliases

reply_to_email and send_email really send mail and follow your plan's sending rules. Permanent deletion of a single email is not exposed: delete_email always goes through the trash.

Safety

Incoming emails are written by third parties. Every email returned by the server is marked as untrusted data, but your client and model still decide what to do with it: keep tool-call confirmation on for the write tools if you let an assistant read mail from unknown senders.

MCP server