Sponsored by Deepsite.site

Smartlead MCP Server

Created By
Meerkats-Ai8 months ago
smartlead-mcp-server typescript
Content

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

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Create a .env file based on .env.example and add your Smartlead API key:
SMARTLEAD_API_KEY=your_api_key_here
  1. 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:

  1. For Claude VSCode extension, add it to c:\Users\<username>\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  2. For Claude desktop app, add it to %APPDATA%\Claude\claude_desktop_config.json on 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 key
  • SMARTLEAD_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 campaign
  • client_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 update
  • timezone: 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 minutes
  • max_new_leads_per_day: Maximum number of new leads per day
  • schedule_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 update
  • name: New name for the campaign
  • status: 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 return
  • offset: 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 campaign
  • sequences (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 winner
    • winning_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 line
      • email_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 campaign
  • sequence_id (required): ID of the sequence email to update
  • subject: Updated email subject line
  • body: Updated email body content
  • wait_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 campaign
  • sequence_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 campaign
  • email_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 campaign
  • email_account_id (required): ID of the email account to update
  • settings: 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 campaign
  • email_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 campaign
  • lead_list (required): Array of lead information objects (max 100), each with:
    • email (required): Email address of the lead
    • first_name: First name of the lead
    • last_name: Last name of the lead
    • company_name: Company name of the lead
    • phone_number: Phone number of the lead
    • website: Website of the lead
    • location: Location of the lead
    • custom_fields: Custom fields for the lead (max 20 fields)
    • linkedin_profile: LinkedIn profile URL of the lead
    • company_url: Company URL of the lead
  • settings: Settings for lead addition:
    • ignore_global_block_list: If true, uploaded leads will bypass the global block list
    • ignore_unsubscribe_list: If true, leads will bypass the comparison with unsubscribed leads
    • ignore_community_bounce_list: If true, uploaded leads will bypass any leads that bounced across the entire userbase
    • ignore_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 campaign
  • lead_id (required): ID of the lead to update
  • lead (required): Updated lead information with:
    • email: Email address of the lead
    • first_name: First name of the lead
    • last_name: Last name of the lead
    • company: Company of the lead
    • custom_variables: Custom variables for the lead

smartlead_delete_lead_from_campaign

Remove a lead from a campaign.

Parameters:

  • campaign_id (required): ID of the campaign
  • lead_id (required): ID of the lead to remove

License

MIT

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
WindsurfThe new purpose-built IDE to harness magic
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
ChatWiseThe second fastest AI chatbot™
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Tavily Mcp
Serper MCP ServerA Serper MCP Server
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
DeepChatYour AI Partner on Desktop
CursorThe AI Code Editor
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Amap Maps高德地图官方 MCP Server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Playwright McpPlaywright MCP server
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.