Skip to main content
Glama
helbertparanhos

resend-email-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
RESEND_FROMNoDefault sender for send_email when from is omitted (must be a verified domain)
RESEND_API_KEYYesYour Resend API key
RESEND_BASE_URLNoOverride API base URL (default https://api.resend.com). Must be https (http only for localhost)
RESEND_READONLYNotrue blocks every mutating tool (send/create/update/delete). Safe exploration of production
RESEND_REPLY_TONoDefault Reply-To address
RESEND_MAX_RETRIESNoRetries on 429/5xx (default 3)
RESEND_ATTACHMENTS_DIRNoDirectory that send_email's localPath attachments are restricted to. Unset = disk reads disabled (safe default; path traversal is blocked)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
send_emailA

Send a single email via Resend. Supports HTML/text, cc/bcc, reply-to, attachments, tags, custom headers, scheduling, and templates. Uses RESEND_FROM as the default sender when from is omitted.

send_batch_emailsA

Send up to 100 distinct emails in one call (one API request). Each entry is a full email object. Note: batch sends do NOT support attachments or scheduling per Resend limits.

get_emailA

Retrieve a single sent email by ID, including its current delivery status.

list_emailsA

List sent emails (paginated). Useful to find recent sends and their IDs.

update_emailA

Update a scheduled email — currently only the scheduled send time can be changed.

cancel_emailA

Cancel a scheduled email that has not been sent yet.

preview_emailA

Dry-run an email WITHOUT sending it. Resolves the final from (incl. RESEND_FROM default), validates the payload, reads/sizes any local attachments, and returns a summary plus warnings. Use to verify a message before calling send_email.

list_email_attachmentsA

List the attachments of a sent email.

get_email_attachmentA

Retrieve a single attachment of a sent email by attachment ID (returns metadata / download info).

list_received_emailsA

List inbound (received) emails. Requires email receiving to be configured on your Resend account.

get_received_emailA

Retrieve a single received email by ID, including parsed headers and body.

list_received_attachmentsA

List the attachments of a received email.

get_received_attachmentA

Retrieve a single attachment of a received email by attachment ID.

create_domainA

Add a sending domain to Resend. Returns the DNS records (SPF, DKIM, optional DMARC) you must add to your DNS provider before verifying.

get_domainA

Retrieve a domain by ID, including verification status and the full list of DNS records with their current state.

list_domainsA

List all domains on the account with their verification status.

update_domainA

Update a domain's settings: open/click tracking and TLS enforcement.

delete_domainA

Permanently delete a domain from Resend.

verify_domainA

Trigger verification for a domain after adding its DNS records. Re-checks SPF/DKIM. Use diagnose_domain for a human-readable report of what is still missing.

create_api_keyA

Create a new Resend API key. The full key value is returned ONLY once — store it securely. Optionally scope it to sending-only and to a single domain.

list_api_keysA

List all API keys (metadata only — secret values are never returned).

delete_api_keyA

Permanently revoke an API key by ID.

create_broadcastA

Create a broadcast (newsletter / campaign) targeted at an audience or segment. Created as a draft — use send_broadcast to deliver or schedule it.

get_broadcastA

Retrieve a broadcast by ID, including its status (draft/scheduled/sent) and stats.

list_broadcastsA

List all broadcasts (paginated).

update_broadcastA

Update a draft broadcast's content or settings (from, subject, html, text, etc.).

send_broadcastA

Send a broadcast now, or schedule it for later. Omit scheduledAt to send immediately.

delete_broadcastA

Delete a broadcast (only drafts and scheduled broadcasts can be deleted).

create_contactA

Create a contact. Provide email plus optional name and custom properties. unsubscribed controls subscription state.

get_contactA

Retrieve a contact by ID or by email address.

list_contactsB

List contacts (paginated).

update_contactB

Update a contact's name, subscription state, or custom properties.

delete_contactA

Delete a contact by ID or email address.

get_contact_topicsA

List the topic subscriptions of a contact.

update_contact_topicsA

Update a contact's topic subscriptions (opt-in / opt-out of specific topics).

list_contact_segmentsA

List the segments a contact belongs to.

add_contact_to_segmentB

Add a contact to a segment.

remove_contact_from_segmentC

Remove a contact from a segment.

create_contact_propertyA

Create a custom contact property (a field you can store on every contact, e.g. 'plan' or 'signup_date').

get_contact_propertyA

Retrieve a contact property by ID.

list_contact_propertiesA

List all custom contact properties defined on the account.

update_contact_propertyA

Rename a contact property.

delete_contact_propertyB

Delete a contact property by ID.

create_segmentA

Create a segment — a saved, optionally rule-based grouping of contacts you can target with broadcasts.

get_segmentA

Retrieve a segment by ID.

list_segmentsA

List all segments.

delete_segmentA

Delete a segment by ID.

list_segment_contactsA

List the contacts that belong to a segment (paginated).

create_templateA

Create a reusable email template. Use {{variable}} placeholders in html/text and pass values via send_email's templateData.

get_templateA

Retrieve a template by ID.

list_templatesA

List all templates (paginated).

update_templateB

Update a template's name, subject, or body. Creates a new draft version.

delete_templateB

Delete a template by ID.

publish_templateA

Publish a template's draft so it becomes the live version used by sends.

duplicate_templateB

Duplicate an existing template into a new one.

create_topicA

Create a topic — a subscription category (e.g. 'Product updates', 'Promotions') contacts can opt in/out of independently.

get_topicA

Retrieve a topic by ID.

list_topicsA

List all topics.

update_topicB

Update a topic's name or description.

delete_topicA

Delete a topic by ID.

create_webhookA

Create a webhook endpoint that receives Resend events. Returns a signing secret used to verify payloads.

get_webhookA

Retrieve a webhook by ID (including its subscribed events and status).

list_webhooksA

List all configured webhooks.

update_webhookA

Update a webhook's endpoint URL, subscribed events, or enabled status.

delete_webhookA

Delete a webhook by ID.

list_logsA

List API request logs — every request made to your Resend account with status code, endpoint and timing. The backbone for debugging. For smart filtering use search_logs.

get_logA

Retrieve a single API request log entry by ID, with full request/response detail.

diagnose_domainA

Deep DNS/verification diagnosis for a sending domain. Fetches the domain, inspects every required DNS record (SPF, DKIM, DMARC, MX, Return-Path), reports what is verified vs. pending/missing, and gives concrete fix steps. Use this whenever sending fails with 'domain not verified' or before going live.

analyze_deliverabilityA

Aggregate the MOST RECENT sent emails (up to 100 — a single page, not the full history) into deliverability metrics: delivered / bounced / complained / suppressed / opened / clicked counts and rates, plus a health verdict and recommendations. Use to answer 'how is my email health?' or to investigate a recent drop in delivery.

inspect_emailA

Full lifecycle view of one email: fetches it and renders a readable timeline of its events (sent → delivered → opened → clicked, or bounced/complained), highlighting the final state and any problem. Use to answer 'what happened to this email?'.

explain_bounceA

Diagnose why an email bounced. Fetches the email, classifies the bounce as hard / soft / block / suppressed, explains it in plain language, and recommends the correct action (remove address, retry later, fix content, etc.).

audit_accountA

One-shot health check of the whole Resend account: lists domains (and whether they're verified), API keys, and recent deliverability (most recent 100 emails), then returns a prioritized list of problems and recommendations. Great first call when 'emails aren't working'.

search_logsA

Smart search over API request logs: fetch recent logs and filter by HTTP status, status class (e.g. only errors), endpoint path substring, and/or recipient. Returns matching entries plus a breakdown of error types. Use to find why requests are failing.

test_sendA

Validate your sending setup by sending to Resend's sandbox addresses, which deterministically simulate outcomes WITHOUT hurting your reputation. Choose 'delivered', 'bounced', or 'complained'. Returns the resulting email ID so you can inspect_email it.

resend_rawA

Advanced escape hatch — make a raw authenticated request to ANY Resend API endpoint not covered by a dedicated tool. Prefer specific tools when one exists. Mutating methods (POST/PATCH/PUT/DELETE) are blocked in readonly mode.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
Resend account overviewDomains and API keys on the connected Resend account (read-only snapshot).
Resend domainsAll sending domains with their verification status.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/helbertparanhos/resend-email-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server