Meerkats-Ai/smartlead-mcp-server
If you are the rightful owner of smartlead-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Smartlead MCP Server is designed for campaign management integration, providing tools for creating, managing, and updating campaigns and their settings.
Smartlead MCP Server
This is a Model Context Protocol (MCP) server for Smartlead campaign management integration. It provides tools for creating and managing campaigns, updating campaign settings, and managing campaign sequences.
Features
- Create new campaigns
- Update campaign schedule settings
- Update campaign general settings
- Get campaign details
- List all campaigns with filtering options
- Manage campaign email sequences (save, get, update, delete)
- Manage email accounts in campaigns (add, update, delete)
- Manage leads in campaigns (add, update, delete)
Installation
- Clone the repository
- Install dependencies:
npm install
- Create a
.envfile based on.env.exampleand add your Smartlead API key:
SMARTLEAD_API_KEY=your_api_key_here
- Build the project:
npm run build
Usage
Standalone Usage
To start the server directly:
npm start
Integration with Claude
To use this MCP server with Claude, you need to add it to the MCP settings file:
- For Claude VSCode extension, add it to
c:\Users\<username>\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json - For Claude desktop app, add it to
%APPDATA%\Claude\claude_desktop_config.jsonon Windows
Example configuration:
{
"mcpServers": {
"smartlead": {
"command": "node",
"args": ["E:/mcp-servers/smartlead/dist/index.js"],
"env": {
"SMARTLEAD_API_KEY": "your_api_key_here"
},
"disabled": false,
"autoApprove": []
}
}
}
Replace your_api_key_here with your actual Smartlead API key.
Configuration
The server can be configured using environment variables:
SMARTLEAD_API_KEY(required): Your Smartlead API keySMARTLEAD_API_URL(optional): Custom API URL (defaults to https://server.smartlead.ai/api/v1)SMARTLEAD_RETRY_MAX_ATTEMPTS: Maximum retry attempts for API calls (default: 3)SMARTLEAD_RETRY_INITIAL_DELAY: Initial delay in milliseconds for retries (default: 1000)SMARTLEAD_RETRY_MAX_DELAY: Maximum delay in milliseconds for retries (default: 10000)SMARTLEAD_RETRY_BACKOFF_FACTOR: Backoff factor for retry delays (default: 2)
Available Tools
smartlead_create_campaign
Create a new campaign in Smartlead.
Parameters:
name(required): Name of the campaignclient_id(optional): Client ID for the campaign
smartlead_update_campaign_schedule
Update a campaign's schedule settings.
Parameters:
campaign_id(required): ID of the campaign to updatetimezone: Timezone for the campaign (e.g., "America/Los_Angeles")days_of_the_week: Days of the week to send emails (1-7, where 1 is Monday)start_hour: Start hour in 24-hour format (e.g., "09:00")end_hour: End hour in 24-hour format (e.g., "17:00")min_time_btw_emails: Minimum time between emails in minutesmax_new_leads_per_day: Maximum number of new leads per dayschedule_start_time: Schedule start time in ISO format
smartlead_update_campaign_settings
Update a campaign's general settings.
Parameters:
campaign_id(required): ID of the campaign to updatename: New name for the campaignstatus: Status of the campaign (active, paused, completed)settings: Additional campaign settings
smartlead_get_campaign
Get details of a specific campaign by ID.
Parameters:
campaign_id(required): ID of the campaign to retrieve
smartlead_list_campaigns
List all campaigns with optional filtering.
Parameters:
status: Filter campaigns by status (active, paused, completed, all)limit: Maximum number of campaigns to returnoffset: Offset for pagination
smartlead_save_campaign_sequence
Save a sequence of emails for a campaign with A/B testing variants.
Parameters:
campaign_id(required): ID of the campaignsequences(required): Array of email sequence items, each with:id: ID of the sequence (only for updates, omit when creating)seq_number(required): Sequence number (order in the sequence)seq_delay_details(required): Delay settings with:delay_in_days(required): Days to wait before sending this email
variant_distribution_type: Type of variant distribution (MANUAL_EQUAL, MANUAL_PERCENTAGE, AI_EQUAL)lead_distribution_percentage: Sample percentage size of the lead pool to use to find the winnerwinning_metric_property: Metric to use for determining the winning variant (OPEN_RATE, CLICK_RATE, REPLY_RATE, POSITIVE_REPLY_RATE)seq_variants: Array of email variants, each with:subject(required): Email subject lineemail_body(required): Email body content (HTML)variant_label(required): Label for the variant (e.g., "A", "B", "C")id: ID of the variant (only for updates, omit when creating)variant_distribution_percentage: Percentage of leads to receive this variant
subject: Email subject line (for simple follow-ups, blank makes it in the same thread)email_body: Email body content (HTML) for simple follow-ups
smartlead_get_campaign_sequence
Get the sequence of emails for a campaign.
Parameters:
campaign_id(required): ID of the campaign
smartlead_update_campaign_sequence
Update a specific email in a campaign sequence.
Parameters:
campaign_id(required): ID of the campaignsequence_id(required): ID of the sequence email to updatesubject: Updated email subject linebody: Updated email body contentwait_days: Updated days to wait before sending this email
smartlead_delete_campaign_sequence
Delete a specific email from a campaign sequence.
Parameters:
campaign_id(required): ID of the campaignsequence_id(required): ID of the sequence email to delete
smartlead_add_email_account_to_campaign
Add an email account to a campaign.
Parameters:
campaign_id(required): ID of the campaignemail_account_id(required): ID of the email account to add
smartlead_update_email_account_in_campaign
Update an email account in a campaign.
Parameters:
campaign_id(required): ID of the campaignemail_account_id(required): ID of the email account to updatesettings: Settings for the email account in this campaign
smartlead_delete_email_account_from_campaign
Remove an email account from a campaign.
Parameters:
campaign_id(required): ID of the campaignemail_account_id(required): ID of the email account to remove
smartlead_add_lead_to_campaign
Add leads to a campaign (up to 100 leads at once).
Parameters:
campaign_id(required): ID of the campaignlead_list(required): Array of lead information objects (max 100), each with:email(required): Email address of the leadfirst_name: First name of the leadlast_name: Last name of the leadcompany_name: Company name of the leadphone_number: Phone number of the leadwebsite: Website of the leadlocation: Location of the leadcustom_fields: Custom fields for the lead (max 20 fields)linkedin_profile: LinkedIn profile URL of the leadcompany_url: Company URL of the lead
settings: Settings for lead addition:ignore_global_block_list: If true, uploaded leads will bypass the global block listignore_unsubscribe_list: If true, leads will bypass the comparison with unsubscribed leadsignore_community_bounce_list: If true, uploaded leads will bypass any leads that bounced across the entire userbaseignore_duplicate_leads_in_other_campaign: If true, leads will NOT bypass the comparison with other campaigns
smartlead_update_lead_in_campaign
Update a lead in a campaign.
Parameters:
campaign_id(required): ID of the campaignlead_id(required): ID of the lead to updatelead(required): Updated lead information with:email: Email address of the leadfirst_name: First name of the leadlast_name: Last name of the leadcompany: Company of the leadcustom_variables: Custom variables for the lead
smartlead_delete_lead_from_campaign
Remove a lead from a campaign.
Parameters:
campaign_id(required): ID of the campaignlead_id(required): ID of the lead to remove
License
MIT