Mailcoach for AI agents

Mailcoach is a self-hosted email marketing platform for managing campaigns, subscriber lists, and transactional templates for teams that prefer to own their infrastructure. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

MarketingAPI keyMCP + RESTmailcoach.app
AUDIT LOG · MAILCOACHPOLICY: acme-support
09:41:07 · claude · u_8f2read
mailcoach.list_segments
List Segments✓ allowed · 212ms
09:41:08 · claude · u_8f2read
mailcoach.get_user
Get User✓ allowed · 164ms
09:41:09 · claude · u_8f2write
mailcoach.create_segment
Create Segment for Email List✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
mailcoach.delete_tag
Delete Tag from Email List✕ blocked · policy: deny
EVERY MAILCOACH CALL, ON THE RECORD
01 · USE CASES

What agents do in Mailcoach.

01

Add a subscriber to a list

Add a new subscriber to an email list and tag them based on how they signed up.

02

Check a campaign's opens and clicks

Pull open and click stats for a sent campaign to gauge performance, read-only.

03

Approve before deleting a list

Require approval before deleting an email list, since it removes every subscriber on it.

02 · ACTIONS

56 Mailcoach actions, graded by risk.

Every Mailcoach action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

25

Look things up. Allowed by default.

  • mailcoach.get_user
    Get User
  • mailcoach.get_segment
    Get Segment
  • mailcoach.get_all_tags
    Get All Tags
  • mailcoach.list_segments
    List Segments
  • mailcoach.get_email_lists
    Get Email Lists
  • mailcoach.get_specific_tag
    Get Specific Tag
  • mailcoach.list_subscribers
    List Subscribers
  • mailcoach.get_all_campaigns
    Get All Campaigns
  • mailcoach.get_all_templates
    Get All Templates
  • mailcoach.get_all_sent_items
    Get All Sent Items
  • mailcoach.get_campaign_opens
    Get Campaign Opens
  • mailcoach.get_campaign_clicks
    Get Campaign Clicks
  • mailcoach.get_all_suppressions
    Get All Suppressions
  • mailcoach.get_campaign_bounces
    Get Campaign Bounces
  • mailcoach.get_specific_campaign
    Get Specific Campaign
  • mailcoach.get_specific_template
    Get Specific Template
+ 9 MORE

write

20

Create and change things. Allow, or ask the user first.

  • mailcoach.add_tag
    Add Tag to Email List
  • mailcoach.update_tag
    Update Tag
  • mailcoach.add_campaign
    Add Mailcoach Campaign
  • mailcoach.add_email_list
    Add Email List
  • mailcoach.create_segment
    Create Segment for Email List
  • mailcoach.update_segment
    Update Segment
  • mailcoach.add_suppression
    Add suppression
  • mailcoach.update_campaign
    Update Campaign
  • mailcoach.update_template
    Update Template
  • mailcoach.update_email_list
    Update Email List
  • mailcoach.update_subscriber
    Update Subscriber
  • mailcoach.add_tags_to_subscriber
    Add Tags to Subscriber
  • mailcoach.create_subscriber_import
    Create Subscriber Import
  • mailcoach.update_subscriber_import
    Update Subscriber Import
  • mailcoach.add_transactional_email_template
    Add Transactional Email Template
  • mailcoach.confirm_subscriber
    Confirm Subscriber
+ 4 MORE

destructive

11

Delete, cancel or archive. Ask first, or deny outright.

  • mailcoach.delete_tag
    Delete Tag from Email List
  • mailcoach.delete_segment
    Delete Segment from Email List
  • mailcoach.delete_campaign
    Delete Campaign
  • mailcoach.delete_template
    Delete Template
  • mailcoach.delete_email_list
    Delete Email List
  • mailcoach.delete_subscriber
    Delete Subscriber
  • mailcoach.delete_suppression
    Delete Suppression
  • mailcoach.delete_subscriber_import
    Delete Subscriber Import
  • mailcoach.delete_transactional_mail
    Delete Transactional Mail
  • mailcoach.remove_tags_from_subscriber
    Remove Tags from Subscriber
  • mailcoach.unsubscribe_subscriber
    Unsubscribe Subscriber
03 · HOW IT WORKS

Mailcoach in three steps.

  1. 01Your users connect MailcoachThey add their Mailcoach api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “create Segment for Email List” can wait for the user, and “delete Tag from Email List” can be denied outright.
  3. 03Any agent can actYour agent calls Mailcoach through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('mailcoach', {
  read: 'allow',
  write: 'ask',        // create_segment
  destructive: 'deny',  // delete_tag
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Mailcoach connects.

Users add their Mailcoach api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same Mailcoach connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Mailcoach from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Mailcoach and Arc0, answered.

Q01

Can I use Mailcoach with Claude, ChatGPT or Cursor?

Yes. Connect Mailcoach to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Mailcoach actions you allow.

Q02

How do users connect Mailcoach?

Users add their Mailcoach api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which Mailcoach actions can my agent take?

56 in total: 25 read, 20 write and 11 destructive, such as “create Segment for Email List”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Mailcoach?

Yes. Actions like “delete Tag from Email List” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Mailcoach too?

Yes. The same Mailcoach connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Mailcoach into your agent.

Your users connect Mailcoach once, under your brand. Your agent gets 56 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan