Skip to main content
Resend Docs

Search documentation

Type to search this documentation.

On this pageOverview

MCP Server

MCP is an open protocol that standardizes how applications provide context to LLMs. Among other benefits, it provides LLMs tools to act on your behalf. Resend offers both a remote MCP server and a local MCP server.

YouTube video player

Resend hosts the MCP server at:

https://mcp.resend.com/mcp

Connect any MCP client that supports remote servers (Streamable HTTP). There's nothing to install and no local process to run, which makes it the best option for web-based clients like Claude and hosted agent platforms.

When you connect, your client opens a browser window to log in to Resend and approve access using OAuth.

The Resend plugin follows the Agent Plugins spec. On clients that install that plugin, it adds this remote MCP server and the adjacent Resend skills together. plugin.json identifies the plugin, skills/ holds the skills, and mcp.json points at https://mcp.resend.com/mcp.

Each tab below matches the install on that client's page at resend.com.

Connect Resend in one click from the connector directory. The connector installs the MCP server and every Resend skill.

To install only the MCP server, add it manually in Claude (web or desktop) from Settings > Connectors > Add custom connector:

https://mcp.resend.com/mcp

See the Claude page.

To use GitHub Copilot in VS Code, add the following to your settings.json:

JSON
{
  "mcp": {
    "servers": {
      "resend": {
        "type": "http",
        "url": "https://mcp.resend.com/mcp"
      }
    }
  }
}

Install the skills separately:

Bash
npx skills add resend/resend-skills

See the GitHub Copilot page.

Bash
claude plugin install resend@claude-plugins-official

Then run /mcp in Claude Code and select resend to complete the OAuth login. The plugin installs the remote MCP server and every Resend skill.

See the Claude Code page.

Run /add-plugin resend in Cursor's chat to install the official plugin. It follows the Agent Plugins spec and installs the remote MCP server and every Resend skill.

To connect only the MCP server, open the command palette and choose "Cursor Settings" > "MCP" > "Add new global MCP server".

JSON
{
  "mcpServers": {
    "resend": {
      "url": "https://mcp.resend.com/mcp"
    }
  }
}

See the Cursor page.

Install the Resend plugin in one click. It follows the Agent Plugins spec and installs the remote MCP server and every Resend skill.

To connect the MCP server on its own, use the Codex CLI:

Bash
codex mcp add resend --url https://mcp.resend.com/mcp

See the Codex page.

Install the official Resend plugin. One command adds the remote MCP server and every Resend skill.

Bash
hermes plugins install resend/resend-skills --enable

Store RESEND_API_KEY so Hermes can send on your behalf. You will be prompted on first use.

See the Hermes page.

In Grok Bot, install the Resend plugin. That adds every Resend skill.

/install-plugin resend

# Then add RESEND_API_KEY so Grok Bot can send on your behalf.

See the Grok Bot page.

Add the remote MCP server, then sign in:

Bash
openclaw mcp add resend --url https://mcp.resend.com/mcp --transport streamable-http
openclaw mcp login resend

Ask OpenClaw to install the skills:

Install the Resend skills: https://github.com/resend/resend-skills

See the OpenClaw page. For an inbox, see the OpenClaw guide.

Add to your opencode.json config:

JSON
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "resend": {
      "type": "remote",
      "url": "https://mcp.resend.com/mcp",
      "enabled": true
    }
  }
}

Add this to your ~/.gemini/config/mcp_config.json file:

JSON
{
  "mcpServers": {
    "resend": {
      "serverUrl": "https://mcp.resend.com/mcp"
    }
  }
}

Add this to your ~/.gemini/settings.json file:

JSON
{
  "mcpServers": {
    "resend": {
      "httpUrl": "https://mcp.resend.com/mcp"
    }
  }
}

In Devin, open Settings > Connections > MCP Servers and click Add a custom MCP. See the Devin guide for the full step-by-step.

JSON
{
  "mcpServers": {
    "resend": {
      "transport": "HTTP",
      "url": "https://mcp.resend.com/mcp"
    }
  }
}

Add this to your Zed settings.json:

JSON
{
  "context_servers": {
    "resend": {
      "url": "https://mcp.resend.com/mcp"
    }
  }
}

In Warp's Settings, navigate to Agents > MCP servers, and click + Add to add a new server.

JSON
{
  "resend": {
    "serverUrl": "https://mcp.resend.com/mcp"
  }
}

fx is a tiny, open, native coding agent from Vercel Labs. Install it, then add Resend as an HTTP server:

Bash
curl -fsSL https://fx.sh/setup.sh | bash
fx mcp add --transport http resend https://mcp.resend.com/mcp

fx completes the OAuth login the first time it connects. Inside the fx shell, the equivalent is /mcp add --transport http resend https://mcp.resend.com/mcp.


If your client runs somewhere a browser login isn't possible (a server, CI, or a headless agent), pass a Resend API key as a Bearer token instead of using OAuth.

Bash
claude mcp add --transport http resend https://mcp.resend.com/mcp --header "Authorization: Bearer re_xxxxxxxxx"

For clients configured with JSON (Cursor, Zed, and others), add an Authorization header:

JSON
{
  "mcpServers": {
    "resend": {
      "url": "https://mcp.resend.com/mcp",
      "headers": {
        "Authorization": "Bearer re_xxxxxxxxx"
      }
    }
  }
}

The hosted server runs the same open-source code that's available on NPM as resend-mcp. If you prefer to run the server yourself, you can integrate it into any supported MCP client using npx. You'll need to:

The local server supports two transport modes: stdio (default) and HTTP.

