Ballast - Cold Email
Server Details
Cold email platform that protects your domains: manage outbound campaigns, automated warmup, lead lists, and inbox replies
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 30 tools
Most tools have clearly distinct purposes, and potentially confusable pairs (add_domain vs check_domain, write_sequence vs set_sequence) are explicitly differentiated in their descriptions. The one soft spot is analytics: get_overview, get_campaign_stats, get_campaign_analytics and get_inbox_filters all return metrics and could be misselected, though the descriptions do carve out scopes (workspace totals, daily time-series, multi-dimensional breakdown, inbox label counts).
Nearly all 30 tools follow a verb_noun snake_case pattern (list_leads, add_mailbox, pause_campaign, send_reply), which is predictable and readable. Minor deviations like whoami and the unbounded get_overview/get_billing are acceptable exceptions rather than convention mixing.
30 tools is on the heavy side and at the upper edge of what an agent can scan comfortably, though the breadth is driven by a genuinely multi-resource domain (domains, mailboxes, leads, campaigns, sequences, threads). Almost every tool maps to a real operation rather than filler, but the surface could be consolidated (e.g. merging the four analytics tools).
Coverage is strong across the core lifecycle — domain/mailbox connection, lead import and listing, campaign create/update/launch/pause, sequence authoring, and thread reply handling. However, there are no delete/remove or update operations for major resources (remove domain or mailbox, delete campaign, remove leads from a campaign/list, edit a lead), leaving real dead ends for maintenance workflows.
Publisher details
- Operator
- Ballast · Publisher source
- Operator website
- https://ballast.to · Publisher source
- Vendor relationship
- Unknown
- Documentation
- https://ballast.to/docs/mcp · Publisher source
- Trust center
- Not available
- Restrictions
- Requires a Ballast account and API key from https://ballast.to/settings/api-keys · Publisher source
Available Tools
30 toolsadd_domainAdd domainBInspect
Connect a new sending domain to the workspace and verify DNS. Registers a new sending domain under the workspace, saves it, and immediately initiates DNS and deliverability verification (MX, SPF, DKIM, DMARC, blacklists).
Inputs: domain (required).
add_leads_to_campaignAdd leads to campaignAInspect
Add leads from lists (or by id) to a campaign. Skips leads already in the campaign, unsubscribed, bounced or suppressed leads, and addresses verification found invalid.
Inputs: id (required), leadIds, listIds, allLeads.
add_mailboxAdd mailboxAInspect
Connect a mailbox. Tests SMTP and IMAP login first and saves only when both pass. Google needs an app password. Microsoft 365 connects with OAuth from the dashboard.
add_suppressionsAdd suppressionsAInspect
Suppress addresses or whole domains. Up to 10,000 values per call: emails, or domains written as @acme.com. Matching leads are marked suppressed.
Inputs: values (required), reason.
check_domainCheck domainARead-onlyInspect
Inspect DNS and deliverability health of any domain without adding it. Performs a live, read-only diagnostic check on any domain name (MX, SPF, DKIM, DMARC records, blacklist status, and domain age) with actionable DNS fix instructions. Results are cached for 10 minutes. Nothing is saved to the workspace.
Inputs: domain (required), selector.
create_campaignCreate campaignAInspect
Create a draft campaign. Starts with one empty email, or with a saved or built-in template's sequence when templateId is given. The campaign is a draft until it is launched.
Inputs: name, templateId.
get_billingGet billingBRead-onlyInspect
Plan, subscription status, emails and AI drafts used this period.
Inputs: no named parameters.
get_campaignGet campaignBRead-onlyInspect
Get a campaign with its sequence, schedule and settings.
Inputs: id (required).
get_campaign_analyticsGet campaign analyticsBRead-onlyInspect
Multi-dimensional performance breakdown by provider, mailbox, and sentiment. Returns granular aggregate performance metrics broken down across email providers (Google Workspace, Microsoft 365, etc.), individual sending mailboxes, and reply sentiment classifications.
Inputs: days.
get_campaign_statsGet campaign statsARead-onlyInspect
Daily time-series email metrics for a campaign or all campaigns. Returns daily time-series counts (day-by-day sent, replied, opened, bounced, positive) for a specific campaign (pass campaignId) or all campaigns combined over the last N days.
Inputs: days, campaignId.
get_inbox_filtersGet inbox filtersCRead-onlyInspect
Inbox reply counts by label, mailbox and campaign.
Inputs: no named parameters.
get_launch_checklistGet launch checklistBRead-onlyInspect
What has to be fixed before launch. Required items block the launch; warnings are advice.
Inputs: id (required).
get_overviewGet overviewARead-onlyInspect
Workspace-wide aggregate email outreach totals and trends. Returns macro-level aggregate counts (total sends, replies, positive replies, bounces, won deals) across the entire workspace for the last 7, 30, or 90 days, comparing against the prior period for trend analysis.
Inputs: days.
get_threadGet threadCRead-onlyInspect
A thread with every message, the campaign emails and the lead.
Inputs: id (required).
import_leadsImport leadsADestructiveInspect
Import leads in chunks. Send up to 5,000 rows per call. The first call creates the import and returns its id; pass importId with every next chunk and final: true with the last. Addresses are deduped, suppressed ones skipped, invalid ones counted. ESP detection and verification run in the background after the final chunk. Asks for confirmation: the first call returns a preview and a confirm_token.
Inputs: rows (required), list, final, verify, +6 more.
label_threadLabel threadADestructiveInspect
Set or clear a thread's label. The lead gets the label for the thread's campaign and the label's triggers run (suppress, stop in campaign, pause campaign, move to list). null clears it.
Inputs: id (required), labelId (required).
launch_campaignLaunch campaignADestructiveInspect
Launch or resume a campaign. Runs the launch checklist first and refuses when a required item fails. The worker then sends inside the schedule window. Asks for confirmation: the first call returns a preview and a confirm_token.
Inputs: id (required), confirm_token.
list_campaignsList campaignsBRead-onlyInspect
List campaigns. Newest first, with lead counts by progress.
Inputs: status.
list_domainsList domainsARead-onlyInspect
List all connected sending domains and their verification status. Returns all custom sending domains currently registered in the workspace, including their mailbox count, latest deliverability scores, and verification history.
Inputs: no named parameters.
list_lead_listsList lead listsCRead-onlyInspect
Lead lists with counts.
Inputs: no named parameters.
list_leadsList leadsARead-onlyInspect
List leads. Paged, newest first by default. Filter by list, label, status, verification and ESP, or search email, name and company.
Inputs: dir, esp, page, sort, +6 more.
list_mailboxesList mailboxesARead-onlyInspect
List mailboxes. Connected sending mailboxes with today's limit, ramp-up and the DNS health of their domain.
Inputs: no named parameters.
list_threadsList threadsARead-onlyInspect
Reply threads, newest first. Filter by unread, label, mailbox or campaign. Page with cursor from the previous answer.
Inputs: view, cursor, search, labelId, +2 more.
pause_campaignPause campaignAInspect
Pause a running campaign. Nothing more is sent until it is launched again. Emails already handed to the provider still arrive.
Inputs: id (required).
preview_campaignPreview campaignARead-onlyInspect
Render every step and variant for one lead. Shows the emails exactly as that lead would get them, with spintax resolved the way it will be for them. Defaults to the first lead in the campaign.
Inputs: id (required), leadId.
send_replySend replyADestructiveInspect
Answer a thread. Sends from the mailbox the conversation is on, in the same thread (In-Reply-To and References), to whoever wrote last. The previous message is quoted below. Asks for confirmation: the first call returns a preview and a confirm_token.
Inputs: id (required), text (required), confirm_token.
set_sequenceSet sequenceADestructiveInspect
Replace the whole sequence. Steps in order, each with 1 to 5 variants. Bodies may be plain text (blank lines split paragraphs) or simple HTML. Use {{first_name}} style variables, {{first_name|there}} for a fallback, {Hi|Hello} spintax, and put {{unsubscribe}} in the first email. Only drafts and paused campaigns.
Inputs: id (required), steps (required).
update_campaignUpdate campaignBDestructiveInspect
Rename a campaign or change its schedule, mailboxes and options.
Inputs: id (required), days, name, endOn, +21 more.
whoamiWhoamiARead-onlyInspect
Who am I: the user, workspace and plan behind this key or session.
Inputs: no named parameters.
write_sequenceWrite sequenceAInspect
Write emails with AI from the offer profile. Drafts a whole sequence (mode sequence) or a new version of one variant (rewrite, shorter, angle), using only facts from the workspace's offer profile and lead fields. Results are saved as new variants and never overwrite existing text; an empty campaign gets the drafted steps. Each email is checked against the content checklist; anything still failing comes back in problems. Requires that the workspace's offer profile is configured in Ballast settings (or updated via update_offer_profile).
Inputs: id (required), mode, angle, steps, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Cold email: campaigns, leads, mailboxes, warmup and inbox replies.
AI-powered email outreach platform — send campaigns with deliverability tracking.
Cold email infrastructure: domains, mailboxes, warm-up and campaigns. Never charges a card.
Cold email infrastructure — campaigns, prospects, mailbox health and replies via Claude.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables automated B2B lead generation and personalized cold email outreach with self-improving campaign monitoring.MIT

Raechly MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables running cold email from AI apps, including mailbox and domain setup, warmup, lead search, campaign creation and review, reply handling, deals, and reporting.MIT- AlicenseNot gradedqualityCmaintenanceWarm Inbox keeps your sending domains out of spam. Let your AI agent check warm-up health and spam rates, connect a mailbox through a secure hosted link, and pause, resume or tune daily volume.MIT

Winnr MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables AI assistants to manage cold-email infrastructure through natural language, covering domain and mailbox provisioning, DNS setup, email warming, inbox and reply triage, exports, pre-warmed domain purchases, and webhooks. Supports hosted OAuth or local stdio installs with scoped read, write, and purchase permissions, plus two-step confirmation for anything that charges a card.36 PyPIMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.