resend-streamable
MCP Server for interacting with resend.com. Written in TypeScript, Node and Hono.dev
claude mcp add --transport stdio iceener-resend-streamable-mcp-server npx mcp-remote http://localhost:3000/mcp --transport http-only \ --env NO_PROXY="127.0.0.1,localhost"
How to use
This MCP server provides a streamable-http interface to manage email newsletters via Resend. It enables you to connect a client that speaks the MCP protocol to control contacts, segments, templates, campaigns, and subscriptions programmatically, using human-friendly identifiers like emails and segment names rather than raw IDs. The server auto-generates multipart emails (HTML + plain text) and supports both single-send and broadcast workflows. You can inspect data with find_contacts and segments, upsert contacts in bulk, and send messages or campaigns to named segments. The design prioritizes LLM-friendly task tooling, bulk operations, and clear feedback so an agent can plan actions, execute them, and receive summaries and next steps.
To use, set up an MCP client (like Alice App or Claude Desktop) to connect to the MCP endpoint exposed by the server (e.g., http://127.0.0.1:3000/mcp). The client will send tools such as upsert_contacts, find_contacts, segments, send, campaigns, subscriptions, and templates to perform tasks. For sending, you can target individual recipients or broadcast to a named segment; you can also leverage templates with variables and personalize messages. The server emphasizes human identifiers (emails and segment names), supports scheduling, and returns actionable results that include summaries and next steps.
How to install
Prerequisites:
- Bun (recommended) or Node.js 20+
- A Resend account with a verified domain
-
Clone the repository and navigate to the project directory
-
Install dependencies
bun install
- Create and configure the environment
- Copy the example env file and adjust values
cp env.example .env
Edit .env to configure:
- PORT (default 3000)
- AUTH_ENABLED (true/false)
- AUTH_STRATEGY (bearer by default)
- BEARER_TOKEN (random token for authentication)
- RESEND_API_KEY (your Resend API key)
- RESEND_DEFAULT_FROM (verified sender address)
4) Run the server
bun dev
5) Verify the MCP endpoint
MCP: http://127.0.0.1:3000/mcp
Optional: If you’re using the example client config, you can start a remote MCP connection using npx as shown in the mcp_config example above.
Additional notes
Tips and common considerations:
- Ensure RESEND_DEFAULT_FROM is a verified sender address to avoid delivery issues.
- If you enable AUTH_ENABLED, use a strong BEARER_TOKEN and send Authorization: Bearer <token> from your MCP client.
- The server supports a dual runtime (Node.js/Bun or Cloudflare Workers); choose your preferred runtime when deploying.
- Segment names are treated as case-insensitive; be consistent to avoid confusion.
- Broadcasts are scheduled by the client; you can cancel or adjust timing as needed before sending.
- Templates must be published in the Resend dashboard to be usable via send with a template.
- When using upsert_contacts, you can bulk-add or update multiple contacts with a single call (up to practical limits).
- For debugging, review the returned summary fields (created, updated, failed) to verify operations succeeded.
Related MCP Servers
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud