Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Mailerlite MCP server

Vendor MCP
Open markdown

The Mailerlite MCP connector routes your AI agent's tool calls to Mailerlite's own MCP server through Scalekit. Each user signs in to Mailerlite once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 92 tools.

Tools
92
What they doRead · write · destructive
41 · 32 · 1941 read32 write19 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Mailerlite MCP connection

    In AgentKit > Connections, create a Mailerlite MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Mailerlite MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'mailerlitemcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Mailerlite MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'mailerlitemcp_get_auth_status',
    toolInput: { context: 'YOUR_CONTEXT' },
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • mailerlitemcp_build_custom_automationValidate an automation plan before creating it.Read-only

    Build Custom Automation

    Validate an automation plan before creating it. Checks trigger type, steps, and optionally discovers matching resources.

    Inputs

    contextstringrequired
    Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization."
    stepsarrayrequired
    Planned automation steps in order
    trigger_typestringrequired
    The trigger type for the automationone of subscriber_joins_groupform_completedabandoned_cartsubscriber_joins_segment
    resource_namestring
    Optional resource name to search for (partial match)
    resource_typestring
    Resource type to look up. Defaults based on trigger: group for subscriber_joins_group, form for form_completed, shop for abandoned_cart, segment for subscriber_joins_segmentone of groupformshopsegment
  • mailerlitemcp_discover_automation_templatesSearch and discover available automation templates by type and user intent.Read-only

    Discover Automation Templates

    Search and discover available automation templates by type and user intent.

    Inputs

    contextstringrequired
    Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization."
    typestringrequired
    Template type to retrieveone of allwelcomepromotionremindereventfeedbackdate
    user_intentstring
    The user's specific automation goal (e.g., welcome series, abandoned cart)
  • mailerlitemcp_dry_run_automationPreview an automation flow by sending a test run to a specified email address.Read-only

    Dry Run Automation

    Preview an automation flow by sending a test run to a specified email address.

    Inputs

    automation_idstringrequired
    ID of automation to test
    contextstringrequired
    Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization."
    test_emailstringrequired
    Email address for virtual test subscriber
  • mailerlitemcp_fetchFetch a MailerLite resource by its ID.Read-only

    Fetch

    Fetch a MailerLite resource by its ID.

    Inputs

    contextstringrequired
    Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization."
    idstringrequired
    Identifier returned from the search tool (e.g., "campaign:123", "group:456"), or a bare id when "type" is also given
    typestring
    Resource kind, required only when "id" has no "<kind>:" prefixone of campaigngroupformautomationsegment
  • mailerlitemcp_get_auth_statusCheck the current authentication status and account details for the connected MailerLite account.Read-only

    Get Auth Status

    Check the current authentication status and account details for the connected MailerLite account.

    Inputs

    contextstringrequired
    Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization."
  • mailerlitemcp_get_automation_activityRetrieve activity logs for an automation, filtered by date, status, or subscriber search.Read-only

    Get Automation Activity

    Retrieve activity logs for an automation, filtered by date, status, or subscriber search.

    Inputs

    automation_idstringrequired
    The ID of the automation
    contextstringrequired
    Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization."
    statusstringrequired
    Filter by activity status
    date_fromstring
    Filter from date (Y-m-d). For completed/canceled/failed statuses
    date_tostring
    Filter to date (Y-m-d). For completed/canceled/failed statuses
    limitinteger
    Number of results per page (default 10)
    pageinteger
    Page number
    scheduled_fromstring
    Filter scheduled from date (Y-m-d). For active status
    scheduled_tostring
    Filter scheduled to date (Y-m-d). For active status
    searchstring
    Search by subscriber email
  • mailerlitemcp_get_automation_emailRead one email step of an automation: subject, preheader, sender, reply-to, plain text and HTML.Read-only

    Get Automation Email

    Read one email step of an automation: subject, preheader, sender, reply-to, plain text and HTML. Works for emails designed in the visual editor and for HTML set via update_automation_email_content. The HTML is the stored source: merge tags such as {$name} and {$unsubscribe} and conditional blocks are kept as written, so edit it in place and pass it back to update_automation_email_content without re-adding them.

    Inputs

    automation_idstringrequired
    Automation ID
    contextstringrequired
    Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
    step_indexintegerrequired
    Email step index (0-based, only counts email steps, in the order the automation runs them), same as update_automation_email.
  • mailerlitemcp_get_automation_statsGet performance stats for an automation: sent, opens, clicks and unsubscribes, overall and for each email.Read-only

    Get Automation Stats

    Get performance stats for an automation: sent, opens, clicks and unsubscribes, overall and for each email. list_automations already shows a short summary per automation. Use this tool for monthly totals, per-email numbers, or one email's numbers over a date range. Args: - automation_id (string): The automation ID. - months (3 | 6 | 12, optional): How many months of monthly totals to return. Defaults to 3. - email_id (string, optional): One email in the automation (an id from this tool's emails[]). Returns that email's engagement and deliverability instead of the automation overview. - start_date, end_date (Y-m-d, optional): Limit the email_id report to a period, both days included. Pass both or neither, and only with email_id. Returns: without email_id, { automation_id, activity, monthly[], emails[] }. activity counts subscriber runs by status. Each email in emails[] has id, name, subject and stats. With email_id, { automation_id, email_report: { email_id, engagement, deliverability } }.

    Inputs

    automation_idstringrequired
    The ID of the automation
    contextstringrequired
    Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
    email_idstring
    Return the report for this one email in the automation
    end_datestring
    Report end date (Y-m-d), included. Only with email_id, together with start_date
    monthsstring
    Months of monthly totals to return: 3, 6 or 12 (default 3)
    start_datestring
    Report start date (Y-m-d). Only with email_id, together with end_date