Sign In

@eusend_dev/mcp

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@eusend_dev/mcp

Model Context Protocol server for the Eusend API — send email and manage domains, audiences, and broadcasts from any MCP client.

latest
npmnpm
Version
0.2.3
Version published
Maintainers
1
Created
Source

@eusend_dev/mcp

Model Context Protocol server for Eusend. Lets any MCP-compatible AI client — Claude Code, Claude Desktop, Cursor, Windsurf, and others — send email and manage domains, audiences, and broadcasts through your Eusend account.

It's a thin wrapper over @eusend_dev/sdk: each tool is a typed call into the SDK. The same server runs two ways — stdio (local, launched by your client) and HTTP (hosted/remote) — from one codebase.

Tools

AreaTools
Emailssend_email, list_emails, get_email, cancel_email
Domainslist_domains, get_domain, create_domain
Audiences & contactslist_audiences, create_audience, list_contacts, create_contact
Broadcastslist_broadcasts, get_broadcast, create_broadcast, send_broadcast

Destructive operations (deleting domains, audiences, contacts, API keys) are intentionally not exposed. send_broadcast is a bulk send — clients are instructed to confirm first.

Local setup (stdio)

Get an API key at https://eusend.dev/api-keys.

Claude Code

claude mcp add eusend --env EUSEND_API_KEY=eusend_live_xxx -- npx -y @eusend_dev/mcp

Claude Desktop / Cursor / Windsurf

Add to the client's MCP config (claude_desktop_config.json, .cursor/mcp.json, …):

{
  "mcpServers": {
    "eusend": {
      "command": "npx",
      "args": ["-y", "@eusend_dev/mcp"],
      "env": {
        "EUSEND_API_KEY": "eusend_live_xxx",
        "EUSEND_FROM": "you@yourdomain.com"
      }
    }
  }
}

Setting EUSEND_FROM pins a default sender so the agent doesn't have to guess one on send_email / create_broadcast.

Remote setup (HTTP)

The same binary serves Streamable HTTP. The API key is taken per-request from the Authorization: Bearer <key> header, so one endpoint serves many accounts.

# run locally on :3000
npx -y @eusend_dev/mcp --http --port 3000

# behind a TLS reverse proxy at mcp.eusend.dev
npx -y @eusend_dev/mcp --http --host 0.0.0.0 --port 3000 --allowed-hosts mcp.eusend.dev

Connect a client to it:

claude mcp add --transport http eusend https://mcp.eusend.dev/mcp

DNS-rebinding protection is on by default (localhost only); pass --allowed-hosts with your public host when running behind a proxy.

Configuration

FlagEnvPurpose
--keyEUSEND_API_KEYAPI key (stdio only; HTTP takes it per-request)
--fromEUSEND_FROM / SENDER_EMAIL_ADDRESSDefault sender address
--reply-toEUSEND_REPLY_TODefault Reply-To
--base-urlEUSEND_BASE_URLOverride the API base URL
--httpRun the HTTP transport instead of stdio
--portMCP_PORTHTTP port (default 3000)
--hostMCP_HOSTHTTP bind host (default 127.0.0.1)
--allowed-hostsMCP_ALLOWED_HOSTSComma-separated Host allowlist

Development

bun run build        # bundle to dist/ (stdio + http entries)
bun run typecheck
bun run inspect      # open the MCP Inspector against the stdio server

Keywords

mcp

FAQs

Package last updated on 17 Aug 2026

Related posts