Resend MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Resend MCP or direct API to send emails, manage templates, track deliveries, and inspect webhooks through natural language.

Resend MCP logoResend MCP
Dcr Oauth

Resend MCP is a transactional email service for sending and managing programmatic email. It provides fast, developer-friendly APIs and templates for reliable delivery.

95 Tools

Try Resend MCP now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Resend MCP
Try asking
TOOLS

Supported Tools

Every Resend MCP action and event your agent gets out of the box.

Add-contact-to-segment

Add a contact to a segment in Resend (by contact ID or email).

Add-suppression

Add an email address to the suppression list in Resend.

Batch-add-suppressions

Add multiple email addresses to the suppression list in Resend in a single call.

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).

Cancel-broadcast

**Purpose:** Cancel a queued or scheduled broadcast by ID or Resend dashboard URL, without removing it.

Cancel-email

Cancel a scheduled email that has not yet been sent.

Compose-broadcast

**Purpose:** Set the TipTap JSON content of a broadcast, enabling it to be edited visually in the Resend dashboard editor.

Compose-template

**Purpose:** Set the TipTap JSON content of a template, enabling it to be edited visually in the Resend dashboard editor.

Connect-to-editor

**Purpose:** Show agent presence in the Resend dashboard editor.

Create-api-key

Create a new API key in Resend.

Create-automation

**Purpose:** Create an automation workflow that triggers on events and executes a sequence of steps.

Create-broadcast

**Purpose:** Create a broadcast campaign (one email sent to an entire segment).

Create-contact

Create a new contact in Resend.

Create-contact-import

Bulk-import contacts from a CSV file into Resend.

Create-contact-property

Create a new contact property in Resend.

Create-domain

Create a new domain in Resend.

Create-domain-claim

Start a claim for a domain another Resend account has already verified.

Create-segment

Create a new segment in Resend.

Create-template

Create a new email template in Resend.

Create-topic

Create a new topic in Resend.

Create-webhook

Create a new webhook in Resend.

Disconnect-from-editor

Remove agent presence from the Resend dashboard editor.

Duplicate-automation

Duplicate an existing automation by ID or Resend dashboard URL.

Duplicate-template

Duplicate an existing email template in Resend.

Get-automation

**Purpose:** Get details of a specific automation (with its workflow) or list all automations.

Get-automation-runs

**Purpose:** List runs for an automation, or get details of a specific run.

Get-broadcast

