Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Smartlead in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Smartlead cold email outreach from any AI agent: build and run campaigns with sequences and schedules, add and manage leads and their categories, read and answer replies in the master inbox, compare campaign and account analytics, and check sender mailboxes and warmup. Works with a Smartlead API key; irreversible unsubscribes and deletions install switched off.
Try asking
Example prompts for Smartlead
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Smartlead, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Smartlead
Smartlead cold email outreach from any AI agent: build and run campaigns with sequences and schedules, add and manage leads and their categories, read and answer replies in the master inbox, compare campaign and account analytics, and check sender mailboxes and warmup. Works with a Smartlead API key; irreversible unsubscribes and deletions install switched off.
Setup
Setting up takes about 2 minutes. API access needs a paid Smartlead plan.
- In Smartlead open Settings and the API Keys section (on some plans it sits under Settings, Integrations).
- Copy the API key into
SMARTLEAD_API_KEY. The connector adds it to every request as theapi_keyquery parameter, so paste only the key. - Install the connector and run
smartlead_list_campaigns: it lists your campaigns and confirms the key.
The key gives full access to the account, so treat it like a password.
Campaigns: smartlead_list_campaigns comes first, because the id of each campaign is the campaign_id of every other tool. smartlead_get_campaign, smartlead_get_campaign_sequences and smartlead_list_campaign_email_accounts show its setup. To build one, the AI chains smartlead_create_campaign (an empty campaign in DRAFTED status), smartlead_save_campaign_sequences, smartlead_update_campaign_schedule (time zone, weekdays, sending window, minutes between emails, new leads per day, start time), smartlead_update_campaign_settings (name, open and click tracking, when to stop emailing a lead, plain text, follow-up percentage, AI mailbox matching, unsubscribe text), smartlead_add_email_accounts_to_campaign and smartlead_add_leads_to_campaign, then smartlead_update_campaign_status with START. The statuses are START (not ACTIVE), PAUSED, STOPPED (final; use PAUSED for a break) and ARCHIVED. Starting a campaign sends real emails, so let the AI show you sequence, schedule and lead count first.
Sequences: smartlead_save_campaign_sequences replaces the whole sequence: steps left out are removed. The AI reads it with smartlead_get_campaign_sequences first, keeps the ids of existing steps and sends every step. Personalise with {{first_name}}, {{company_name}} and the names of your custom fields.
Leads:
smartlead_list_campaign_leadslists the leads of a campaign. Each row has the campaign lead map id (theidof the row, used bysmartlead_create_lead_note) and the lead itself (lead.id, used aslead_id).smartlead_get_lead_by_emailfinds a lead across all campaigns,smartlead_get_leadreads one by id,smartlead_get_lead_campaign_overviewshows every campaign it is in.smartlead_add_leads_to_campaigntakes at most 400 leads per call. Leads on the global block list, unsubscribed, or already in other campaigns are skipped unless the settings say otherwise; the answer counts uploaded, duplicate and blocked leads.- Changes:
smartlead_update_lead(the API wants the email even when it does not change; up to 200 custom fields),smartlead_update_lead_category(ids fromsmartlead_list_lead_categories, optionally pausing the lead),smartlead_pause_lead,smartlead_resume_lead(now or after a delay in days) andsmartlead_unsubscribe_lead_from_campaignfor one campaign.
Replies: smartlead_list_inbox_replies lists replies from the master inbox across campaigns, newest first, filtered by campaign, mailbox, category or reply time; smartlead_get_inbox_item opens one thread. To answer, smartlead_get_lead_message_history gives each message's stats_id, message_id and time; the AI passes them as email_stats_id, reply_message_id and reply_email_time to smartlead_reply_to_lead. The reply leaves from the mailbox of that thread, now or at a scheduled_time. smartlead_create_lead_note adds an internal note.
Analytics: per campaign smartlead_get_campaign_analytics (all-time totals and lead progress), smartlead_get_campaign_analytics_by_date, smartlead_get_campaign_sequence_analytics (per step and A/B variant) and smartlead_get_campaign_statistics (one row per sent email). smartlead_get_overall_analytics covers the whole account, optionally limited to some campaigns or clients.
Mailboxes and warmup: smartlead_list_email_accounts shows address, provider, daily limits, SMTP/IMAP health and warmup; a broken connection has isSmtpSuccess=false. smartlead_get_email_account, smartlead_get_warmup_stats (last 7 days: warmup emails sent, landed in inbox, landed in spam, replies), smartlead_update_email_account (daily limit, sender name, signature, BCC, custom tracking domain, minutes between emails) and smartlead_update_warmup (on or off, daily volume, ramp-up, reply rate).
Webhooks, agencies and lists: smartlead_list_campaign_webhooks and smartlead_upsert_campaign_webhook (creates one, or updates it when id is given) with the events EMAIL_SENT, EMAIL_OPEN, EMAIL_LINK_CLICK, EMAIL_REPLY, EMAIL_BOUNCE, LEAD_UNSUBSCRIBED and LEAD_CATEGORY_UPDATED. smartlead_list_clients gives the client ids of an agency (white-label) account; smartlead_list_lead_lists lists the lead lists.
Switched off at install: smartlead_unsubscribe_lead_globally (unsubscribes the lead from every campaign and blocks future imports of the address), smartlead_delete_lead_from_campaign (removes the lead and its progress in that campaign) and smartlead_delete_campaign_webhook. They cannot be undone, so a workspace admin turns them on when the team needs them.
Data formats: counts are numbers of emails or leads; rates are percentages. Analytics dates are YYYY-MM-DD, with an optional IANA time zone (default UTC) for the day boundaries. Timestamps are ISO 8601 in UTC unless a time zone is passed.
Paging: lists take offset (default 0) and limit (default 100; the inbox defaults to 20). The AI raises offset by limit until fewer rows than limit come back; smartlead_list_campaign_leads also returns total_leads.
Limits and common errors: Smartlead throttles bursts (about 10 requests per 2 seconds on standard plans) and answers 429; wait and retry. 401 Invalid API Key means a wrong key, 404 a wrong id or an id from another account, and 400 names the invalid field.
The connector does not connect new sender mailboxes and does not delete campaigns.
Prerequisites: SMARTLEAD_API_KEY
Install the connector locally
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Open http://localhost:3000/connectors/store, pick Smartlead and paste in the env vars listed under Prerequisites.
Available tools
| Tool | What it does |
|---|---|
smartlead_list_campaigns | List all email campaigns, newest first, with status (DRAFTED, ACTIVE, PAUSED, STOPPED, ARCHIVED), schedule, sending limits and tracking… |
smartlead_get_campaign | Get one campaign: status, schedule, sending limits, stop-lead setting, tracking settings and client |
smartlead_get_campaign_sequences | Get the email sequence of a campaign: steps with delays, subjects, bodies and A/B variants |
smartlead_list_campaign_email_accounts | List the sender mailboxes attached to a campaign, with their sending limits and warmup state |
smartlead_create_campaign | Create an empty campaign in DRAFTED status |
smartlead_update_campaign_status | Start, pause, stop or archive a campaign |
smartlead_update_campaign_settings | Change campaign settings: name, open and click tracking, when to stop emailing a lead, plain text, follow-up percentage, AI mailbox… |
smartlead_update_campaign_schedule | Set when a campaign sends: time zone, weekdays, sending window, minutes between emails, new leads per day and start time |
smartlead_save_campaign_sequences | Replace the email sequence of a campaign |
smartlead_add_email_accounts_to_campaign | Attach sender mailboxes to a campaign so it can send from them |
smartlead_list_campaign_leads | List the leads of a campaign with their status, category and lead fields |
smartlead_get_lead_by_email | Find a lead by email address across all campaigns |
smartlead_get_lead | Get one lead by its id: contact fields, custom fields and global status |
smartlead_get_lead_campaign_overview | Show every campaign a lead is in, with its status and progress in each |
smartlead_get_lead_message_history | Get the full email thread between a campaign and a lead: sent emails and replies with times, subjects, bodies and the stats_id and… |
smartlead_add_leads_to_campaign | Add up to 400 leads to a campaign |
smartlead_update_lead | Update the fields of a lead in a campaign (email is required by the API even when unchanged) |
smartlead_update_lead_category | Set the category of a lead in a campaign (Interested, Meeting Request, Not Interested, Out Of Office...), optionally pausing it |
smartlead_pause_lead | Pause a lead in a campaign: no further sequence emails go out until it is resumed |
smartlead_resume_lead | Resume a paused lead in a campaign, now or after a delay in days |
smartlead_unsubscribe_lead_from_campaign | Unsubscribe a lead from one campaign |
smartlead_unsubscribe_lead_globally | Unsubscribe a lead from every campaign of the account and block future imports of the address |
smartlead_delete_lead_from_campaign | Remove a lead from a campaign, with its progress in that campaign |
smartlead_list_lead_categories | List the lead categories (global and custom) with ids, e.g |
smartlead_list_inbox_replies | List lead replies from the master inbox across campaigns, newest first, with filters for campaign, mailbox, category and reply time |
smartlead_get_inbox_item | Get one master inbox thread by its id, with lead, campaign and messages |
smartlead_reply_to_lead | Send a reply to a lead in an existing campaign thread, from the mailbox of that thread |
smartlead_create_lead_note | Add an internal note to a lead in a campaign (shown in the master inbox) |
smartlead_get_campaign_analytics | Get the totals of a campaign: sent, opened, clicked, replied, bounced, unsubscribed, plus lead progress counts |
smartlead_get_campaign_analytics_by_date | Get campaign totals (sent, opens, clicks, replies, bounces, unsubscribes) for a date range |
smartlead_get_campaign_sequence_analytics | Get per-step and per-variant results of a campaign sequence for a date range: sent, opens, clicks, replies, positive replies, bounces |
smartlead_get_campaign_statistics | List the individual sent emails of a campaign with lead, step, sent time, open, click, reply and bounce state |
smartlead_get_overall_analytics | Get account-wide sending results for a date range: sent, opens, clicks, replies, positive replies, bounces and rates, optionally limited to… |
smartlead_list_email_accounts | List the sender mailboxes of the account: address, provider, daily limits, SMTP/IMAP health, warmup status and campaigns in use |
smartlead_get_email_account | Get one sender mailbox with its limits, signature, connection health and warmup details |
smartlead_get_warmup_stats | Get the warmup results of a mailbox for the last 7 days: warmup emails sent, landed in inbox, landed in spam, replies |
smartlead_update_email_account | Change a mailbox: daily sending limit, sender name, signature, BCC, custom tracking domain, minutes between emails |
smartlead_update_warmup | Turn warmup on or off for a mailbox and set its daily warmup volume, ramp-up and reply rate |
smartlead_list_campaign_webhooks | List the webhooks of a campaign with their URL and event types |
smartlead_upsert_campaign_webhook | Create a campaign webhook, or update one when its id is passed |
smartlead_delete_campaign_webhook | Delete a webhook of a campaign |
smartlead_list_clients | List the clients of an agency (white-label) account with their ids, names and emails |
smartlead_list_lead_lists | List the lead lists (lead pools outside campaigns) with ids, names and lead counts |
Example prompts
- "Which of my active campaigns has the best reply rate this month? Show sent, replies and bounces for each."
- "Show me the replies of the last 24 hours that are categorised as Interested."
- "Reply to the latest email from [email protected] in the Q4 outreach campaign and propose a call next week. Show me the text before sending."
- "Which sender mailboxes have a broken SMTP connection or a lot of warmup emails landing in spam?"
- "Pause the lead [email protected] in every campaign he is in."
Next steps
Was this guide helpful?