---
title: "MailerSend MCP server for AI agents - actionlake"
description: "Give Claude 129 MailerSend actions through one MCP server: dmarc monitors, sender identities. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/mailersend
updated: 2026-10-23
---

Connectors · Email & messaging

# MailerSend MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to MailerSend and the rest of your systems. It gives your agent 129 MailerSend actions (64 reads, 42 writes and 23 that wait for a confirmation) and holds the MailerSend credential itself, so the agent never does. It paces MailerSend's limits and records every call.

[Connect MailerSend free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "mailersend.users.list",
  intent: "check which MailerSend account is connected"
}
# Get a list of account users · read · 1 upstream call
```

- 129 actions in one signed file
- 64 read look, never change
- 42 write create and update
- 23 wait for a yes destructive, confirmed first

Set up

## Connect MailerSend in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect MailerSend.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `access_token` MailerSend API token
   ```
   account { op: "connections.requirements", service: "mailersend" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "mailersend.users.list" }
   # get a list of account users · read · 1 upstream call
   check { action: "mailersend.emails.send", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

MailerSend at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`access_token`

**Limits we pace to**

60 calls a minute, per connection

**API covered**

MailerSend API v1`api.mailersend.com/v1`

**Built from**

MailerSend's documentation, read 23 October 2026[developers.mailersend.com](https://developers.mailersend.com/general) [api.swaggerhub.com](https://api.swaggerhub.com/apis/MailerSend/mailersend-api/1.0.0-oas3.1)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

60 of 64 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

4, so ask can line MailerSend up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in MailerSend.

129 actions in 34 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **64** read look, never change
- **42** write create and update
- **23** destructive wait for a confirmation

1. ### Dmarc monitors
   9
   4 read · 3 write · 2 destructive
   Create a monitor · Get IP-specific reports · List monitors · Get aggregated reports
2. ### Sender identities
   9
   3 read · 4 write · 2 destructive
   Add a sender identity · Get a list of sender identities · Resend a sender identity verification · Get a single sender identity
3. ### Domains
   8
   5 read · 2 write · 1 destructive
   Get a list of domains · Get a single domain · Add a domain · Update domain settings
4. ### Blocklist monitors
   5
   2 read · 2 write · 1 destructive
   List monitors · Create a monitor · Get a monitor · Update a monitor
5. ### Email verification lists
   5
   3 read · 2 write · 0 destructive
   Create a list · Get all lists · Get list results · Get a single list
6. ### Inbound routes
   5
   2 read · 2 write · 1 destructive
   Get a list of inbound routes · Add an inbound route · Get a single inbound route · Delete an inbound route
7. ### SMS inbound routes
   5
   2 read · 2 write · 1 destructive
   Add an SMS inbound route · Get a list of SMS inbound routes · Get a single SMS inbound route · Update an inbound route
8. ### SMS webhooks
   5
   2 read · 2 write · 1 destructive
   Create an SMS webhook · Get a list of SMS webhooks · Get a single SMS webhook · Update a single SMS webhook

**26 more areas · 78 actions**

- SMTP users **5**
- Templates **5**
- Tokens **5**
- Users **5**
- Webhooks **5**
- Analytics **4**
- Invites **4**
- SMS numbers **4**
- Blocklist **3**
- Email verification **3**
- Emails **3**
- Hard bounces **3**
- Recipients **3**
- Scheduled messages **3**
- SMS recipients **3**
- Spam complaints **3**
- Unsubscribes **3**
- Activities **2**
- Bulk emails **2**
- Messages **2**
- On hold list **2**
- SMS messages **2**
- API quota **1**
- SMS **1**
- SMS activities **1**
- Whatsapp **1**

Top actions

## The MailerSend API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 55 of MailerSend's 55 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `mailersend.users.list` Get a list of account users | Get a list of account users. | read | `identity.user.list` 474 connectors |
| `mailersend.emails.list` Get a list of emails | Get a list of emails. | read | `comm.email.list` 28 connectors |
| `mailersend.domains.list` Get a list of domains | Get a list of domains. | read | `comm.sending_domain.list` 18 connectors |
| `mailersend.activities.list` Get a list of activities | Get a list of activities. | read | `comm.delivery_event.list` 16 connectors |
| `mailersend.users.get` Get a single account user | Get a single account user. | read | `identity.user.get` 399 connectors |
| `mailersend.emails.send` Send an email | Send an email. | write | `comm.email.send` 32 connectors |
| `mailersend.domains.get` Get a single domain | Get a single domain. | read | `comm.sending_domain.get` 14 connectors |
| `mailersend.templates.list` Get templates | Get templates. | read | `comm.email_template.list` 40 connectors |
| `mailersend.sms.send` Send an SMS | Send an SMS. | write | `comm.sms.send` 26 connectors |
| `mailersend.users.delete` Delete a user from account | Delete a user from account. | destructive | `identity.user.delete` 253 connectors |
| `mailersend.activities.get` Get a single activity | Get a single activity. | read | `comm.delivery_event.get` 6 connectors |
| `mailersend.tokens.create` Create a token | Create a token. | write | `identity.api_key.create` 100 connectors |

Try it

## Prompts to paste into Claude.

Each one names the MailerSend actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Who has access in MailerSend? List every user and their role.
   calls `mailersend.users.list`
2. Write write
   Send an email in MailerSend. Show me exactly what you will send before you save it.
   calls `mailersend.emails.send`

Governance for MailerSend

## Destructive actions wait for a yes.

23 MailerSend actions are destructive. These are all of them:

- Delete a user from account `mailersend.users.delete`
- Delete a domain `mailersend.domains.delete`
- Delete a template `mailersend.templates.delete`
- Delete a token `mailersend.tokens.delete`
- Delete recipients from a suppression list (Blocklist) `mailersend.blocklist.delete`
- Delete an SMS phone number `mailersend.sms_numbers.delete`
- Cancel an invite `mailersend.invites.cancel`
- Delete an inbound route `mailersend.inbound_routes.delete`
- Delete a webhook `mailersend.webhooks.delete`
- Delete a monitor `mailersend.blocklist_monitors.delete`
- Delete a recipient `mailersend.recipients.delete`
- Delete SMTP user `mailersend.smtp_users.delete`
- Delete recipients from a suppression list (Hard Bounces) `mailersend.hard_bounces.delete`
- Delete recipients from a suppression list (On Hold List) `mailersend.on_hold_list.delete`
- Delete an SMS webhook `mailersend.sms_webhooks.delete`
- Delete recipients from a suppression list (Unsubscribes) `mailersend.unsubscribes.delete`
- Delete a monitor `mailersend.dmarc_monitors.delete`
- Delete recipients from a suppression list (Spam Complaints) `mailersend.spam_complaints.delete`
- Delete a sender identity `mailersend.sender_identities.delete`
- Delete a scheduled message `mailersend.scheduled_messages.delete`
- Delete an SMS inbound route `mailersend.sms_inbound_routes.delete`
- Remove IP from favorites `mailersend.dmarc_monitors.unfavorite_ip`
- Delete a sender identity by email `mailersend.sender_identities.delete_by_email`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do mailersend.users.delete confirm_policy: **human**

Delete a user from account?

**intent:** the user asked me to delete a user from account

run suspended · waiting for a named person · key _mailersend-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "mailersend-agent",
  allowed_actions: ["mailersend.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "mailersend.users.delete", approver: "lead@example.com" },
    { match: "mailersend.domains.delete", approver: "lead@example.com" },
    { match: "mailersend.templates.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to MailerSend only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What MailerSend costs on actionlake.

Every MailerSend action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call MailerSend refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 129 MailerSend actions
- 129 actions page each page of a long list is one call
- 60 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every MailerSend action.

129 actions by area: the id your agent calls, what it does, and its effect.

**Dmarc monitors 9**

- `mailersend.dmarc_monitors.create` Create a monitor write
- `mailersend.dmarc_monitors.delete` Delete a monitor destructive
- `mailersend.dmarc_monitors.favorite_ip` Mark IP as favorite write
- `mailersend.dmarc_monitors.ip_report` Get IP-specific reports read
- `mailersend.dmarc_monitors.list` List monitors read
- `mailersend.dmarc_monitors.report` Get aggregated reports read
- `mailersend.dmarc_monitors.report_sources` Get report sources read
- `mailersend.dmarc_monitors.unfavorite_ip` Remove IP from favorites destructive
- `mailersend.dmarc_monitors.update` Update a monitor write

**Sender identities 9**

- `mailersend.sender_identities.create` Add a sender identity write
- `mailersend.sender_identities.delete` Delete a sender identity destructive
- `mailersend.sender_identities.delete_by_email` Delete a sender identity by email destructive
- `mailersend.sender_identities.get` Get a single sender identity read
- `mailersend.sender_identities.get_by_email` Get a single sender identity by email read
- `mailersend.sender_identities.list` Get a list of sender identities read
- `mailersend.sender_identities.resend_verification` Resend a sender identity verification write
- `mailersend.sender_identities.update` Update a sender identity write
- `mailersend.sender_identities.update_by_email` Update a sender identity by email write

**Domains 8**

- `mailersend.domains.create` Add a domain write
- `mailersend.domains.delete` Delete a domain destructive
- `mailersend.domains.dns_records` Get DNS Records read
- `mailersend.domains.get` Get a single domain read
- `mailersend.domains.list` Get a list of domains read
- `mailersend.domains.recipients` Get recipients for a domain read
- `mailersend.domains.update_settings` Update domain settings write
- `mailersend.domains.verification_status` Get verification status read

**Blocklist monitors 5**

- `mailersend.blocklist_monitors.create` Create a monitor write
- `mailersend.blocklist_monitors.delete` Delete a monitor destructive
- `mailersend.blocklist_monitors.get` Get a monitor read
- `mailersend.blocklist_monitors.list` List monitors read
- `mailersend.blocklist_monitors.update` Update a monitor write

**Email verification lists 5**

- `mailersend.email_verification_lists.create` Create a list write
- `mailersend.email_verification_lists.get` Get a single list read
- `mailersend.email_verification_lists.list` Get all lists read
- `mailersend.email_verification_lists.results` Get list results read
- `mailersend.email_verification_lists.verify` Verify a list write

**Inbound routes 5**

- `mailersend.inbound_routes.create` Add an inbound route write
- `mailersend.inbound_routes.delete` Delete an inbound route destructive
- `mailersend.inbound_routes.get` Get a single inbound route read
- `mailersend.inbound_routes.list` Get a list of inbound routes read
- `mailersend.inbound_routes.update` Update an inbound route write

**SMS inbound routes 5**

- `mailersend.sms_inbound_routes.create` Add an SMS inbound route write
- `mailersend.sms_inbound_routes.delete` Delete an SMS inbound route destructive
- `mailersend.sms_inbound_routes.get` Get a single SMS inbound route read
- `mailersend.sms_inbound_routes.list` Get a list of SMS inbound routes read
- `mailersend.sms_inbound_routes.update` Update an inbound route write

**SMS webhooks 5**

- `mailersend.sms_webhooks.create` Create an SMS webhook write
- `mailersend.sms_webhooks.delete` Delete an SMS webhook destructive
- `mailersend.sms_webhooks.get` Get a single SMS webhook read
- `mailersend.sms_webhooks.list` Get a list of SMS webhooks read
- `mailersend.sms_webhooks.update` Update a single SMS webhook write

**SMTP users 5**

- `mailersend.smtp_users.create` Add SMTP user write
- `mailersend.smtp_users.delete` Delete SMTP user destructive
- `mailersend.smtp_users.get` Get a single SMTP user read
- `mailersend.smtp_users.list` Get a list of SMTP users read
- `mailersend.smtp_users.update` Update SMTP user write

**Templates 5**

- `mailersend.templates.create` Create a template write
- `mailersend.templates.delete` Delete a template destructive
- `mailersend.templates.get` Get a single template read
- `mailersend.templates.list` Get templates read
- `mailersend.templates.update` Update a template write

**Tokens 5**

- `mailersend.tokens.create` Create a token write
- `mailersend.tokens.delete` Delete a token destructive
- `mailersend.tokens.get` Show a token read
- `mailersend.tokens.list` List tokens read
- `mailersend.tokens.update` Update a token write

**Users 5**

- `mailersend.users.delete` Delete a user from account destructive
- `mailersend.users.get` Get a single account user read
- `mailersend.users.invite` Invite a user to account write
- `mailersend.users.list` Get a list of account users read
- `mailersend.users.update` Update account user write

**Webhooks 5**

- `mailersend.webhooks.create` Create a webhook write
- `mailersend.webhooks.delete` Delete a webhook destructive
- `mailersend.webhooks.get` Get a webhook read
- `mailersend.webhooks.list` Get a list of webhooks read
- `mailersend.webhooks.update` Update a webhook write

**Analytics 4**

- `mailersend.analytics.by_date` Activity data by date read
- `mailersend.analytics.opens_by_country` Opens by country read
- `mailersend.analytics.opens_by_reading_environment` Opens by reading environment read
- `mailersend.analytics.opens_by_user_agent` Opens by user-agent name read

**Invites 4**

- `mailersend.invites.cancel` Cancel an invite destructive
- `mailersend.invites.get` Get a single invite read
- `mailersend.invites.list` Get a list of invites read
- `mailersend.invites.resend` Resend an invite write

**SMS numbers 4**

- `mailersend.sms_numbers.delete` Delete an SMS phone number destructive
- `mailersend.sms_numbers.get` Get an SMS phone number read
- `mailersend.sms_numbers.list` Get a list of SMS phone numbers read
- `mailersend.sms_numbers.update` Update a single SMS phone number write

**Blocklist 3**

- `mailersend.blocklist.add` Add recipients to a suppression list (Blocklist) write
- `mailersend.blocklist.delete` Delete recipients from a suppression list (Blocklist) destructive
- `mailersend.blocklist.list` Get recipients from a suppression list (Blocklist) read

**Email verification 3**

- `mailersend.email_verification.async_status` Get async email verification status read
- `mailersend.email_verification.verify_email` Verify an email write
- `mailersend.email_verification.verify_email_async` Verify an email (Async) write

**Emails 3**

- `mailersend.emails.get` Get a single email read
- `mailersend.emails.list` Get a list of emails read
- `mailersend.emails.send` Send an email write

**Hard bounces 3**

- `mailersend.hard_bounces.add` Add recipients to a suppression list (Hard Bounces) write
- `mailersend.hard_bounces.delete` Delete recipients from a suppression list (Hard Bounces) destructive
- `mailersend.hard_bounces.list` Get recipients from a suppression list (Hard Bounces) read

**Recipients 3**

- `mailersend.recipients.delete` Delete a recipient destructive
- `mailersend.recipients.get` Get a single recipient read
- `mailersend.recipients.list` Get recipients read

**Scheduled messages 3**

- `mailersend.scheduled_messages.delete` Delete a scheduled message destructive
- `mailersend.scheduled_messages.get` Get a single scheduled message read
- `mailersend.scheduled_messages.list` Get list of scheduled messages read

**SMS recipients 3**

- `mailersend.sms_recipients.get` Get an SMS recipient read
- `mailersend.sms_recipients.list` Get a list of SMS recipients read
- `mailersend.sms_recipients.update` Update a single SMS recipient write

**Spam complaints 3**

- `mailersend.spam_complaints.add` Add recipients to a suppression list (Spam Complaints) write
- `mailersend.spam_complaints.delete` Delete recipients from a suppression list (Spam Complaints) destructive
- `mailersend.spam_complaints.list` Get recipients from a suppression list (Spam Complaints) read

**Unsubscribes 3**

- `mailersend.unsubscribes.add` Add recipients to a suppression list (Unsubscribes) write
- `mailersend.unsubscribes.delete` Delete recipients from a suppression list (Unsubscribes) destructive
- `mailersend.unsubscribes.list` Get recipients from a suppression list (Unsubscribes) read

**Activities 2**

- `mailersend.activities.get` Get a single activity read
- `mailersend.activities.list` Get a list of activities read

**Bulk emails 2**

- `mailersend.bulk_emails.get` Get bulk email status read
- `mailersend.bulk_emails.send` Send bulk emails write

**Messages 2**

- `mailersend.messages.get` Get information for a single message (Request) read
- `mailersend.messages.list` Get a list of messages (Request) read

**On hold list 2**

- `mailersend.on_hold_list.delete` Delete recipients from a suppression list (On Hold List) destructive
- `mailersend.on_hold_list.list` Get recipients from a suppression list (On Hold List) read

**SMS messages 2**

- `mailersend.sms_messages.get` Get an SMS message read
- `mailersend.sms_messages.list` Get a list of SMS messages read

**API quota 1**

- `mailersend.api_quota.get` Get API quota read

**SMS 1**

- `mailersend.sms.send` Send an SMS write

**SMS activities 1**

- `mailersend.sms_activities.list` Get a list of activities read

**Whatsapp 1**

- `mailersend.whatsapp.send` Send a WhatsApp message write

Questions

## The MailerSend MCP server, answered.

**Is there a MailerSend MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 129 MailerSend actions across dmarc monitors, sender identities, domains and blocklist monitors, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by MailerSend.

**What do I need to connect MailerSend?**

MailerSend API token. The free call account { op: "connections.requirements", service: "mailersend" } lists exactly what to paste.

**Can an AI agent delete or change things in MailerSend?**

Only if its key allows it, and only with an explicit confirmation. 23 MailerSend actions are destructive, including delete a user from account, delete a domain and delete a template. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my MailerSend API limit?**

actionlake paces every call to the limits in the MailerSend service file: 60 calls a minute per connection. Repeated reads are answered from cache (60 MailerSend actions can be), which never reaches MailerSend.

**What does a MailerSend action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (129 MailerSend actions page). Cache hits, searches, dry runs and calls MailerSend refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which MailerSend API does it cover?**

The MailerSend API v1 at api.mailersend.com/v1. It is built from MailerSend's documentation as read on 23 October 2026. 129 actions in 34 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my MailerSend data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your MailerSend credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like MailerSend

Shares the most action names with

- [Mailgun 33](https://actionlake.com/connectors/mailgun)
- [Bird 28](https://actionlake.com/connectors/bird)
- [Elastic Email 25](https://actionlake.com/connectors/elastic-email)
- [SparkPost 21](https://actionlake.com/connectors/sparkpost)
- [Postmark 20](https://actionlake.com/connectors/postmark)
- [Mailtrap 18](https://actionlake.com/connectors/mailtrap)

Joins with, on shared entities

- [SMTP2GO 3](https://actionlake.com/connectors/smtp2go)
- [Microsoft Dynamics 365 2](https://actionlake.com/connectors/microsoft-dynamics-365)
- [Close 2](https://actionlake.com/connectors/close)
- [Instantly 2](https://actionlake.com/connectors/instantly)
- [Salesloft 2](https://actionlake.com/connectors/salesloft)
- [Salesforce Service Cloud 2](https://actionlake.com/connectors/salesforce-service-cloud)

Browse

- [All Email & messaging connectors](https://actionlake.com/connectors/category/email-and-messaging)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by MailerSend; the name is the vendor's own. Counts are from the MailerSend service file, version 1.0.0.

## Give your agent MailerSend today.

[Connect MailerSend free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/mailersend
More: https://actionlake.com/llms.txt
