Mailsend

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 1, 2026

Send and manage email, domains, audiences, and API keys through the Resend API.

Overview

AI-generated overview

Local MCP server that lets an assistant send email and manage Resend domains, API keys, audiences and contacts through the Resend API.

What you can do
  • Send an email with from, to, subject and optional html, text, cc, bcc and reply_to, then list or fetch sent emails by ID.
  • Create, list, inspect and delete sending domains, and start DNS verification for a domain.
  • Create, list and delete Resend API keys, optionally scoped to one domain.
  • Create and list audiences, and add or list contacts within an audience.
  • Each operation is a single call to the Resend REST API and returns its JSON answer as-is.
When to use it
Useful when an assistant should handle the sending side of a Resend account: composing and sending mail, checking what was sent, setting up and verifying sending domains, rotating API keys, or maintaining mailing audiences and contacts. It covers a documented core subset of Resend, so broadcasts, templates, webhooks and inbound email are not available.
Requirements
Runs locally over stdio via npx (npm package) or the Docker image. A Resend account and API key are required, supplied in the RESEND_API_KEY environment variable; without it every operation fails. Network access to the Resend API is needed.
Before you install
The server holds a Resend API key that can send mail and create or delete API keys, domains and contacts, so grant a narrowly scoped key. Sending email, deleting domains or keys, and adding contacts all change real account state and can reach third parties. Newly created API keys are credentials to protect.

Installation

In SourceWeft

  1. Open Mailsend in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mailsend

mailsend lets an agent run the sending side of a Resend account: send a message and look it back up, set up a sending domain and start its DNS verification, mint or retire API keys, and keep audiences and their contacts in order. Each operation is one call against the Resend REST API, and the API's JSON answer comes back as-is. It runs from the command line or as an MCP server for agents.

A Resend API key is required. Put it in the RESEND_API_KEY environment variable; the key is sent to the API as a Bearer token and never appears in output. When the variable is missing, every operation fails with an error that names it.

Install

bash
npx @reneturcios/mailsend list-domains

Or run the container image:

bash
docker run -i -e RESEND_API_KEY ghcr.io/cloudcorprecords/mailsend

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

bash
export RESEND_API_KEY="your API key"
mailsend send --from "Acme <[email protected]>" --to [email protected] \  --subject "Welcome" --text "Hello there"mailsend list-emails --limit 10mailsend list-domainsmailsend list-audiences
mailsend --version

Exit codes: 0 on success, 1 when an API call fails (including a missing RESEND_API_KEY), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/mailsend mcp

MCP client configuration:

json
{  "mcpServers": {    "mailsend": {      "command": "npx",      "args": ["-y", "@reneturcios/mailsend", "mcp"],      "env": { "RESEND_API_KEY": "your API key" }    }  }}

Tools

ToolInputWhat it does
send_emailfrom, to (array), subject (required); html, text, cc, bcc, reply_to (optional)Send an email.
list_emailslimit (integer, optional)List sent emails.
get_emailid (required)Get one sent email by ID.
create_domainname (required), region (optional)Create a sending domain.
list_domains—List sending domains.
get_domainid (required)Get one domain, including its DNS records.
verify_domainid (required)Start DNS verification for a domain.
delete_domainid (required)Delete a sending domain.
create_api_keyname (required), permission, domain_id (optional)Create an API key.
list_api_keys—List API keys.
delete_api_keyid (required)Delete an API key.
create_audiencename (required)Create an audience.
list_audiences—List audiences.
create_contactaudience_id, email (required); first_name, last_name, unsubscribed (optional)Add a contact to an audience.
list_contactsaudience_id (required), limit (optional)List contacts in an audience.

This is a documented core subset of the Resend platform surface. The hosted Resend MCP also covers broadcasts, templates, webhooks, segments, topics, contact properties, batch sending, and received (inbound) email; those groups are not implemented here.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Source: README.md at commit 0b5eae0

Tools

15

send_email

Send an email through Resend.

Parameterscctorequiredbccfromrequiredhtmltextsubjectrequiredreply_to

list_emails

List emails sent through Resend.

Parameterslimit

get_email

Get one sent email by its ID.

Parametersidrequired

create_domain

Create a sending domain in Resend.

Parametersnamerequiredregion

list_domains

List sending domains in Resend.

Takes no parameters.

get_domain

Get one sending domain by its ID, including its DNS records.

Parametersidrequired

verify_domain

Start verification of a sending domain's DNS records.

Parametersidrequired

delete_domain

Delete a sending domain from Resend.

Parametersidrequired

create_api_key

Create a Resend API key, optionally scoped to one domain.

Parametersnamerequireddomain_idpermission

list_api_keys

List Resend API keys.

Takes no parameters.

delete_api_key

Delete a Resend API key.

Parametersidrequired

create_audience

Create an audience in Resend.

Parametersnamerequired

list_audiences

List audiences in Resend.

Takes no parameters.

create_contact

Add a contact to an audience in Resend.

Parametersemailrequiredlast_namefirst_nameaudience_idrequiredunsubscribed

list_contacts

List contacts in an audience in Resend.

Parameterslimitaudience_idrequired

Version history

1
  1. v0.1.0LatestNov 1, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts