MailUp MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with MailUp MCP or direct API to manage recipients, create campaigns, send email and SMS messages, and review engagement statistics through natural language.

MailUp logoMailUp
Oauth2

MailUp is an email and SMS marketing platform for managing contacts, campaigns, and engagement data. It helps teams run targeted marketing campaigns and track performance from one place.

151 Tools

Try MailUp now

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

TOOL ROUTER PLAYGROUND
MailUp
Try asking
TOOLS

Supported Tools

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

Add Image

Decode and store supplied base64 image data in either MailUp's shared console library or one list, returning the resulting full paths.

Add Message Attachment

Upload base64-encoded bytes into a specific attachment slot on one MailUp email message.

Associate Personalization Endpoint With List

Associate an existing MailUp personalization endpoint with one list.

Import SMS Recipients To Group

Asynchronously add or update an SMS recipient batch in a MailUp group and return the import ID.

Import SMS Recipients To List

Asynchronously add or update an SMS recipient batch in a MailUp list and return the import ID.

Import One SMS Recipient To Group

Add or update one SMS recipient in a MailUp group and return the recipient ID.

Import One SMS Recipient To List

Add or update one SMS recipient in a MailUp list and return the recipient ID.

Batch Unsubscribe Recipients From List

Remove multiple recipients' memberships from one MailUp list without deleting their global recipient records.

Confirm SMS Numeric Sender

Confirm a MailUp numeric SMS sender using the code previously delivered by the sender-confirmation flow.

Copy Email Message

Create a copy of one MailUp email message, optionally replacing its subject or internal notes; this does not send it.

Count Message Sending Recipients

Return MailUp's count of recipients to whom one email message was sent.

Count Subscribers

Return the subscribed-recipient count for a MailUp list or, when group_id is supplied, for one group in that list.

Create Audience Group

Create a recipient group in one MailUp list and return the complete group record.

Create Content Source

Create a named content-provider source in MailUp.

Create Email Message

Create a draft email campaign message in one MailUp list without sending it.

Create Email Message from Template

Create a new draft email message in a MailUp list from an existing template without sending it.

Create List

Create a MailUp mailing list without adding recipients or sending messages.

Create Personalization Endpoint

Create a MailUp endpoint used to obtain external personalization data.

Create SMS Message

Create a MailUp SMS draft without sending or consuming delivery credits.

Create SMTP+ Account

Create an SMTP+ user account for a MailUp list and return its generated credentials.

Create Tag

Create a named tag in one MailUp list for organizing email messages.

Delete Audience Group

Permanently delete one MailUp group.

Delete Audience Recipient From List

Delete one recipient record from one MailUp list only; other list memberships are unaffected.

Delete Audience Recipient Globally

Permanently delete one MailUp recipient from every list in the account.

Delete Content Source

Permanently delete one MailUp content-provider source.

Delete Email Message

Permanently delete one MailUp email message from a list.

Delete Image

Permanently delete the image at an exact full MailUp path from provider storage.

Delete List

Permanently delete one MailUp list and its list-scoped configuration.

Delete Message Attachment

Permanently remove the attachment in one slot from a MailUp email message and return the remaining attachments.

Delete Personalization Endpoint

Permanently delete one MailUp personalization endpoint.

Delete Email Sending Task

Delete an existing MailUp email sending task record; this does not recall email already delivered.

Delete SMS Message

Permanently delete one MailUp SMS draft without sending it.

Delete Source Content

Permanently delete one keyed content item from a MailUp content-provider source.

Delete Tag

Permanently delete one tag from a MailUp list; messages using it may lose that classification.

Disable Trusted Sender

Disable a trusted sender registration by ID so it is no longer active for sending.

Disassociate Personalization Endpoint From List

Remove one MailUp personalization endpoint association from a list.

Empty Audience Group

Remove every recipient membership from one MailUp group.

Set Email Message Dynamic Fields

Enable or disable dynamic recipient-field substitution on one MailUp email message and return its complete current details.

Set SMS Message Dynamic Fields

Explicitly enable or disable dynamic recipient-field substitution for one MailUp SMS draft.

Set Tracking for Every List

Explicitly enable or disable email tracking for one recipient across every MailUp list.

Set Tracking for List

Explicitly enable or disable email tracking for one recipient on one MailUp list.

Find Recipients

