{"_id":"@aiwerk/mcp-server-resend","name":"@aiwerk/mcp-server-resend","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aiwerk/mcp-server-resend","version":"0.1.0","description":"Resend API MCP server — transactional and marketing email, domains, contacts, broadcasts, and more","type":"module","main":"dist/src/server.js","bin":{"mcp-server-resend":"dist/src/server.js"},"scripts":{"gen-version":"node scripts/gen-version.mjs","prebuild":"npm run gen-version","build":"tsc -p tsconfig.json","start":"node dist/src/server.js","predev":"npm run gen-version","dev":"tsc --watch","pretest":"npm run gen-version && bash -c 'pkill -9 -f \"[n]ode.*vitest\" 2>/dev/null; pkill -9 -f \"[e]sbuild.*--service\" 2>/dev/null; true'","test":"vitest run","posttest":"bash -c 'pkill -9 -f \"[n]ode.*vitest\" 2>/dev/null; pkill -9 -f \"[e]sbuild.*--service\" 2>/dev/null; true'","prepublishOnly":"bash scripts/prepublish-safety.sh && npm run build && npm test"},"engines":{"node":">=18.0.0"},"keywords":["mcp","mcp-server","resend","email","transactional-email"],"author":{"name":"AIWerk","email":"kontakt@aiwerk.ch"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/AIWerk/mcp-server-resend.git"},"homepage":"https://aiwerkmcp.com","bugs":{"url":"https://github.com/AIWerk/mcp-server-resend/issues"},"dependencies":{"@modelcontextprotocol/sdk":"^1.19.1","zod":"^3.25.76"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.5.0","vitest":"^3.2.1"},"_id":"@aiwerk/mcp-server-resend@0.1.0","gitHead":"7f6023b3a88c4bb55d8f6780f0d8f250b0b73825","types":"./dist/src/server.d.ts","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-sC/W0oyXR0bzBqRPA2rWVLJwGIlMK+bV6vAj0L2ZQF90Ixkz1ok75u/SxU6ZxmD+U/tDIpLgcH4rIeamUpQbYw==","shasum":"031d88681c05e8b9066073e803cd0c65b41abe77","tarball":"https://registry.npmjs.org/@aiwerk/mcp-server-resend/-/mcp-server-resend-0.1.0.tgz","fileCount":55,"unpackedSize":144954,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCSgJ7Uh+FShIiWFK3wTDQqdgQsYeEU8eUTWlL8crCndAIhAIOyXXtL8iwRYLlI6k564USAqisthHtkdXEIoxxy9ZIk"}]},"_npmUser":{"name":"agbergsmann","email":"kontakt@aiwerk.ch"},"directories":{},"maintainers":[{"name":"agbergsmann","email":"kontakt@aiwerk.ch"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-resend_0.1.0_1780221844612_0.7881683604396759"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-31T10:04:04.412Z","0.1.0":"2026-05-31T10:04:04.761Z","modified":"2026-05-31T10:04:05.032Z"},"maintainers":[{"name":"agbergsmann","email":"kontakt@aiwerk.ch"}],"description":"Resend API MCP server — transactional and marketing email, domains, contacts, broadcasts, and more","homepage":"https://aiwerkmcp.com","keywords":["mcp","mcp-server","resend","email","transactional-email"],"repository":{"type":"git","url":"git+https://github.com/AIWerk/mcp-server-resend.git"},"author":{"name":"AIWerk","email":"kontakt@aiwerk.ch"},"bugs":{"url":"https://github.com/AIWerk/mcp-server-resend/issues"},"license":"MIT","readme":"# @aiwerk/mcp-server-resend\n\nResend API MCP server — full API coverage: transactional email, batch sending, domains, contacts, segments, broadcasts, templates, topics, webhooks, API keys, and logs.\n\n## Install\n\n```bash\nnpx -y @aiwerk/mcp-server-resend\n```\n\nOr add to your MCP client config:\n\n```json\n{\n  \"mcpServers\": {\n    \"resend\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@aiwerk/mcp-server-resend\"],\n      \"env\": {\n        \"RESEND_API_KEY\": \"re_...\"\n      }\n    }\n  }\n}\n```\n\n## Environment variables\n\n| Name | Required | Description |\n|---|---|---|\n| `RESEND_API_KEY` | ✅ | Resend API key (starts with `re_`). Get one at [resend.com/api-keys](https://resend.com/api-keys). |\n| `RESEND_API_BASE_URL` | — | Override API base URL (default: `https://api.resend.com`). |\n| `RESEND_API_TIMEOUT_MS` | — | Request timeout in milliseconds (default: `30000`). |\n\n## Auth\n\n1. Sign up at [resend.com](https://resend.com) (free tier: 3,000 emails/month, 100/day).\n2. Open **API Keys** in the dashboard and create a key with Full access.\n3. Copy the key (starts with `re_`) into `RESEND_API_KEY`.\n4. To send from your own address, verify a domain under **Domains**. For testing, use `onboarding@resend.dev` (sender) → `delivered@resend.dev` / `bounced@resend.dev` / `complained@resend.dev` without domain setup.\n\n## Tools (62)\n\nAll 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.\n\n### Emails (8)\n| Tool | Description |\n|---|---|\n| `resend_email_send` | Send a transactional email [α-gated] |\n| `resend_email_send_batch` | Send up to 100 emails in one call [α-gated] |\n| `resend_email_get` | Get email status and details by ID |\n| `resend_email_list` | List sent emails (cursor pagination) |\n| `resend_email_update` | Reschedule a scheduled email |\n| `resend_email_cancel` | Cancel a scheduled email (safety action, not α-gated) |\n| `resend_email_list_received` | List inbound emails (requires routing config) |\n| `resend_email_get_received` | Get a specific inbound email |\n\n### Domains (6)\n| Tool | Description |\n|---|---|\n| `resend_domain_create` | Add a new sending domain |\n| `resend_domain_list` | List all domains |\n| `resend_domain_get` | Get domain details and DNS status |\n| `resend_domain_update` | Update tracking settings (open, click, TLS) |\n| `resend_domain_verify` | Trigger DNS verification |\n| `resend_domain_delete` | Delete domains [α-gated, bulk] |\n\n### API Keys (3)\n| Tool | Description |\n|---|---|\n| `resend_apikey_create` | Create an API key (token shown once — store immediately) |\n| `resend_apikey_list` | List API keys |\n| `resend_apikey_delete` | Revoke API keys [α-gated, bulk] |\n\n### Contacts (10)\n| Tool | Description |\n|---|---|\n| `resend_contact_create` | Create a contact |\n| `resend_contact_list` | List contacts (optional segment_id filter) |\n| `resend_contact_get` | Get a contact by ID or email |\n| `resend_contact_update` | Update contact details |\n| `resend_contact_delete` | Delete contacts [α-gated, bulk] |\n| `resend_contact_list_segments` | List segments a contact belongs to |\n| `resend_contact_add_segment` | Add a contact to a segment |\n| `resend_contact_remove_segment` | Remove a contact from a segment |\n| `resend_contact_get_topics` | Get topic subscription statuses |\n| `resend_contact_update_topics` | Update topic subscriptions (opt_in/opt_out) |\n\n### Contact Properties (5)\n| Tool | Description |\n|---|---|\n| `resend_contactproperty_create` | Create a custom contact property |\n| `resend_contactproperty_list` | List contact properties |\n| `resend_contactproperty_get` | Get a property by ID |\n| `resend_contactproperty_update` | Update fallback value |\n| `resend_contactproperty_delete` | Delete properties [α-gated, bulk] |\n\n### Segments (5)\n| Tool | Description |\n|---|---|\n| `resend_segment_create` | Create a segment |\n| `resend_segment_list` | List segments |\n| `resend_segment_get` | Get a segment by ID |\n| `resend_segment_list_contacts` | List contacts in a segment |\n| `resend_segment_delete` | Delete segments [α-gated, bulk] |\n\n### Templates (7)\n| Tool | Description |\n|---|---|\n| `resend_template_create` | Create an email template |\n| `resend_template_list` | List templates |\n| `resend_template_get` | Get a template by ID |\n| `resend_template_update` | Update template content |\n| `resend_template_delete` | Delete templates [α-gated, bulk] |\n| `resend_template_duplicate` | Copy an existing template |\n| `resend_template_publish` | Publish a draft template |\n\n### Topics (5)\n| Tool | Description |\n|---|---|\n| `resend_topic_create` | Create a topic (e.g. \"Weekly Newsletter\") |\n| `resend_topic_list` | List topics |\n| `resend_topic_get` | Get a topic by ID |\n| `resend_topic_update` | Update name/description/visibility |\n| `resend_topic_delete` | Delete topics [α-gated, bulk] |\n\n### Broadcasts (6)\n| Tool | Description |\n|---|---|\n| `resend_broadcast_create` | Create a broadcast draft (send:false always enforced) |\n| `resend_broadcast_list` | List broadcasts |\n| `resend_broadcast_get` | Get broadcast details |\n| `resend_broadcast_update` | Update a draft broadcast |\n| `resend_broadcast_delete` | Delete draft broadcasts [α-gated, bulk] |\n| `resend_broadcast_send` | Send/schedule a broadcast [α-gated, idempotent] |\n\n### Webhooks (5)\n| Tool | Description |\n|---|---|\n| `resend_webhook_create` | Create a webhook endpoint |\n| `resend_webhook_list` | List webhooks |\n| `resend_webhook_get` | Get a webhook by ID |\n| `resend_webhook_update` | Update endpoint, events, or status |\n| `resend_webhook_delete` | Delete webhooks [α-gated, bulk] |\n\n### Logs (2)\n| Tool | Description |\n|---|---|\n| `resend_log_list` | List API request logs |\n| `resend_log_get` | Get a log entry by ID |\n\n## License\n\nMIT © [AIWerk](https://aiwerkmcp.com)\n","readmeFilename":"README.md","_rev":"1-86560b40bb5ffcecba97e30fe1923167"}