MCP Server
Connect AI assistants to SuperSend via Model Context Protocol (MCP)
SuperSend MCP Server connects AI assistants (Cursor, Claude Desktop, VS Code, etc.) to SuperSend's API, enabling you to manage contacts, campaigns, senders, and more directly from your AI assistant.
Authentication Options
Authorization: Bearer YOUR-API-KEY for most clients. For directory platforms that reserve the Authorization header (e.g. Smithery), use X-Supersend-Api-Key: YOUR-API-KEY instead.OAuth (marketplaces): When adding SuperSend from an MCP directory (Smithery, ClawHub, etc.), you can connect via OAuth. The platform will open a browser for you to log in and authorize—no API key needed.
Installation
~/.cursor/mcp.json:{
"mcpServers": {
"supersend": {
"url": "https://mcp.supersend.io/mcp",
"headers": {
"Authorization": "Bearer YOUR-API-KEY"
}
}
}
}Replace YOUR-API-KEY with your SuperSend API key.
Connecting via MCP Marketplaces (Smithery, ClawHub, etc.)
When adding SuperSend from an MCP directory, you can connect with OAuth instead of an API key:
https://mcp.supersend.io/mcpOAuth tokens are valid for 1 hour; re-authorize when needed. You can always use an API key instead if you prefer manual setup.
Server Endpoints
The MCP server (at https://mcp.supersend.io or https://mcp-stage.supersend.io for staging) exposes:
| Method | Path | Auth | Description |
|---|---|---|---|
POST | /mcp | API key or OAuth | Main MCP endpoint. Use Authorization: Bearer YOUR-API-KEY or X-Supersend-Api-Key. OAuth access tokens supported for marketplace flows (Smithery, etc.). |
GET | /health | None | Health check. Returns {"status":"ok","service":"mcp-server"}. |
GET | /.well-known/oauth-protected-resource | None | OAuth Protected Resource Metadata (RFC 9728). For OAuth discovery when publishing to MCP marketplaces. |
GET | /.well-known/mcp/server-card.json | None | Static server card (optional scan bypass). |
POST | /register | None | Directory/OAuth compatibility (e.g. Smithery). Returns {"status":"ok","registered":true}. |
Available Tools
Health
| Tool | Description |
|---|---|
get_health | Check SuperSend API health and connectivity |
Teams
| Tool | Description |
|---|---|
list_teams | List teams the user has access to |
get_team | Get a team by ID |
Contacts
| Tool | Description |
|---|---|
list_contacts | List contacts in a team (TeamId required) |
get_contact | Get a contact by ID |
create_contact | Create/upsert a contact (TeamId, CampaignId, email or linkedin_url required) |
update_contact | Update a contact |
delete_contact | Delete a contact (soft delete) |
bulk_import_contacts | Bulk import contacts (JSON array) |
Campaigns
| Tool | Description |
|---|---|
create_campaign | Create a new campaign (name, TeamId required). Optionally pass nodes/edges for initial sequence. |
list_campaigns | List campaigns in a team. Filter by status: active or inactive |
get_campaign | Get a campaign by ID |
activate_campaign | Turn a campaign on (start sending) |
deactivate_campaign | Turn a campaign off (pause sending) |
get_campaign_sequence | Get campaign sequence (nodes and edges) |
update_campaign_sequence | Update campaign sequence (nodes and/or edges) |
Senders
| Tool | Description |
|---|---|
list_senders | List email senders |
get_sender | Get a sender by ID |
update_sender | Update a sender |
get_sender_bounce_insights | AI bounce type breakdown per sender |
Events
| Tool | Description |
|---|---|
list_events | List events (sends, opens, clicks, replies, bounces) |
get_event | Get an event by ID |
Conversations
| Tool | Description |
|---|---|
list_conversations | List conversations. Use channel: email or linkedin. Use last_message_direction: inbound (replies) or outbound (our sent) |
get_conversation | Get a conversation by ID |
get_conversation_messages | Get messages in a conversation |
send_conversation_message | Send a message in a conversation |
Labels
| Tool | Description |
|---|---|
list_labels | List conversation labels |
Blacklist
| Tool | Description |
|---|---|
list_blacklist | List blacklisted emails/domains |
add_to_blacklist | Add to blacklist |
remove_from_blacklist | Remove from blacklist |
Webhooks
| Tool | Description |
|---|---|
list_webhooks | List webhooks |
create_webhook | Create a webhook |
Intelligence
| Tool | Description |
|---|---|
analyze_capacity_and_schedule | Capacity planning: when campaigns will finish, allocated capacity, whether more infrastructure is needed |
diagnose_deliverability | Deliverability diagnosis: reply rate, bounces, placement tests, target mix (Gmail/Outlook/corporate), recommendations |
analyze_sender_health | Per-sender health: sends, bounces, at-risk flags |
get_outbound_summary | Team outbound metrics: sends, replies, top campaigns |
analyze_domain_health | Per-domain DNS/health: SPF, DKIM, DMARC, MX, at-risk flags |
Domains & Deliverability
| Tool | Description |
|---|---|
list_domains | List managed domains |
get_domain | Get a domain by ID |
purchase_domain | Purchase domains (requires payment method, contact details) |
purchase_mailbox | Purchase mailboxes for existing domains |
purchase_domains_and_mailboxes | Purchase domains and mailboxes in one transaction |
list_placement_tests | List placement tests |
get_domain_bounce_insights | AI bounce breakdown per domain |
Usage Examples
List Your Teams
List my SuperSend teamsThe AI will use list_teams to fetch your teams and display them.
Check API Health
Check if my SuperSend API connection is healthyThe AI will use get_health to verify connectivity.
Create a Campaign
Create a new campaign called "Q4 Outreach" in my Cold teamThe AI will use list_teams to find the team, then create_campaign with the name and TeamId. Optionally, it can pass nodes and edges for an initial sequence, or category_id from list_campaign_categories to assign to a folder.
Manage Campaign Categories (Folders)
List my campaign folders for the Sales team
Create a folder called "Q1 Outreach" in my Sales team
Rename folder "Q1 Outreach" to "Q1 Cold Outreach"
Delete the "Old Campaigns" folderThe AI will use list_campaign_categories, create_campaign_category, update_campaign_category, and delete_campaign_category to manage folders that organize campaigns.
List Campaigns
List my active campaignsThe AI will first fetch your teams using list_teams, then use list_campaigns with status: "active" to show your running campaigns.
Add a Contact
Add john@example.com to my "Outreach Campaign" campaign as a contactThe AI will:
list_teams to get your teamslist_campaigns to find "Outreach Campaign"create_contact with the email and campaign IDView Campaign Sequence
Show me the sequence for my "Product Launch" campaignThe AI will use get_campaign_sequence to display the campaign's nodes (steps) and edges (connections).
List Contacts in a Team
List contacts in my "Sales Team" teamThe AI will:
list_teams to find "Sales Team"list_contacts with the team ID to show contactsCheck Sender Bounce Insights
Show me bounce insights for sender john@example.comThe AI will:
list_senders to find the senderget_sender_bounce_insights to show AI-categorized bounce breakdownList Conversations Needing Response
Show me email conversations that need a responseThe AI will use list_conversations with channel: "email" and last_message_direction: "inbound" to show replies from contacts.
Send a Message in a Conversation
Reply to conversation [conversation-id] with "Thanks for your interest!"The AI will use send_conversation_message to send your reply.
When Will My Campaigns Finish?
When will my campaigns finish? Do I have enough capacity?The AI will use list_teams to get your team, then analyze_capacity_and_schedule to show campaign completion forecasts and whether you need more senders or capacity.
Why Is My Reply Rate Low?
Why is my reply rate so low?The AI will use list_teams to get your team, then diagnose_deliverability to show reply rate, bounce breakdown, placement test results, target mix, and actionable recommendations.
Which Senders Are at Risk?
Which senders are at risk?The AI will use list_teams to get your team, then analyze_sender_health to show per-sender metrics and flag senders with elevated bounce rates.
How's My Outreach Performing?
How's my outreach performing?The AI will use list_teams to get your team, then get_outbound_summary to show sends, replies, bounce rate, reply rate, and top campaigns.
Which Domains Have DNS or Deliverability Issues?
Which domains have DNS issues? / Are any of my domains at risk?The AI will use list_teams to get your team, then analyze_domain_health to show per-domain SPF, DKIM, DMARC, MX status, blacklist info, and at-risk flags.
Tips
analyze_capacity_and_schedule for "when will campaigns finish?"; diagnose_deliverability for reply rate or deliverability; analyze_sender_health for "which senders are at risk?"; get_outbound_summary for "how's my outreach performing?"; analyze_domain_health for "which domains have DNS or deliverability issues?"bulk_import_contacts to add multiple contacts at once instead of creating them one by one.activate_campaign and deactivate_campaign to start or pause campaigns programmatically.