Find MailUp recipients by email address, mobile number, or both; this endpoint cannot list recipients without a lookup value.

Get Account Details

Return the connected MailUp account identity, plan, trial status, expiry, and available credits; use this before credit-dependent sending.

Get Account Info

Return the authenticated MailUp account identity, console version, trial flag, and optional expiry/URL.

List Archived Email Messages

Return one page of archived email messages from a specific MailUp list.

Get Deferred Dispatch Date

Get the first useful MailUp date for scheduling a sending task.

Get Earliest Deferred SMS Dispatch Date

Return MailUp's earliest useful scheduling date for one SMS sending task.

List Deferred SMS Sendings

Return SMS sending tasks scheduled for deferred dispatch.

Get Email Message

Return the content, subject, tracking settings, tags, dynamic fields, and attachments for one MailUp email message.

List Email Send History for List

Return one page of send-history records across all email messages in one MailUp list.

Get Email Template Details

Return metadata and content for one email template in a MailUp list.

List Email Templates

Return one page of email templates defined in a specific MailUp list.

List Immediate SMS Sendings

Return SMS sending tasks scheduled for immediate dispatch.

Get Import Details

Return the complete MailUp import configuration and nested valid/invalid row totals for one import ID.

Get Import Sending

Return the sending and message IDs for confirmation requests generated by one MailUp import.

Get Import Status

Return completion and recipient outcome counts for an asynchronous MailUp import ID.

List Last Sent SMS Messages

Return the most recently sent SMS messages and their account-billing costs for one list.

Get List

Return configuration and sender details for one MailUp mailing list by ID.

Get MailUp Login URL

Create an ephemeral URL that logs a user into the MailUp platform.

List Current User Email Messages

Return one page of cloned and original email messages across lists for the current MailUp user.

List Message Attachments

Return all attachment slots currently configured on one MailUp email message.

Get Message Statistics

Return aggregate recipient, view, click, bounce, and unsubscription counts for one MailUp email message using five read-only statistics calls.

Get Message Statistics Pages

Return MailUp's precompiled public statistics-page URLs for one message: overall, click trend, opens, link tracking, readers, and sent reports, plus the console login URL.

List Non-Temporary SMS Errors

Return undelivered SMS error totals grouped by originator address.

List Pending SMS Recipients By List

Return recipients whose SMS subscription is pending in one MailUp list.

Get Personalization Endpoint

Retrieve one MailUp personalization endpoint including its configured details.

List Published Email Messages

Return one page of email messages currently visible online for a specific MailUp list.

Get Recipient

Return contact details, dynamic fields, and list membership states for one MailUp recipient ID.

Get Recipient Statistics

Return aggregate delivery, view, click, bounce, and unsubscription counts for one MailUp recipient using five rate-limited, read-only statistics calls.

Request SMS Numeric Sender Confirmation Code

Request the authentication code for a MailUp numeric SMS sender and return whether MailUp accepted the request.

Get SMS Message Details

Return the complete XSD-defined content and settings for one MailUp SMS message.

List SMS Messages By List

Return SMS campaign message summaries from one MailUp list.

List SMS Message Send History

Return sending attempts and recipient counts for one SMS message.

Get SMS Message Sending Report

Return aggregate duration, cost, recipient-message, and billable SMS-part totals for one SMS message.

List SMS Message Sending Report Details

Return per-recipient delivery statuses and errors for one SMS message.

Get SMS Numeric Sender Status

Return the verification status code and description for one numeric MailUp SMS sender.

List SMS Recipients By Group

Return recipients in one MailUp group using the SMS channel projection.

Get SMTP+ Priority Codes

List the SMTP+ priority codes available in MailUp.

List Subscribed SMS Recipients By List

Return recipients subscribed to the SMS channel in one MailUp list.

List Enabled Tags

Return one page of enabled tags configured for a specific MailUp list.

List Temporary SMS Errors

Return temporary undelivered SMS error totals grouped by originator address.

Get Tracking Status for Every List

Get one recipient's email tracking status across every MailUp list.

Get Tracking Status for List

Get one recipient's email tracking status for a specific MailUp list.

Get Trusted Sender

Get one trusted sender registration by ID.

List Trusted Senders

Return one page of trusted sender registrations.

List Unscheduled SMS Sendings

Return SMS sending tasks that still need a dispatch schedule.

List Unsubscribed SMS Recipients By List

Return recipients unsubscribed from the SMS channel in one MailUp list.

Import Audience Recipient To Group

Synchronously create or update one email recipient and add them to a MailUp group, returning the recipient ID.

Import Audience Recipient To List

Synchronously create or update one email recipient in a MailUp list and return the recipient ID.

Import Recipients

Queue an asynchronous import that adds or updates a non-empty recipient batch in one MailUp list or group.

List Audience Email Opt-Ins By List

Return one page of subscribed and unsubscribed email recipients for a MailUp list with complete opt-in and opt-out details.

List Audience Email Opt-Ins By Recipient

Return one page of a MailUp recipient's email subscription status and opt-in/opt-out history across lists.

List Audience SMS Opt-Ins By List

Return one page of subscribed and unsubscribed SMS recipients for a MailUp list with complete opt-in and opt-out details.

List Audience SMS Opt-Ins By Recipient

Return one page of a MailUp recipient's SMS subscription status and opt-in/opt-out history across lists.

List Content Sources

Return one page of MailUp content-provider sources.

List Country Codes

Return MailUp's complete unpaged country-code reference for list sender settings.

List Dynamic Fields

Return one page of recipient dynamic-field definitions and IDs.

List Email Messages

Return one page of email campaign messages in a MailUp list, including message IDs used by message editing, sending, and statistics tools.

List Email Send History

Return one page of completed send-history records for a specific MailUp email message.

List Email Sendings

Return one page of MailUp email sending tasks for one queue state: pending scheduling, immediate, or deferred.

List Group Recipients

Return one page of recipients currently associated with a MailUp group.

List Groups

Return one page of recipient groups in a MailUp list, including group IDs used by group-scoped tools.

List Images

Return all full image paths from either the console-wide shared library or one MailUp list.

List Imports

Return one page of MailUp recipient imports with status codes and row counts.

List Import Status Codes

Return MailUp's complete reference table for interpreting import status_code values.

List List Recipients

Return one page of recipients in a MailUp list for one subscription state: subscribed, pending, or unsubscribed.

List Lists

Return one page of mailing lists available to the connected MailUp user, including the list IDs required by list-scoped tools.

List List Scopes

Return MailUp's complete unpaged list-purpose reference table for scope_code settings.

List Message Events

Return one page of recipient-level delivery, view, click, bounce, or unsubscription statistics for a sent MailUp email message.

List Message URL Click Details

Return one page of clicked links for a MailUp message with each link's total and per-recipient click counts.

List Message URL Clicks

Return one page of links with at least one click for a MailUp message, with the click total for each URL or MailUp special-link label.

List Personalization Endpoints

Return one page of MailUp personalization endpoints.

List Personalization Endpoints By List

Retrieve all personalization endpoints associated with one MailUp list.

List Recipient Activity

Return one page of sent-email delivery, view, click, bounce, or unsubscription statistics for one MailUp recipient.

List Recipient Bounce Details

Return one page of messages that bounced for a MailUp recipient, including message subject, notes, and bounce classification when available.

List Recipient Click Details

Return one page of messages in which a MailUp recipient clicked, including each message's total and per-URL click counts.

List Recipient Groups

Return one page of groups to which a recipient belongs within one MailUp list.

List Source Contents

Return one page of content items from one MailUp content-provider source.

List Time Zones

Return MailUp's complete unpaged time-zone reference for list settings.

Register Trusted Sender

Register an email address as a trusted sender and begin MailUp's authorization process; registration does not itself guarantee authorization.

Reset SMTP+ Account

Reset an existing SMTP+ user account and return a replacement password.

Schedule Deferred Email Dispatch

Queue an existing MailUp email campaign for deferred dispatch at the supplied UTC date in exact yyyy-MM-dd HH:mm:ssZ format.

Schedule Deferred SMS Dispatch

Explicitly schedule an existing MailUp SMS sending for a supplied future Date.

Schedule Immediate Email Dispatch

Irreversibly move an existing inactive MailUp email sending task into the immediate sending queue, where delivery can begin.

Schedule Immediate SMS Dispatch

Explicitly queue an existing MailUp SMS sending for immediate dispatch.

Send Email Message to Recipient

Irreversibly enqueue, defer, or snapshot an existing MailUp email message for one recipient email address.