Choose your preferred mode and client below to get started. Remember to replace re_xxxxxxxxx with your actual API key.

Open Claude Desktop settings > "Developer" tab > "Edit Config".

JSON
{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}

To use GitHub Copilot in VS Code, add the following to your settings.json:

JSON
{
  "mcp": {
    "servers": {
      "resend": {
        "command": "npx",
        "args": ["-y", "resend-mcp"],
        "env": {
          "RESEND_API_KEY": "re_xxxxxxxxx"
        }
      }
    }
  }
}
Bash
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- npx -y resend-mcp

Open the command palette and choose "Cursor Settings" > "MCP" > "Add new global MCP server".

JSON
{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}
Bash
codex mcp add resend \
  --env RESEND_API_KEY=re_xxxxxxxxx \
  -- npx -y resend-mcp

Add to your opencode.json config:

JSON
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "resend": {
      "type": "local",
      "command": ["npx", "-y", "resend-mcp"],
      "enabled": true,
      "environment": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}

Add this to your ~/.gemini/config/mcp_config.json file:

JSON
{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}
JSON
{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}

In Devin, open Settings > Connections > MCP Servers and click Add a custom MCP. See the Devin guide for the full step-by-step.

JSON
{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx",
        "SENDER_EMAIL_ADDRESS": "onboarding@resend.dev"
      }
    }
  }
}

Add this to your Zed settings.json:

JSON
{
  "context_servers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}

In Warp's Settings, navigate to Agents > MCP servers, and click + Add to add a new server.

JSON
{
  "resend": {
    "command": "npx",
    "args": ["-y", "resend-mcp"],
    "env": {
      "RESEND_API_KEY": "re_xxxxxxxxx"
    }
  }
}

Add this to your ~/.fx/mcp.json file:

JSON
{
  "mcp": {
    "resend": {
      "type": "stdio",
      "command": ["npx", "-y", "resend-mcp"],
      "environment": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}

Run the server over HTTP for remote or web-based integrations. In HTTP mode, each client authenticates by passing their Resend API key as a Bearer token in the Authorization header.

Start the server:

Bash
npx -y resend-mcp --http --port 3000

The server will listen on http://127.0.0.1:3000 and expose the MCP endpoint at /mcp using Streamable HTTP.

Bash
claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"

Open the command palette and choose "Cursor Settings" > "MCP" > "Add new global MCP server".

JSON
{
  "mcpServers": {
    "resend": {
      "url": "http://127.0.0.1:3000/mcp",
      "headers": {
        "Authorization": "Bearer re_xxxxxxxxx"
      }
    }
  }
}

You can also set the port via the MCP_PORT environment variable:

Bash
MCP_PORT=3000 npx -y resend-mcp --http

You can pass additional arguments to configure the local server:

  • --key: Your Resend API key (stdio mode only, since HTTP mode uses the Bearer token from the client)
  • --sender: Default sender email address from a verified domain
  • --reply-to: Default reply-to email address (can be specified multiple times)
  • --http: Use HTTP transport instead of stdio (default: stdio)
  • --port: HTTP port when using --http (default: 3000, or MCP_PORT env var)

Environment variables:

  • RESEND_API_KEY: Your Resend API key (required for stdio, optional for HTTP since clients pass it via Bearer token)
  • SENDER_EMAIL_ADDRESS: Default sender email address from a verified domain (optional)
  • REPLY_TO_EMAIL_ADDRESSES: Comma-separated reply-to email addresses (optional)
  • MCP_PORT: HTTP port when using --http (optional)

Resend's MCP server gives your AI agent native access to the full Resend platform through a single integration. You can manage all aspects of your email infrastructure using natural language.

  • Emails: Send, list, get, cancel, update, and batch send emails. Supports HTML, plain text, attachments (local file, URL, or base64), CC/BCC, reply-to, scheduling, tags, and topic-based sending.
  • Received Emails: List and read inbound emails. List and download received email attachments.
  • Inboxes (beta): Create, list, get, update, and remove inboxes. Manage their threads, thread emails (get, reply, forward), labels, and drafts (create, update, send). Inboxes is in beta and is only available on the remote MCP server, not the local resend-mcp package. Reach out to us to get access.
  • Templates: Create, list, get, update, publish, duplicate, and remove email templates. Supports composing template content and {{{VARIABLE}}} placeholders.
  • Contacts: Create, list, get, update, and remove contacts. Manage segment memberships, topic subscriptions, and CSV contact imports. Supports custom contact properties.
  • Broadcasts: Create, send, list, get, update, and remove broadcast campaigns. Supports scheduling, personalization placeholders, and preview text.
  • Automations: Create, list, get, update, duplicate, and remove automations. Review the runs of an automation.
  • Events: Send events to trigger automations for a contact. Create, update, and remove event definitions.
  • Domains: Create, list, get, update, remove, and verify sender domains. Configure tracking, TLS, and sending/receiving capabilities. Create and verify domain claims.
  • Segments: Create, list, get, and remove audience segments.
  • Topics: Create, list, get, update, and remove subscription topics.
  • Contact Properties: Create, list, get, update, and remove custom contact attributes.
  • API Keys: Create, list, and remove API keys.
  • Webhooks: Create, list, get, update, and remove webhooks for event notifications.
  • Logs: List and inspect API request logs, including full request and response bodies.
  • Editor: Connect to (and disconnect from) the visual editor in the Resend dashboard, and read a draft's content while collaborating on broadcasts and templates.

Here are some real examples of what your agent can do with these tools:

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu