What the assistant can do
Read
Write
Every tool is annotated for MCP clients: a title, and whether it only reads (
readOnlyHint) or makes a hard-to-undo change (destructiveHint, set on remove_contact_from_list and unsubscribe_contact). The assistant cannot send email or start anything. Campaigns created through MCP wait for someone to approve the plan in the app, and journeys are created as drafts that never activate by themselves. Adding a contact to a list or recording an event can enrol the contact in an automation that already listens for it, exactly as the API would.Sign in with OAuth (no key to paste)
An assistant that follows the MCP authorization flow — Claude Desktop, Cursor and others — can connect with a sign-in window instead of an API key:- Add the server URL
https://instantcampaign.ai/api/mcp. The assistant is told where to sign in (the server answers with the standard discovery documents at/.well-known/oauth-protected-resourceand/.well-known/oauth-authorization-server) and registers itself as a client. - Your browser opens InstantCampaign’s consent page. Pick the workspace, review the permission (
mcp), and click Allow access. - The assistant holds a token bound to the MCP server only — it cannot be used against the rest of the API — refreshed automatically for 90 days.
Privacy
MCP clients pass tool results to their own AI models, so every result goes through the same privacy filter as the in-app assistant. Contact tools return aggregates, statuses and ids, never lists of people. Every output passes a redaction layer that removes email addresses, names, phone numbers and postal addresses. The tools that take an email address (check_contact_status, upsert_contact, add_contact_to_list, remove_contact_from_list, unsubscribe_contact, record_event) look up an address you already have and answer with the contact’s id and status, never the address. Custom fields marked sensitive are withheld from every tool output, and rule values that use them read [sensitive]. See AI data privacy.
Connect
1
Create a key for the assistant
In Settings → Developers → API Keys, click Create New Key. Name it after the assistant, and under Permissions tick only AI assistant (MCP). That key can then use the MCP server but not the rest of the API. See API keys.
2
Add the server to your client
Configure an MCP server with the Streamable HTTP transport:
- URL:
https://instantcampaign.ai/api/mcp - Header:
Authorization: Bearer ic_your_key_here
3
Try it
Ask the assistant something like “How did my last three campaigns perform?” It should call
list_campaigns and get_campaign_performance.Limits
- Images: the MCP server has no stand-alone image tool. To generate a marketing image, use AI Studio, the email builder’s AI image tools or Spark in the app.
- Rate limit: 60 requests per minute per workspace. Beyond that the server answers
429. - Plan quotas: tools count against your plan’s monthly quotas, as they do in the app.
create_campaigncounts against campaign generations, and AI tools use AI credits at the same cost as in the app:generate_copyandcreate_journey_from_briefuse 1 credit each,draft_quizuses 3,attach_ads_to_campaignwith a matching image uses 15,create_template_draftandduplicate_templatecount as templates, andupsert_contactcounts against the contact allowance when it creates a contact. When a quota is used up or the workspace has no AI credits left, the tool returns an error saying so. - Transport: the server answers each request with plain JSON. It does not open server-initiated streams and issues no session id. Clients that support Streamable HTTP work as is.
Reviewing what the assistant did
Every change an assistant makes — each call to a Write tool above — is listed in Settings → Developers → Agent activity, newest first, with:- the app (for an assistant connected by sign-in) or the API key that made it,
- the tool it called and what it created or changed, with a link to open it (the campaign’s plan page, the template in the builder, the automation, the segment, the contact),
- a link to the full request in the API log.
- Mark reviewed — you have looked at it. Nothing else changes: to send the campaign you still approve its plan, to use the template you still approve it in review, and to start the automation you still activate it.
- Discard — if it is still an untouched draft (a campaign never sent, a draft template no campaign uses, a draft automation nobody has entered), it is deleted. Anything else is kept and only marked discarded.
Agent policy
At the top of the same page:
Changing the policy needs both the API key permission and the content approval permission. Lists, segments, contacts and events are recorded but never wait for review.
Every MCP call, reads included, is also recorded in Settings → Developers → API log under the
/api/mcp path, with the tool call as the request body. See API request log.