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 88 tools.

Tools
88
What they doRead · write · destructive
38 · 31 · 1938 read31 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_campaignRetrieve details for a specific campaign by its campaign ID.Read-only

    Get Campaign

    Retrieve details for a specific campaign by its campaign ID.

    Inputs

    campaign_idstringrequired
    The ID of the campaign
    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."