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.
What agents do in Mailcoach.
Add a subscriber to a list
Add a new subscriber to an email list and tag them based on how they signed up.
Check a campaign's opens and clicks
Pull open and click stats for a sent campaign to gauge performance, read-only.
Approve before deleting a list
Require approval before deleting an email list, since it removes every subscriber on it.
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
25Look things up. Allowed by default.
- mailcoach.get_userGet User
- mailcoach.get_segmentGet Segment
- mailcoach.get_all_tagsGet All Tags
- mailcoach.list_segmentsList Segments
- mailcoach.get_email_listsGet Email Lists
- mailcoach.get_specific_tagGet Specific Tag
- mailcoach.list_subscribersList Subscribers
- mailcoach.get_all_campaignsGet All Campaigns
- mailcoach.get_all_templatesGet All Templates
- mailcoach.get_all_sent_itemsGet All Sent Items
- mailcoach.get_campaign_opensGet Campaign Opens
- mailcoach.get_campaign_clicksGet Campaign Clicks
- mailcoach.get_all_suppressionsGet All Suppressions
- mailcoach.get_campaign_bouncesGet Campaign Bounces
- mailcoach.get_specific_campaignGet Specific Campaign
- mailcoach.get_specific_templateGet Specific Template
write
20Create and change things. Allow, or ask the user first.
- mailcoach.add_tagAdd Tag to Email List
- mailcoach.update_tagUpdate Tag
- mailcoach.add_campaignAdd Mailcoach Campaign
- mailcoach.add_email_listAdd Email List
- mailcoach.create_segmentCreate Segment for Email List
- mailcoach.update_segmentUpdate Segment
- mailcoach.add_suppressionAdd suppression
- mailcoach.update_campaignUpdate Campaign
- mailcoach.update_templateUpdate Template
- mailcoach.update_email_listUpdate Email List
- mailcoach.update_subscriberUpdate Subscriber
- mailcoach.add_tags_to_subscriberAdd Tags to Subscriber
- mailcoach.create_subscriber_importCreate Subscriber Import
- mailcoach.update_subscriber_importUpdate Subscriber Import
- mailcoach.add_transactional_email_templateAdd Transactional Email Template
- mailcoach.confirm_subscriberConfirm Subscriber
destructive
11Delete, cancel or archive. Ask first, or deny outright.
- mailcoach.delete_tagDelete Tag from Email List
- mailcoach.delete_segmentDelete Segment from Email List
- mailcoach.delete_campaignDelete Campaign
- mailcoach.delete_templateDelete Template
- mailcoach.delete_email_listDelete Email List
- mailcoach.delete_subscriberDelete Subscriber
- mailcoach.delete_suppressionDelete Suppression
- mailcoach.delete_subscriber_importDelete Subscriber Import
- mailcoach.delete_transactional_mailDelete Transactional Mail
- mailcoach.remove_tags_from_subscriberRemove Tags from Subscriber
- mailcoach.unsubscribe_subscriberUnsubscribe Subscriber
Mailcoach in three steps.
- 01Your users connect MailcoachThey add their Mailcoach api key on Arc0 Connect, under your brand. It goes straight into the vault.
- 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.
- 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.
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
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
Use Mailcoach from any agent.
Mailcoach and Arc0, answered.
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.
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.
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.
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.
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.
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