Cordial MCP Server — Bring Cordial into any AI assistant
Bring Cordial into any AI assistant.
Your assistant reasons over the live account — 56+ tools across 17 domains — everything from audience inspection to message performance, AI-generated insights, and semantic search across past campaigns. Reads are live today; write actions, with a human approving every one, land soon.
Claude Desktop config
{
"mcpServers": {
"cordial": {
"type": "http",
"url": "https://mcp.cordial.io/mcp",
"auth": "oauth"
}
}
}
~/Library/Application Support/Claude/claude_desktop_config.json
Tools
56+
Domains
17
Account data
Live, not exported
Writes
With approval · soon
Why MCP, not just an API key
A wrapped API isn't context.
Point an agent at raw endpoints and it can make calls — it just can't make the right ones. It doesn't know what 'high-intent' means for your brand, which account it's working in, or who the customer on the other end actually is. So it guesses, and it guesses confidently. The job of the MCP server isn't to expose endpoints; it's to give the agent the context to use them correctly — the brand, the account, and the customer.
Brand context
What “VIP,” “win-back,” or “high-intent” actually means here — your channels, your naming, your conventions. Semantic search lets the agent find the audience or flow you mean by describing it, not by guessing an internal ID. And composite tools like get_audience_health return the numbers the way a marketer reasons about them — not three raw rows to stitch together.
Account context
Every tool call is account-aware. The agent always knows which account, which scopes, and which channels are live — it never operates on the wrong tenant, and never makes you repeat which brand you meant. The years of orchestration and audience logic already in that account come along for the ride.
Customer context
Not an anonymous row — a real person, with identity resolved across email, SMS, and push, plus the profile and engagement history behind them. The agent reasons about the customer's actual journey before it proposes the next message.
What it is
A Cordial account, exposed to your AI.
The Cordial MCP server is a hosted Model Context Protocol endpoint. Any MCP-compatible AI client — Claude Desktop, Cursor, Claude Code, your own — connects once and gains a structured, account-aware view of your Cordial data.
The tools mirror the structure of the platform itself: identity, audiences, messages, orchestrations, content, analytics, and so on. Every list endpoint paginates. Composite tools bundle multi-step lookups (like get_audience_health) so agents stay within token budget.
Reads are live today. Write actions — launching a send, editing a contact — are coming to MCP with a human approving each one before it fires: the agent proposes, you commit. (Need writes right now? They're on the REST API.)
Example session
→ tool_call: whoami
← { username: "alex@brand.com", account: "acme-prod", scopes: ["read"] }
→ tool_call: get_account_overview_document
← { channels: ["email","sms","push"], subscribers: 8.4M, ... }
→ tool_call: list_audiences {"query":"high intent"}
← { audiences: [{ id:"aud_8f2a", name:"High-intent · 30d", count:1284902 }, ...] }
→ tool_call: get_audience_health {"id":"aud_8f2a","period":30}
← { detail: {...}, count: 1284902, trend: [...] }
Loyalty tier 3+ has grown 14.2% over the last 30 days, now at 198,455 contacts — see attached trend chart.
One tool for every concept in your account.
Each tool is small, typed, and composable. Composite tools chain common multi-step lookups so agents stay efficient.
Identity
whoami— Current user identity and account info
Account Context
get_account_overview_document— Comprehensive account context: channels, attributes, audiences, configdescribe_contact_schema— All contact attribute definitions with types and validation rulesget_account_supplements— Overview of supplement (data) tables in the accountget_account_products_config— Product catalog configuration overviewdescribe_account_events— Event definitions (system and custom) for behavior trackingget_account_audience_samples— Sample audiences with criteria and counts
Audiences
list_audiences— List audiences with search and paginationget_audience— Audience detail: criteria, translation, attributesget_audience_count— Current contact count for a saved audienceestimate_audience— Estimate count for ad-hoc criteria without savingdescribe_audience— Full description: criteria, translation, and count
Messages
list_messages— Batch sends or automated templateslist_child_sends— Individual sends of an automated templateget_message— Message detail with content and performance dashboardexport_message_stats— Export performance stats as CSV
Analytics
get_account_overview— Subscriber counts and per-channel statsget_message_report— Delivery and engagement rates by messageget_audience_trends— Audience size trends over timelist_insight_reports— AI-generated batch message insight reportsget_insight_report— Executive summary and recommendations
Content
list_html_includes— Reusable HTML content snippetsget_html_include— HTML include by ID or keysearch_images— Search uploaded images by query and tagsget_image— Image details by ID
Orchestrations
list_orchestrations— Journey/lifecycle automationsget_orchestration— Detail with DAG and Mermaid flowchart
Sculpt
list_sculpt_blocks— Reusable email content componentsget_sculpt_block— Block detail with content schemalist_sculpt_templates— Full email layouts built from blocksget_sculpt_template— Template detail with body content
Reports
list_saved_reports— Saved message reportsrun_saved_report— Execute and return current datadescribe_report_export_columns— Available export columns for a channeldescribe_report_entities— Entity values for a report filter dimension
Channels
list_channel_types— Configured messaging channelslist_message_transports— Delivery providers for channelsget_message_transport— Transport detail by ID
Data Operations
list_data_automations— Triggered and recurring automationsget_data_automation— Triggers and schedulelist_data_batches— Batch data jobsget_data_batch— Batch job detail with transform config
Supplements
list_supplements— Supplement (custom data) tablesget_supplement— Supplement table detail by keylist_supplement_records— Records in a supplement table
Products & Tags
list_products— Products in the catalogget_product— Product details by IDlist_tags— Tags for organizing content assetsget_tag— Tag details with asset counts
Semantic Search
search_audience_examples— Semantic search for audiencessearch_orchestration_examples— Semantic search for orchestrations
Composite
get_audience_health— Detail + count + size trendsget_message_performance— Dashboard stats + report contextget_recent_account_activity— Latest jobs and recent batch messagescompare_insight_reports— Compare multiple insight reportsexplain_message_performance— Full dashboard stats for analysis
You stay in control
The agent proposes. You commit.
Today the agent reads — it can explore every audience, message, and report in your account to reason about what to do next. Write actions are coming soon, and every one will pass through a human approval step before it fires: the agent stages the change, you see exactly what it'll do, and nothing ships until you say go. You get an autonomous assistant with a hand on the controls.
- Reads live now — audiences, messages, orchestrations, analytics, all account-scoped.
- Writes coming soon — every mutation gated behind explicit human approval.
- One browser sign-in, scoped to a single account; the server holds only short-lived tokens, never your password.
Cursor config
// .cursor/mcp.json
{
"mcpServers": {
"cordial": {
"url": "https://mcp.cordial.io/mcp",
"transport": "http"
}
}
}
Quickstart
Three steps to a Cordial-aware agent.
Add the MCP server
Paste the config snippet into Claude Desktop, Cursor, or any MCP-compatible client. Point it at
https://mcp.cordial.io/mcp.Sign in once
The client opens an OAuth flow in your browser. Sign in with your Cordial credentials; the token is stored in your client.
Start asking
Ask your assistant about audiences, message performance, or orchestrations. Tools are called automatically as needed.
Ready to wire your AI into Cordial?
We'll provision an MCP endpoint scoped to your account, plus invite the team members who need access.