Resend Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Resend Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP server for Resend — connect any MCP-compatible client to the Resend transactional email API.
An MCP (Model Context Protocol) server that gives AI assistants and agents full access to Resend's email API — send single or batch emails, manage sending domains, API keys, audiences, and contacts — through natural language.
Use it with Claude Desktop, Cursor, Windsurf, Cline, Continue, or any MCP-compatible client to send emails, manage infrastructure, and build automation around email.
Add to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp-server"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxxxxx"
}
}
}
}Get a free API key at resend.com/api-keys.
Ask your AI assistant things like:
abc-123?"mail.acme.com"domain-xyz"audience-1"| Tool | Description |
|---|---|
send_email | Send a transactional email (HTML or plain text, with Cc/Bcc/Reply-To) |
send_batch_email | Send up to 100 emails in a single API call |
list_emails | List recent sent emails with their delivery status |
get_email | Get details for a specific email by ID |
create_domain | Add a new sending domain |
list_domains | List all sending domains in your account |
verify_domain | Trigger DNS verification for a domain |
delete_domain | Remove a sending domain |
create_api_key | Create a new API key (full, sending, or domain-scoped) |
list_api_keys | List all API keys (tokens are hidden) |
delete_api_key | Delete an API key by ID |
list_audiences | List all audiences in your account |
create_audience | Create a new audience for organizing contacts |
list_contacts | List contacts in an audience |
get_contact | Get details for a specific contact by ID |
create_contact | Add a new contact to an audience |
update_contact | Update a contact's email, name, or subscription status |
delete_contact | Remove a contact from an audience |
"Send a welcome email to every new signup" — automate onboarding flows, receipts, and notifications through natural language. No more switching between email dashboards.
"Add mail.acme.com as a sending domain and verify it" — manage DNS records, DKIM, and SPF through your AI assistant instead of logging into Resend's dashboard.
"Add [email protected] to my VIP audience" — build and segment contact lists without touching a spreadsheet. Full CRUD on contacts and audiences.
"Send this newsletter to all contacts in audience-1" — batch-send up to 100 emails in one call. Perfect for newsletters, product announcements, or re-engagement campaigns.
"List all my API keys and domains" — audit your Resend setup in seconds. See which keys are active, which domains are verified, and clean up stale resources.
The server auto-retries on 429 with a 2s backoff. Free tier allows 10 req/s. The server caps at ~9 req/s to stay safe. If you hit this frequently, consider upgrading your Resend plan.
Verify your RESEND_API_KEY starts with re_ and is active at resend.com/api-keys. Keys take up to 30 seconds to propagate after creation.
Make sure Node.js 18+ is installed: node --version. If using npx, ensure npm is up to date: npm install -g npm@latest.
Verify the config path is correct. Claude Desktop uses ~/Library/Application Support/Claude/claude_desktop_config.json on macOS and %APPDATA%\Claude\claude_desktop_config.json on Windows. Restart the client after config changes.
Check list_emails for delivery status. Common issues: missing DNS records (run verify_domain), bounce due to invalid address, or domain not yet verified. Resend's dashboard shows detailed webhook events.
RESEND_API_KEY)The server automatically rate-limits requests to ~9 calls/second to stay safely under Resend's free-tier limit of 10 req/s. If you hit a 429 anyway, it waits 2s and retries once.
git clone https://github.com/friendlygeorge/resend-mcp-server.git
cd resend-mcp-server
npm install
npm run build
RESEND_API_KEY=re_xxxx npm startMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.