Retrieve full details of a specific broadcast by ID or Resend dashboard URL (e.

Get-contact

Get a contact by ID or email from Resend.

Get-contact-import

Get the status and counts of a contact import by ID.

Get-contact-property

Get a contact property by ID from Resend.

Get-domain

Get a domain by ID from Resend.

Get-domain-claim

Retrieve the latest claim for a domain by its placeholder Domain ID (the domain_id from create-domain-claim).

Get-email

Retrieve full details of a specific sent transactional email by ID, including message_id, HTML and plain text content.

Get-log

**Purpose:** Get detailed information about a specific API request log, including the full request and response bodies.

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-attachment

Retrieve details of a specific attachment from a received email, including a time-limited download URL.

Get-segment

Get a segment by ID from Resend.

Get-sent-email-attachment

Retrieve details of a specific attachment from a sent email, including a time-limited download URL.

Get-suppression

Get a suppression list entry by ID or email address from Resend.

Get-template

Get an email template by ID, alias, or Resend dashboard URL (e.

Get-tiptap-json-content

**Purpose:** Retrieve the existing TipTap JSON content of a broadcast or template, optionally bundled with the TipTap schema reference.

Get-topic

Get a topic by ID from Resend.

Get-webhook

Get a webhook by ID from Resend.

List-api-keys

List all API keys from Resend.

List-broadcasts

**Purpose:** List all broadcast campaigns (newsletters/bulk emails to audiences) with ID, name, audience, status, timestamps.

List-contact-imports

List contact imports from Resend.

List-contact-properties

List all contact properties from Resend.

List-contacts

**Purpose:** List contacts from Resend.

List-contact-segments

List all segments a contact belongs to in Resend (by contact ID or email).

List-contact-topics

List all topic subscriptions for a contact in Resend (by contact ID or email).

List-domains

List all domains from Resend.

List-emails

**Purpose:** List recently sent emails (transactional emails sent via send-email) with metadata: recipient, subject, status, timestamps.

List-logs

**Purpose:** List API request logs for the account.

List-oauth-grants

List OAuth grants for the team — the apps authorized to act on the team's behalf.

List-received-email-attachments

List all attachments from a specific received (inbox) email.

List-received-emails

**Purpose:** List emails received (inbox) by your Resend receiving address.

List-segments

**Purpose:** List all segments in the account.

List-sent-email-attachments

List all attachments from a specific sent email (from send-email or list-emails).

List-suppressions

**Purpose:** List email addresses on the suppression list.

List-templates

List all email templates from Resend.

List-topics

List all topics from Resend.

List-webhooks

List all webhooks from Resend.

Manage-events

**Purpose:** Create, list, get, update, or remove event definitions in Resend.

Publish-template

Publish an email template in Resend.

Remove-api-key

Remove an API key by ID from Resend.

Remove-automation

Remove an automation by ID or Resend dashboard URL.

Remove-broadcast

Remove a broadcast by ID or Resend dashboard URL.

Remove-contact

Remove a contact from Resend (by ID or email).

Remove-contact-from-segment

Remove a contact from a segment in Resend (by contact ID or email).

Remove-contact-property

Remove a contact property by ID from Resend.

Remove-domain

Remove a domain by ID from Resend.

Remove-segment

Remove a segment by ID from Resend.

Remove-suppression

Remove an entry by ID or email address from the suppression list in Resend, allowing the address to receive emails again.

Remove-template

Remove an email template by ID, alias, or Resend dashboard URL from Resend.

Remove-topic

Remove a topic by ID from Resend.

Remove-webhook

Remove a webhook by ID from Resend.

Revoke-oauth-grant

Revoke an OAuth grant by ID.

Send-batch-emails

**Purpose:** Send up to 100 transactional emails in one API call.

Send-broadcast

**Purpose:** Send (or schedule) an existing broadcast by ID.

Send-email

**Purpose:** Send a single transactional email to one or more recipients immediately (or schedule it).

Send-event

**Purpose:** Fire an event to trigger automations for a specific contact.

Share-email

Create a shareable link for a sent or received email, so anyone with the link can view it without Resend dashboard access.

Update-api-key

Rename an existing API key in Resend.

Update-automation

**Purpose:** Update an automation's name, status, or workflow.

Update-broadcast

Update broadcast metadata by ID or Resend dashboard URL (name, subject, from, html, text, segment, preview text, reply-to).

Update-contact

Update a contact in Resend (by ID or email).

Update-contact-property

Update an existing contact property in Resend.

Update-contact-topics

Update topic subscriptions for a contact in Resend (by contact ID or email).

Update-domain

Update an existing domain in Resend.

Update-email

Reschedule a scheduled email by updating its scheduled send time.

Update-template

Update template metadata by ID, alias, or Resend dashboard URL (name, subject, from, html, variables, etc.

Update-topic

Update an existing topic in Resend.

Update-webhook

Update an existing webhook in Resend.

Verify-domain

Trigger domain verification in Resend.

Verify-domain-claim

Trigger asynchronous DNS verification and ownership transfer for a domain claim, using the placeholder Domain ID.

SETUP GUIDE

Connect Resend MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["resend_mcp"],
  mcp: true,
});
Create a session scoped to Resend MCP and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Send transactional receipt email to customer",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Resend MCP request
SETUP GUIDE

Connect Resend MCP API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["resend_mcp"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Resend MCP
3

Run Resend MCP tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Send transactional receipt email to customer" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the Resend MCP tool calls through the session, and print the final answer

Why Use Composio?

AI Native Resend MCP Integration

  • Supports both Resend MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Resend MCP data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Resend MCP access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Resend MCP
  • Scoped, least privilege access to Resend MCP resources
  • Full audit trail of agent actions to support review and compliance
FRAMEWORKS

Use Resend MCP with any AI Agent Framework

Choose a Framework you want to connect Resend MCP with

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Yes, Resend MCP requires you to configure your own Dcr Oauth credentials. Once set up, Composio handles secure credential storage and management for you.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Resend connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

When you connect a Resend account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Resend as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Whatever the credentials you connect allow inside Resend. If Resend lets you scope a key to specific permissions, create a scoped one so the agent can only do what you intend. You can revoke the key inside Resend at any time.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Resend connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

Composio's free plan includes 100,000 tool calls per month with no credit card, which covers most personal Resend use. Paid plans add higher limits and team features. Your Resend plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Resend accounts).

With Composio, you connect Resend once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Resend MCP.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Resend MCP tool your agent needs.Free to start.

Start building