Campaign Cleaner for AI agents
Campaign Cleaner checks email campaigns for rendering issues across email clients so a marketing team can catch deliverability problems before hitting send. 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 Campaign Cleaner.
Check a campaign's status
Check whether a submitted campaign's compatibility analysis is finished before reviewing the results.
Download a campaign's analysis
Download the PDF analysis of a campaign to see exactly which clients render it wrong.
Confirm before deleting a campaign
Confirm before deleting a campaign record, since its analysis history is removed with it.
5 Campaign Cleaner actions, graded by risk.
Every Campaign Cleaner action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
4Look things up. Allowed by default.
- campaign_cleaner.get_creditsGet Credits
- campaign_cleaner.get_campaign_listGet Campaign List
- campaign_cleaner.get_campaign_statusGet Campaign Status
- campaign_cleaner.get_campaign_pdf_analysisDownload Campaign PDF Analysis
write
0Create and change things. Allow, or ask the user first.
- No write actions.
destructive
1Delete, cancel or archive. Ask first, or deny outright.
- campaign_cleaner.delete_campaignDelete Campaign
Campaign Cleaner in three steps.
- 01Your users connect Campaign CleanerThey add their Campaign Cleaner api key on Arc0 Connect, under your brand. It goes straight into the vault.
- 02You set the rulesReads run, writes like “updates” can wait for the user, and “delete Campaign” can be denied outright.
- 03Any agent can actYour agent calls Campaign Cleaner through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('campaign_cleaner', { read: 'allow', write: 'ask', destructive: 'deny', // delete_campaign }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How Campaign Cleaner connects.
Users add their Campaign Cleaner 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 Campaign Cleaner 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 Campaign Cleaner from any agent.
Campaign Cleaner and Arc0, answered.
Can I use Campaign Cleaner with Claude, ChatGPT or Cursor?
Yes. Connect Campaign Cleaner 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 Campaign Cleaner actions you allow.
How do users connect Campaign Cleaner?
Users add their Campaign Cleaner 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 Campaign Cleaner actions can my agent take?
5 in total: 4 read, 0 write and 1 destructive. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in Campaign Cleaner?
Yes. Actions like “delete Campaign” 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 Campaign Cleaner too?
Yes. The same Campaign Cleaner connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug Campaign Cleaner into your agent.
Your users connect Campaign Cleaner once, under your brand. Your agent gets 5 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan