Resend MCP logo

Resend MCP

Send and manage transactional email through Resend.

103 actions Integration catalog
Request access
Connect Resend MCP once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

Add-contact-to-segmentRESEND_MCP_ADD_CONTACT_TO_SEGMENT
Add a contact to a segment in Resend (by contact ID or email).
Add-suppressionRESEND_MCP_ADD_SUPPRESSION
Add an email address to the suppression list in Resend. Suppressed addresses never receive emails from the account, even when included as recipients. Hard bounces and spam complaints are added to the suppression list automatically; use this tool to manually suppress an address when needed, e.g. to honor a do-not-contact request. To suppress many addresses at once, use batch-add-suppressions instead.
Batch-add-suppressionsRESEND_MCP_BATCH_ADD_SUPPRESSIONS
Add multiple email addresses to the suppression list in Resend in a single call. Suppressed addresses never receive emails from the account. Hard bounces and spam complaints are added to the suppression list automatically; use this tool to manually suppress addresses when needed, e.g. to honor do-not-contact requests. For a single address, use add-suppression instead.
Batch-remove-suppressionsRESEND_MCP_BATCH_REMOVE_SUPPRESSIONS
Remove multiple entries from the suppression list in Resend in a single call, by email addresses or by suppression IDs (provide exactly one of the two). The addresses will start receiving emails again. Before using this tool, you MUST double-check with the user that they want to remove these suppressions. Reference the EMAIL ADDRESSES (or IDs) when double-checking, and warn the user that addresses suppressed due to a bounce or complaint may hurt deliverability if emailed again. You may only use this tool if the user explicitly confirms they want to remove the suppressions after you double-check.
Cancel-broadcastRESEND_MCP_CANCEL_BROADCAST
**Purpose:** Cancel a queued or scheduled broadcast by ID or Resend dashboard URL, without removing it. Cancelling a queued broadcast stops it mid-send (emails already sent are not affected). Cancelling a scheduled broadcast reverts it to draft. **NOT for:** Removing a broadcast entirely (use remove-broadcast). Draft and sent broadcasts cannot be cancelled — sent broadcasts are immutable, and drafts have nothing to cancel. **When to use:** User wants to "stop", "cancel", or "pause" a broadcast that is currently sending or scheduled to send.
Cancel-emailRESEND_MCP_CANCEL_EMAIL
Cancel a scheduled email that has not yet been sent. Only works for emails that were scheduled using the scheduledAt parameter.
Compose-broadcastRESEND_MCP_COMPOSE_BROADCAST
**Purpose:** Set the TipTap JSON content of a broadcast, enabling it to be edited visually in the Resend dashboard editor. Automatically connects and disconnects from the editor. Can also update metadata (subject, preview text, name) in the same call. **This is the recommended way to set email content.** Content set via compose-broadcast can be visually edited by the user in the dashboard. Use this for newsletters and any broadcast where the user may want to refine the content. **Workflow:** get-tiptap-json-content (with include_schema: true) → compose-broadcast **When to use:** - After create-broadcast, to set the email body - When the user wants to write, edit, or style email content - When the user wants to collaborate on the email in the dashboard editor **Important:** Always call get-tiptap-json-content first to retrieve the existing TipTap JSON, then build your changes on top of it. Skipping this will overwrite all existing content. **Note:** Switching between compose (TipTap) and update (raw HTML) modes is lossy — some content or formatting may be lost. If the broadcast already has HTML content, ask the user before switching to compose mode.
Compose-templateRESEND_MCP_COMPOSE_TEMPLATE
**Purpose:** Set the TipTap JSON content of a template, enabling it to be edited visually in the Resend dashboard editor. Automatically connects and disconnects from the editor. Can also update metadata (subject, name) in the same call. **This is the recommended way to set email content.** Content set via compose-template can be visually edited by the user in the dashboard. **Workflow:** get-tiptap-json-content (with include_schema: true) → compose-template **When to use:** - After create-template, to set the email body - When the user wants to write, edit, or style email content - When the user wants to collaborate on the email in the dashboard editor **Important:** Always call get-tiptap-json-content first to retrieve the existing TipTap JSON, then build your changes on top of it. Skipping this will overwrite all existing content. **Note:** Switching between compose (TipTap) and update (raw HTML) modes is lossy — some content or formatting may be lost. If the template already has HTML content, ask the user before switching to compose mode.
Connect-to-editorRESEND_MCP_CONNECT_TO_EDITOR
**Purpose:** Show agent presence in the Resend dashboard editor. Users will see an agent avatar while connected. **When to use:** - To signal to dashboard users that an AI agent is working on the content outside of compose workflows - **Not needed before compose-broadcast or compose-template** — get-tiptap-json-content connects automatically, and compose tools disconnect when done. **Returns:** Connection token and room ID.
Create-api-keyRESEND_MCP_CREATE_API_KEY
Create a new API key in Resend. The token is only shown once upon creation, so you MUST display it to the user.
Create-automationRESEND_MCP_CREATE_AUTOMATION
**Purpose:** Create an automation workflow that triggers on events and executes a sequence of steps. **When to use:** - User wants to set up automated email sequences (welcome series, drip campaigns, re-engagement) - User wants to automate actions based on events (update contacts, add to segments) **Workflow:** manage-events (create event, if needed) → list-templates (to get template IDs) → get-template (to check if template has "from" and "subject" — if not, use list-domains to pick a verified domain for the step config) → create-automation → send-event (to test) **Returns:** Automation ID and dashboard link. The workflow is a JSON object with one key: "steps" — an array of step objects. Each step has: key (unique string), type, config, and either "next" (string|null) or "branches" (for branching steps). Use keys like: "trigger", "send_email_1", "delay_1", "condition_1", "wait_event_1". ## Step types ### trigger — starts the automation when an event fires (required, exactly one) config: { "eventName": "<event_name>" } Uses "next". ### send_email — send an email using a published template config: { "template": { "id": "<template_id>", "variables": { "<key>": "<value>" } }, "from": "Name <sender@example.com>", "subject": "Email subject", "replyTo": "<address>" } **"from" and "subject" are resolved from the step config first, then fall back to the template.** If neither provides a "from", the email will silently fail to send. If neither provides a "subject", the run will error. Best practice: always set "from" and "subject" on the step config so the automation is self-contained. Use list-domains to find verified domains for "from". "replyTo" and "variables" are optional. Variables can use { "var": "event.<field>" } or { "var": "contact.<field>" } for dynamic values. Uses "next". ### delay — pause the workflow config: { "duration": "<human-readable>" } Examples: "30 minutes", "1 hour", "2 days", "1 week". Max 30 days. Uses "next". ### condition — conditional split based on contact or event data config: A condition rule object: Single rule: { "type": "rule", "field": "event.<field>" or "contact.<field>", "operator": "<op>", "value": <value> } Compound: { "type": "and"|"or", "rules": [<rule>, ...] } Operators: eq, neq, gt, gte, lt, lte, contains, starts_with, ends_with, exists, is_empty. exists/is_empty do not require a value. Uses "branches": { "condition_met": "<step_key>", "condition_not_met": "<step_key_or_null>" } ### wait_for_event — pause until a specific event arrives or timeout config: { "eventName": "<event_name>", "timeout": "<human-readable>", "filterRule": <optional condition rule> } For email lifecycle events use "resend:email.<opened|clicked|bounced|delivered|complained|failed|suppressed>". Uses "branches": { "event_received": "<step_key>", "timeout": "<step_key_or_null>" } ### contact_update — update contact fields config: { "firstName": "<value>", "lastName": "<value>", "unsubscribed": true|false, "properties": { "<key>": "<value>" } } All fields optional. Values can use { "var": "event.<field>" } for dynamic data. Uses "next". ### contact_delete — remove the contact from the audience config: {} Uses "next". ### add_to_segment — add contact to a segment config: { "segmentId": "<segment_id>" } Uses "next". ## Rules 1. Every step must be reachable from the trigger via next/branches. 2. Terminal steps have "next": null (or null branch values). 3. The workflow must be tree-shaped — no merging branches back together. ## Example: Linear drip campaign { "steps": [ { "key": "trigger", "type": "trigger", "config": { "eventName": "user.created" }, "next": "send_email_1" }, { "key": "send_email_1", "type": "send_email", "config": { "template": { "id": "tmpl_123" }, "from": "Welcome <hello@example.com>", "subject": "Welcome!" }, "next": "delay_1" }, { "key": "delay_1", "type": "delay", "config": { "duration": "3 days" }, "next": "send_email_2" }, { "key": "send_email_2", "type": "send_email", "config": { "template": { "id": "tmpl_456" }, "from": "Welcome <hello@example.com>", "subject": "Getting started" }, "next": null } ] } ## Example: Re-engagement with wait_for_event { "steps": [ { "key": "trigger", "type": "trigger", "config": { "eventName": "user.created" }, "next": "send_email_1" }, { "key": "send_email_1", "type": "send_email", "config": { "template": { "id": "tmpl_789" }, "from": "Team <team@example.com>", "subject": "Welcome" }, "next": "wait_event_1" }, { "key": "wait_event_1", "type": "wait_for_event", "config": { "eventName": "resend:email.opened", "timeout": "3 days" }, "branches": { "event_received": null, "timeout": "send_email_2" } }, { "key": "send_email_2", "type": "send_email", "config": { "template": { "id": "tmpl_abc" }, "from": "Team <team@example.com>", "subject": "Did you miss this?" }, "next": null } ] } ## Example: Condition branch { "steps": [ { "key": "trigger", "type": "trigger", "config": { "eventName": "trial.ended" }, "next": "condition_1" }, { "key": "condition_1", "type": "condition", "config": { "type": "rule", "field": "event.converted", "operator": "eq", "value": true }, "branches": { "condition_met": "send_email_1", "condition_not_met": "send_email_2" } }, { "key": "send_email_1", "type": "send_email", "config": { "template": { "id": "tmpl_thanks" }, "from": "Team <team@example.com>", "subject": "Thanks for upgrading!" }, "next": null }, { "key": "send_email_2", "type": "send_email", "config": { "template": { "id": "tmpl_win_back" }, "from": "Team <team@example.com>", "subject": "We'd love to have you back" }, "next": null } ] }
Create-broadcastRESEND_MCP_CREATE_BROADCAST
**Purpose:** Create a broadcast campaign (one email sent to an entire segment). Defines subject, body, and segment; does NOT send yet. Use send-broadcast to send it. **NOT for:** Sending a one-off email to specific people (use send-email). Not for adding contacts (use create-contact). **Returns:** Broadcast ID. Use this ID with send-broadcast to send, or get-broadcast/update-broadcast to manage. **When to use:** - User wants to "email my list", "send a newsletter", "broadcast to my segment", "email all contacts in X" - Newsletter, announcement, or bulk message to one segment - Supports personalization: {{{FIRST_NAME}}}, {{{LAST_NAME}}}, {{{EMAIL}}}, {{{RESEND_UNSUBSCRIBE_URL}}} **"All contacts" note:** Broadcasts require a segment. There is no "all contacts" option in the API. If the user wants to send to all contacts, check list-segments for an existing segment that covers everyone. If none exists, suggest creating one with create-segment. **Workflow:** list-segments (if needed) → create-broadcast → get-tiptap-json-content (with include_schema: true) → compose-broadcast → send-broadcast. **Content options after creating:** - **compose-broadcast** (recommended): Sets TipTap content that the user can visually edit in the Resend dashboard. Use this when the user wants to collaborate on or refine the email in the editor. - **update-broadcast with html/text**: Sets static HTML/text content. Use this only when the user explicitly wants to set raw HTML. Switching between compose and html/text modes is lossy — some content or formatting may be lost. Ask the user before switching.
Create-contactRESEND_MCP_CREATE_CONTACT
Create a new contact in Resend. Optionally assign to segments and configure topic subscriptions.
Create-contact-importRESEND_MCP_CREATE_CONTACT_IMPORT
Bulk-import contacts from a CSV file into Resend. The import is processed asynchronously: this returns an import ID immediately, then use get-contact-import to poll its status and counts. Provide the CSV as raw text via `content`. Max file size 100MB.
Create-contact-propertyRESEND_MCP_CREATE_CONTACT_PROPERTY
Create a new contact property in Resend. A contact property is a custom attribute (e.g. "company_name", "plan_tier") that can be attached to contacts.
Create-domainRESEND_MCP_CREATE_DOMAIN
Create a new domain in Resend. Returns DNS records that must be configured with your DNS provider for verification. You MUST display the DNS records to the user so they can set them up.
Create-domain-claimRESEND_MCP_CREATE_DOMAIN_CLAIM
Start a claim for a domain another Resend account has already verified. The domain is recreated under your account with brand-new DKIM keys, so the previous account's DNS records cannot be reused. Returns a TXT record that MUST be added to your DNS to prove ownership. You MUST display the TXT record to the user. After they add it, use verify-domain-claim, then poll get-domain-claim until status is "completed".
Create-segmentRESEND_MCP_CREATE_SEGMENT
Create a new segment in Resend. A segment is a group of contacts that can be used to target specific broadcasts.
Create-templateRESEND_MCP_CREATE_TEMPLATE
Create a new email template in Resend. Templates are created in draft status. Use publish-template to make them available for sending. Variables use triple-brace syntax in HTML: {{{VAR_NAME}}}. **Workflow:** create-template → get-tiptap-json-content (with include_schema: true) → compose-template → publish-template. **Content options after creating:** - **compose-template** (recommended): Sets TipTap content that the user can visually edit in the Resend dashboard. Use this when the user wants to collaborate on or refine the template in the editor. - **update-template with html/text**: Sets static HTML/text content. Use this only when the user explicitly wants to set raw HTML. Switching between compose and html/text modes is lossy — some content or formatting may be lost. Ask the user before switching.
Create-topicRESEND_MCP_CREATE_TOPIC
Create a new topic in Resend. Topics allow contacts to manage their subscription preferences for different types of emails.
Create-webhookRESEND_MCP_CREATE_WEBHOOK
Create a new webhook in Resend. A webhook allows you to receive notifications at a specified URL when certain events occur (e.g. email.sent, email.delivered, email.bounced).
Disconnect-from-editorRESEND_MCP_DISCONNECT_FROM_EDITOR
Remove agent presence from the Resend dashboard editor. Call this when done editing.
Duplicate-automationRESEND_MCP_DUPLICATE_AUTOMATION
Duplicate an existing automation by ID or Resend dashboard URL. Creates a copy with its own ID, including the steps and connections of the original. Use this when the user wants a new automation based on one they already have, instead of rebuilding the workflow from scratch. Use update-automation on the new ID to rename it or change its workflow.
Duplicate-templateRESEND_MCP_DUPLICATE_TEMPLATE
Duplicate an existing email template in Resend. Creates a new draft copy of the template with a new ID. Accepts a template ID, alias, or Resend dashboard URL.
Get-automationRESEND_MCP_GET_AUTOMATION
**Purpose:** Get details of a specific automation (with its workflow) or list all automations. **Modes:** - With `id`: Returns full automation details including the workflow definition. - Without `id`: Lists all automations with optional status filter and pagination. **When to use:** - User asks "show me my automations" or "what automations do I have?" - User wants to inspect a specific automation's workflow - Before update-automation, to see the current workflow
Get-automation-runsRESEND_MCP_GET_AUTOMATION_RUNS
**Purpose:** List runs for an automation, or get details of a specific run. **Modes:** - With `runId`: Returns detailed run info with step-by-step execution status, outputs, and errors. - Without `runId`: Lists runs for the automation with optional status filter. **When to use:** - User wants to see if an automation is working - User wants to debug a failed automation run - User asks "why did this automation fail?" or "show me recent runs" **Run statuses:** running, completed, failed, cancelled **Step statuses:** pending, running, completed, failed, skipped, waiting
Get-broadcastRESEND_MCP_GET_BROADCAST
Retrieve full details of a specific broadcast by ID or Resend dashboard URL (e.g. https://resend.com/broadcasts/<id>), including HTML and plain text content.
Get-contactRESEND_MCP_GET_CONTACT
Get a contact by ID or email from Resend.
Get-contact-importRESEND_MCP_GET_CONTACT_IMPORT
Get the status and counts of a contact import by ID. Use after create-contact-import to track progress (queued, in_progress, completed, failed).
Get-contact-propertyRESEND_MCP_GET_CONTACT_PROPERTY
Get a contact property by ID from Resend.
Get-domainRESEND_MCP_GET_DOMAIN
Get a domain by ID from Resend. Returns full domain details including DNS records needed for verification.
Get-domain-claimRESEND_MCP_GET_DOMAIN_CLAIM
Retrieve the latest claim for a domain by its placeholder Domain ID (the domain_id from create-domain-claim). Returns claim status and the TXT record needed to prove ownership. Poll until status is "completed".
Get-emailRESEND_MCP_GET_EMAIL
Retrieve full details of a specific sent transactional email by ID, including message_id, HTML and plain text content.
Get-email-metricsRESEND_MCP_GET_EMAIL_METRICS
Retrieve account-level email delivery and engagement metrics (sent, delivered, bounced, opened, clicked, etc.) for a date range, optionally broken down by period, domain, email, or broadcast.
Get-logRESEND_MCP_GET_LOG
**Purpose:** Get detailed information about a specific API request log, including the full request and response bodies. **Returns:** Log details: id, created_at, endpoint, method, response_status, user_agent, request_body, response_body. **When to use:** - User wants to inspect a specific API request - Debugging a particular API call - User says "show me that log", "what was in that request?"
Get-received-emailRESEND_MCP_GET_RECEIVED_EMAIL
Retrieve full details of a specific received email by ID, including HTML and plain text content, headers, and raw email download URL.
Get-received-email-attachmentRESEND_MCP_GET_RECEIVED_EMAIL_ATTACHMENT
Retrieve details of a specific attachment from a received email, including a time-limited download URL.
Get-segmentRESEND_MCP_GET_SEGMENT
Get a segment by ID from Resend.
Get-sent-email-attachmentRESEND_MCP_GET_SENT_EMAIL_ATTACHMENT
Retrieve details of a specific attachment from a sent email, including a time-limited download URL.
Get-suppressionRESEND_MCP_GET_SUPPRESSION
Get a suppression list entry by ID or email address from Resend. Use this to check whether a specific address is suppressed and why (origin: bounce, complaint, or manual).
Get-templateRESEND_MCP_GET_TEMPLATE
Get an email template by ID, alias, or Resend dashboard URL (e.g. https://resend.com/templates/<id>) from Resend. Returns full template details including HTML content, variables, and publish status.
Get-tiptap-json-contentRESEND_MCP_GET_TIPTAP_JSON_CONTENT
**Purpose:** Retrieve the existing TipTap JSON content of a broadcast or template, optionally bundled with the TipTap schema reference. Also connects the agent to the editor so the avatar is visible while content is being generated. **When to use:** - **Always call this before compose-broadcast or compose-template** to fetch the current document state — even if you expect it to be empty, the resource may have content set via the dashboard - When the user asks to edit, tweak, or modify existing email content - To inspect the current TipTap structure of a resource **Returns:** The TipTap JSON content object for the resource, and optionally the TipTap schema. Use the content as the base for modifications, then pass the updated JSON to compose-broadcast or compose-template. **Note:** This tool automatically connects the agent to the editor. The subsequent compose-broadcast or compose-template call will disconnect when done. **Tip:** Set include_schema to true to get both the existing content and the schema in one call.
Get-topicRESEND_MCP_GET_TOPIC
Get a topic by ID from Resend.
Get-webhookRESEND_MCP_GET_WEBHOOK
Get a webhook by ID from Resend.
Get-webhook-eventRESEND_MCP_GET_WEBHOOK_EVENT
**Purpose:** Get one event delivered to a webhook, including the exact payload Resend sent to the endpoint. **Returns:** id, type, created_at, status, next_attempt_at (when the next retry is scheduled — null once the event reaches success or failed), and payload (the JSON body sent to the endpoint). **When to use:** User wants to see what Resend actually sent for a specific event, or when the next retry is due. Get the event ID from list-webhook-events first.
List-api-keysRESEND_MCP_LIST_API_KEYS
List all API keys from Resend. Returns API key names, IDs, and creation dates. Don't bother telling the user the IDs or creation dates unless they ask for them.
List-broadcast-clicked-linksRESEND_MCP_LIST_BROADCAST_CLICKED_LINKS
**Purpose:** List the links clicked in a broadcast, ranked by total clicks. **Returns:** For each link: id (opaque pagination cursor for that row, not an entity id), url, clicks (total), unique_clicks. Use pagination (limit, after/before) for large lists. **When to use:** - User asks "what links were clicked in this broadcast?", "top clicked links", "click breakdown for this campaign" - Use get-broadcast for overall broadcast details; use this for per-link click data.
List-broadcast-recipientsRESEND_MCP_LIST_BROADCAST_RECIPIENTS
**Purpose:** List the individual recipients of a broadcast for a given event type (sent, delivered, opened, clicked, bounced, complained, unsubscribed, suppressed). **NOT for:** Aggregate broadcast performance (use get-broadcast). Not for listing broadcasts themselves (use list-broadcasts). This tool returns per-recipient rows, one per contact per event type. **Returns:** For each recipient: email, id (opaque pagination cursor), contact_id (when known). Also includes count for "opened"/"clicked", bounce_type for "bounced", and clicked_links (url + click count) for "clicked". Use pagination (limit, after/before) for large lists. **When to use:** User asks "who opened this broadcast?", "who bounced?", "who clicked this link?", "who unsubscribed from this campaign?", or wants the list of contacts behind a specific broadcast engagement metric. Use get-broadcast first if you need the broadcast ID from a name.
List-broadcastsRESEND_MCP_LIST_BROADCASTS
**Purpose:** List all broadcast campaigns (newsletters/bulk emails to audiences) with ID, name, audience, status, timestamps. **NOT for:** Listing transactional emails (use list-emails). Not for listing segments or contacts (use list-segments, list-contacts). **Returns:** For each broadcast: id, name, segment_id, status, created_at, scheduled_at, sent_at. **When to use:** User asks "show my broadcasts", "what newsletters did I send?", "list campaigns". Use get-broadcast for full details of one.
List-contact-importsRESEND_MCP_LIST_CONTACT_IMPORTS
List contact imports from Resend. Optionally filter by status. Use to discover import IDs or review past imports.
List-contact-propertiesRESEND_MCP_LIST_CONTACT_PROPERTIES
List all contact properties from Resend. This tool is useful for getting property IDs and seeing which custom attributes are configured. If you need a contact property ID, you MUST use this tool to get all available properties and then ask the user to select the one they want. Don't bother telling the user the IDs or creation dates unless they ask for them.
List-contactsRESEND_MCP_LIST_CONTACTS
**Purpose:** List contacts from Resend. Optionally filter by segment. Use to discover contact IDs or emails. **NOT for:** Listing segments (use list-segments). Not for listing sent emails (use list-emails) or broadcasts (use list-broadcasts). **Returns:** For each contact: id, email, first_name, last_name, unsubscribed, created_at. **When to use:** User asks "who's in this list?", "show contacts", "who did I add?" Don't bother telling the user the IDs, unsubscribe statuses, or creation dates unless they ask for them.
List-contact-segmentsRESEND_MCP_LIST_CONTACT_SEGMENTS
List all segments a contact belongs to in Resend (by contact ID or email). Don't bother telling the user the IDs or creation dates unless they ask for them.
List-contact-topicsRESEND_MCP_LIST_CONTACT_TOPICS
List all topic subscriptions for a contact in Resend (by contact ID or email). Don't bother telling the user the IDs unless they ask for them.
List-domainsRESEND_MCP_LIST_DOMAINS
List all domains from Resend. Returns domain names, statuses, regions, and capabilities. Don't bother telling the user the IDs unless they ask for them.
List-emailsRESEND_MCP_LIST_EMAILS
**Purpose:** List recently sent emails (transactional emails sent via send-email) with metadata: recipient, subject, status, timestamps. **NOT for:** Listing broadcast campaigns (use list-broadcasts). Not for composing or sending. **Returns:** Paginated list with to, subject, status, created_at, message_id, and ID per email. **When to use:** - User asks "what emails were sent?", "show recent emails", "did my email go out?" - Checking delivery status of sent messages - Finding an email ID to fetch full content (then use get-email) **Workflow:** list-emails → get-email( id ) when user needs full body or details.
List-logsRESEND_MCP_LIST_LOGS
**Purpose:** List API request logs for the account. Use to review recent API activity, debug issues, or audit API usage. **Returns:** For each log: id, created_at, endpoint, method, response_status, user_agent. Use pagination (limit, after/before) for large lists. **When to use:** - User wants to see recent API activity - Debugging API issues or checking request history - User says "show my logs", "what API calls were made?", "check recent requests"
List-oauth-grantsRESEND_MCP_LIST_OAUTH_GRANTS
List OAuth grants for the team — the apps authorized to act on the team's behalf. Returns every grant, active and revoked; a grant with a non-null revoked_at is no longer active. Each grant includes the client (app) name, scopes, and creation date. Don't bother telling the user the IDs unless they ask for them.
List-received-email-attachmentsRESEND_MCP_LIST_RECEIVED_EMAIL_ATTACHMENTS
List all attachments from a specific received (inbox) email. Returns attachment metadata including filename, size, content type, and a time-limited download URL. Use for emails listed by list-received-emails.
List-received-emailsRESEND_MCP_LIST_RECEIVED_EMAILS
**Purpose:** List emails received (inbox) by your Resend receiving address. Use for "show my inbox", "what emails did I get?", "list incoming mail". **NOT for:** Listing emails you sent (use list-emails). Not for listing broadcasts (use list-broadcasts). **Returns:** Paginated metadata: from, to, subject, message_id, received time. Use get-received-email with an ID for full content.
Showing the first 60 of 103 actions.