npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@aiwerk/mcp-server-resend

v0.1.0

Published

Resend API MCP server — transactional and marketing email, domains, contacts, broadcasts, and more

Readme

@aiwerk/mcp-server-resend

Resend API MCP server — full API coverage: transactional email, batch sending, domains, contacts, segments, broadcasts, templates, topics, webhooks, API keys, and logs.

Install

npx -y @aiwerk/mcp-server-resend

Or add to your MCP client config:

{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "@aiwerk/mcp-server-resend"],
      "env": {
        "RESEND_API_KEY": "re_..."
      }
    }
  }
}

Environment variables

| Name | Required | Description | |---|---|---| | RESEND_API_KEY | ✅ | Resend API key (starts with re_). Get one at resend.com/api-keys. | | RESEND_API_BASE_URL | — | Override API base URL (default: https://api.resend.com). | | RESEND_API_TIMEOUT_MS | — | Request timeout in milliseconds (default: 30000). |

Auth

  1. Sign up at resend.com (free tier: 3,000 emails/month, 100/day).
  2. Open API Keys in the dashboard and create a key with Full access.
  3. Copy the key (starts with re_) into RESEND_API_KEY.
  4. To send from your own address, verify a domain under Domains. For testing, use [email protected] (sender) → [email protected] / [email protected] / [email protected] without domain setup.

Tools (62)

All destructive and send operations use a 2-phase α-gate: the first call returns a confirm_token; supply it on the second call to execute. Tokens expire after 60 seconds. Bulk delete tools accept an array of IDs under one token.

Emails (8)

| Tool | Description | |---|---| | resend_email_send | Send a transactional email [α-gated] | | resend_email_send_batch | Send up to 100 emails in one call [α-gated] | | resend_email_get | Get email status and details by ID | | resend_email_list | List sent emails (cursor pagination) | | resend_email_update | Reschedule a scheduled email | | resend_email_cancel | Cancel a scheduled email (safety action, not α-gated) | | resend_email_list_received | List inbound emails (requires routing config) | | resend_email_get_received | Get a specific inbound email |

Domains (6)

| Tool | Description | |---|---| | resend_domain_create | Add a new sending domain | | resend_domain_list | List all domains | | resend_domain_get | Get domain details and DNS status | | resend_domain_update | Update tracking settings (open, click, TLS) | | resend_domain_verify | Trigger DNS verification | | resend_domain_delete | Delete domains [α-gated, bulk] |

API Keys (3)

| Tool | Description | |---|---| | resend_apikey_create | Create an API key (token shown once — store immediately) | | resend_apikey_list | List API keys | | resend_apikey_delete | Revoke API keys [α-gated, bulk] |

Contacts (10)

| Tool | Description | |---|---| | resend_contact_create | Create a contact | | resend_contact_list | List contacts (optional segment_id filter) | | resend_contact_get | Get a contact by ID or email | | resend_contact_update | Update contact details | | resend_contact_delete | Delete contacts [α-gated, bulk] | | resend_contact_list_segments | List segments a contact belongs to | | resend_contact_add_segment | Add a contact to a segment | | resend_contact_remove_segment | Remove a contact from a segment | | resend_contact_get_topics | Get topic subscription statuses | | resend_contact_update_topics | Update topic subscriptions (opt_in/opt_out) |

Contact Properties (5)

| Tool | Description | |---|---| | resend_contactproperty_create | Create a custom contact property | | resend_contactproperty_list | List contact properties | | resend_contactproperty_get | Get a property by ID | | resend_contactproperty_update | Update fallback value | | resend_contactproperty_delete | Delete properties [α-gated, bulk] |

Segments (5)

| Tool | Description | |---|---| | resend_segment_create | Create a segment | | resend_segment_list | List segments | | resend_segment_get | Get a segment by ID | | resend_segment_list_contacts | List contacts in a segment | | resend_segment_delete | Delete segments [α-gated, bulk] |

Templates (7)

| Tool | Description | |---|---| | resend_template_create | Create an email template | | resend_template_list | List templates | | resend_template_get | Get a template by ID | | resend_template_update | Update template content | | resend_template_delete | Delete templates [α-gated, bulk] | | resend_template_duplicate | Copy an existing template | | resend_template_publish | Publish a draft template |

Topics (5)

| Tool | Description | |---|---| | resend_topic_create | Create a topic (e.g. "Weekly Newsletter") | | resend_topic_list | List topics | | resend_topic_get | Get a topic by ID | | resend_topic_update | Update name/description/visibility | | resend_topic_delete | Delete topics [α-gated, bulk] |

Broadcasts (6)

| Tool | Description | |---|---| | resend_broadcast_create | Create a broadcast draft (send:false always enforced) | | resend_broadcast_list | List broadcasts | | resend_broadcast_get | Get broadcast details | | resend_broadcast_update | Update a draft broadcast | | resend_broadcast_delete | Delete draft broadcasts [α-gated, bulk] | | resend_broadcast_send | Send/schedule a broadcast [α-gated, idempotent] |

Webhooks (5)

| Tool | Description | |---|---| | resend_webhook_create | Create a webhook endpoint | | resend_webhook_list | List webhooks | | resend_webhook_get | Get a webhook by ID | | resend_webhook_update | Update endpoint, events, or status | | resend_webhook_delete | Delete webhooks [α-gated, bulk] |

Logs (2)

| Tool | Description | |---|---| | resend_log_list | List API request logs | | resend_log_get | Get a log entry by ID |

License

MIT © AIWerk