Send Email Message to Group

Irreversibly enqueue, defer, or snapshot an existing MailUp email message for recipients in one group.

Send Email Message to List

Irreversibly enqueue, defer, or snapshot an existing MailUp email message for recipients in one list, optionally including or excluding groups.

Send SMS Message To Recipient

Irreversibly send an existing MailUp SMS message directly to one Prefix/Number.

Send SMS Message To Group

Irreversibly send or schedule an existing SMS message to recipients in one MailUp group.

Send SMS Message To List

Irreversibly send or schedule an existing SMS message to recipients in one MailUp list.

Stop Email Sending Task

Stop an existing MailUp email sending task and prevent its remaining queued email deliveries.

Subscribe Audience Recipient To Group

Add an existing MailUp recipient to one group.

Subscribe Recipient To List

Extend an already-subscribed email recipient's membership to one additional MailUp list.

Subscribe SMS Recipient To Group

Add an existing SMS recipient to one MailUp group.

Subscribe SMS Recipient To List

Subscribe an existing recipient to the SMS channel of one MailUp list.

Unsubscribe Audience Recipient From Group

Remove one recipient from a MailUp group without unsubscribing that recipient from the parent list.

Unsubscribe Audience Recipient From Lists

Unsubscribe one recipient from every explicitly supplied MailUp list ID in one request.

Unsubscribe Recipient From List

Unsubscribe an existing email recipient from one MailUp list and remove the recipient from every group owned by that list, without deleting the global recipient record or changing the SMS channel.

Unsubscribe SMS Recipient From List

Remove one recipient's SMS subscription from one MailUp list without deleting the recipient.

Unsubscribe SMS Recipient From Lists

Remove one recipient's SMS subscriptions from an explicit set of MailUp lists and report per-list results.

Update Audience Group

Update explicitly supplied fields of a MailUp group; omitted body fields are not sent.

Update Audience Recipient Detail

Update explicitly supplied contact and dynamic-field details for a MailUp address-book recipient; omitted fields are not sent.

Update Content Source

Update supplied settings of one MailUp content-provider source.

Update Email Message

Update an existing MailUp email message's subject and content while preserving omitted settings; this changes the draft and does not send it.

Update List

Update only supplied settings on one MailUp list.

Update Online Email Visibility

Publish or hide one MailUp email message on the list's online archive; this does not send the message.

Update Personalization Endpoint

Replace the configuration of one MailUp personalization endpoint.

Update SMS Message

Replace documented fields of one MailUp SMS draft without sending it.

Update Source Contents

Add or update content items in one MailUp content-provider source and return the activity ID.

Update Tag

Replace the name and optionally the enabled state of one tag in a MailUp list.

SETUP GUIDE

Connect MailUp 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: ["mail_up"],
  mcp: true,
});
Create a session scoped to MailUp 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: "List all recipients in my MailUp newsletter list",
  stopWhen: stepCountIs(10),
});

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

Connect MailUp 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: ["mail_up"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to MailUp
3

Run MailUp tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List all recipients in my MailUp newsletter list" }],
});

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 MailUp tool calls through the session, and print the final answer

Why Use Composio?

AI Native MailUp Integration

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

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke MailUp 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 MailUp
  • Scoped, least privilege access to MailUp resources
  • Full audit trail of agent actions to support review and compliance

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

MailUp requires connections to go through your own OAuth app. You register it once with MailUp, add its client ID and secret in the Composio dashboard, and from then on everyone connects by signing in to MailUp as usual. Composio handles the rest of the flow and the token refresh.

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 MailUp 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 MailUp account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in MailUp 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.

Exactly the ones MailUp lists on its consent screen when you connect. Review that screen before approving. If you connect a work account, your MailUp administrator may need to approve the app first, and you can revoke the access inside MailUp whenever you want.

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 MailUp 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 refreshes MailUp tokens automatically, so day to day you do nothing. If you revoke access inside MailUp, or MailUp invalidates the session, the connection shows as expired in Composio and the agent stops acting on that account until you reconnect it, which is a single sign-in.

Composio's free Hobby plan includes 100,000 tool calls per month with no credit card, which covers most personal MailUp use. Paid plans add higher limits and team features. Your MailUp 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 MailUp accounts).

With Composio, you connect MailUp 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 MailUp.It takes 30 seconds.

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

Start building