Mailerlite MCP connector
OAuth 2.1/DCRMarketingAutomationCommunicationConnect to MailerLite MCP. Manage email campaigns, subscribers, groups, automations, and forms from your AI workflows.
Mailerlite MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. 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> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'mailerlitemcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Mailerlite MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'mailerlitemcp_get_auth_status',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "mailerlitemcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Mailerlite MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="mailerlitemcp_get_auth_status",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Update webhook, subscriber, segment — Update the configuration of an existing webhook
- Group unassign subscriber from, import subscribers to, assign subscriber to — Remove a subscriber from a group by subscriber ID and group ID
- Lines suggest subject — Generate and return improved subject line suggestions based on provided input
- Conversation start automation — Start a guided conversation to help build an automation from a natural language request
- Send test automation — Send a test run of an automation to a specified email address
- Resource select — Select a specific MailerLite resource by ID and type for use in an automation workflow
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
mailerlitemcp_add_subscriber#Add a new subscriber to your MailerLite account, optionally assigning them to groups and setting custom fields.6 params
Add a new subscriber to your MailerLite account, optionally assigning them to groups and setting custom fields.
emailstringrequiredThe email address of the subscriberfieldsobjectoptionalCustom fields for the subscribergroupsarrayoptionalGroup IDs to add the subscriber tonamestringoptionalThe name of the subscriberresubscribebooleanoptionalWhether to resubscribe a previously unsubscribed subscriberstatusstringoptionalSubscriber status (default: active)mailerlitemcp_assign_subscriber_to_group#Add an existing subscriber to a MailerLite group by subscriber ID and group ID.2 params
Add an existing subscriber to a MailerLite group by subscriber ID and group ID.
group_idstringrequiredThe ID of the groupsubscriber_idstringrequiredThe ID or email of the subscribermailerlitemcp_batch_requests#Execute up to 50 MailerLite API requests in a single batch call. Webhooks are not supported.1 param
Execute up to 50 MailerLite API requests in a single batch call. Webhooks are not supported.
requestsarrayrequiredArray of API requests to execute (max 50)mailerlitemcp_build_custom_automation#Validate an automation plan before creating it. Checks trigger type, steps, and optionally discovers matching resources.4 params
Validate an automation plan before creating it. Checks trigger type, steps, and optionally discovers matching resources.
stepsarrayrequiredPlanned automation steps in ordertrigger_typestringrequiredThe trigger type for the automationresource_namestringoptionalOptional resource name to search for (partial match)resource_typestringoptionalResource 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_segmentmailerlitemcp_cancel_campaign#Cancel a scheduled or delivering campaign by its campaign ID.1 param
Cancel a scheduled or delivering campaign by its campaign ID.
campaign_idstringrequiredThe ID of the campaign to cancelmailerlitemcp_create_automation#Create a new automation workflow with a trigger type, trigger config, and ordered steps (email or delay).4 params
Create a new automation workflow with a trigger type, trigger config, and ordered steps (email or delay).
namestringrequiredName for the automationstepsarrayrequiredSteps in order (email or delay)trigger_configobjectrequiredTrigger configuration (group_ids for subscriber_joins_group, segment_id for subscriber_joins_segment, form_id for form_completed, shop_id for abandoned_cart)trigger_typestringrequiredTrigger typemailerlitemcp_create_campaign#Create a new email campaign. The sender email must be a verified sender on your MailerLite account.8 params
Create a new email campaign. The sender email must be a verified sender on your MailerLite account.
fromstringrequiredThe sender email address (must be verified on the MailerLite account)from_namestringrequiredThe sender namenamestringrequiredThe name of the campaignsubjectstringrequiredThe email subject linetypestringrequiredThe type of campaigncontentstringoptionalThe HTML content of the email (optional - can be designed in dashboard)groupsarrayoptionalGroup IDs to send toreply_tostringoptionalReply-to email addressmailerlitemcp_create_field#Create a new custom subscriber field for storing additional subscriber data.2 params
Create a new custom subscriber field for storing additional subscriber data.
namestringrequiredThe name of the fieldtypestringrequiredThe type of the fieldmailerlitemcp_create_form#Create a new signup form (popup, embedded, or promotion) linked to one or more groups.3 params
Create a new signup form (popup, embedded, or promotion) linked to one or more groups.
groupsarrayrequiredGroup IDs to assign new subscribers to (required, at least one)namestringrequiredThe name of the formtypestringrequiredThe type of form to createmailerlitemcp_create_group#Create a new subscriber group to organize your mailing list.1 param
Create a new subscriber group to organize your mailing list.
namestringrequiredThe name of the groupmailerlitemcp_create_segment#Create a new dynamic segment based on subscriber filter conditions.2 params
Create a new dynamic segment based on subscriber filter conditions.
namestringrequiredThe name of the segmentfilterobjectoptionalFilter rules object. Format: {"rules": [[{"operator": "text_field_contains", "args": ["field_id", "value"]}]]}. Inner arrays are AND groups, outer array is OR between groups. Omit to create a segment without filters (can be configured in dashboard).mailerlitemcp_create_webhook#Create a webhook to receive real-time event notifications from MailerLite.5 params
Create a webhook to receive real-time event notifications from MailerLite.
eventsarrayrequiredWebhook events to subscribe tourlstringrequiredThe URL to send webhook payloads tobatchablebooleanoptionalRequired as true for campaign.open, campaign.click, and subscriber.deleted eventsenabledbooleanoptionalWhether the webhook is enablednamestringoptionalA name for the webhookmailerlitemcp_delete_automation#Permanently delete an automation workflow by its automation ID.1 param
Permanently delete an automation workflow by its automation ID.
automation_idstringrequiredThe ID of the automation to deletemailerlitemcp_delete_campaign#Permanently delete a campaign by its campaign ID.1 param
Permanently delete a campaign by its campaign ID.
campaign_idstringrequiredThe ID of the campaign to deletemailerlitemcp_delete_field#Delete a custom subscriber field by its field ID.1 param
Delete a custom subscriber field by its field ID.
field_idstringrequiredThe ID of the field to deletemailerlitemcp_delete_form#Delete a signup form by its form ID.1 param
Delete a signup form by its form ID.
form_idstringrequiredThe ID of the form to deletemailerlitemcp_delete_group#Delete a subscriber group by its group ID.1 param
Delete a subscriber group by its group ID.
group_idstringrequiredThe ID of the group to deletemailerlitemcp_delete_segment#Delete a dynamic segment by its segment ID.1 param
Delete a dynamic segment by its segment ID.
segment_idstringrequiredThe ID of the segment to deletemailerlitemcp_delete_subscriber#Permanently delete a subscriber by their subscriber ID.1 param
Permanently delete a subscriber by their subscriber ID.
subscriber_idstringrequiredThe ID or email of the subscriber to deletemailerlitemcp_delete_webhook#Delete a webhook by its webhook ID.1 param
Delete a webhook by its webhook ID.
webhook_idstringrequiredThe ID of the webhook to deletemailerlitemcp_discover_automation_templates#Search and discover available automation templates by type and user intent.2 params
Search and discover available automation templates by type and user intent.
typestringrequiredTemplate type to retrieveuser_intentstringoptionalThe user's specific automation goal (e.g., welcome series, abandoned cart)mailerlitemcp_dry_run_automation#Preview an automation flow by sending a test run to a specified email address.2 params
Preview an automation flow by sending a test run to a specified email address.
automation_idstringrequiredID of automation to testtest_emailstringrequiredEmail address for virtual test subscribermailerlitemcp_fetch#Fetch a MailerLite resource by its ID.1 param
Fetch a MailerLite resource by its ID.
idstringrequiredIdentifier returned from the search tool (e.g., "campaign:123", "group:456")mailerlitemcp_generate_email_content#Generate email body content from a subject line and optional plain text.2 params
Generate email body content from a subject line and optional plain text.
plain_textstringrequiredThe plain text email body to validatesubjectstringrequiredThe email subject line to validatemailerlitemcp_get_auth_status#Check the current authentication status and account details for the connected MailerLite account.0 params
Check the current authentication status and account details for the connected MailerLite account.
mailerlitemcp_get_automation_activity#Retrieve activity logs for an automation, filtered by date, status, or subscriber search.9 params
Retrieve activity logs for an automation, filtered by date, status, or subscriber search.
automation_idstringrequiredThe ID of the automationstatusstringrequiredFilter by activity statusdate_fromstringoptionalFilter from date (Y-m-d). For completed/canceled/failed statusesdate_tostringoptionalFilter to date (Y-m-d). For completed/canceled/failed statuseslimitintegeroptionalNumber of results per page (default 10)pageintegeroptionalPage numberscheduled_fromstringoptionalFilter scheduled from date (Y-m-d). For active statusscheduled_tostringoptionalFilter scheduled to date (Y-m-d). For active statussearchstringoptionalSearch by subscriber emailmailerlitemcp_get_campaign#Retrieve details for a specific campaign by its campaign ID.1 param
Retrieve details for a specific campaign by its campaign ID.
campaign_idstringrequiredThe ID of the campaignmailerlitemcp_get_campaign_link_recipients#List subscribers who clicked a specific link in a campaign.7 params
List subscribers who clicked a specific link in a campaign.
campaign_idstringrequiredThe ID of the campaignlink_idstringrequiredThe ID of the linklimitstringoptionalNumber of results per page (10, 25, 50, or 100)orderstringoptionalSort directionorder_bystringoptionalSort fieldpageintegeroptionalPage number for paginationsearchstringoptionalSearch by subscriber emailmailerlitemcp_get_campaign_links#List all tracked links for a campaign.1 param
List all tracked links for a campaign.
campaign_idstringrequiredThe ID of the campaignmailerlitemcp_get_campaign_subscribers#List subscribers for a campaign, filtered by activity type (opened, clicked, bounced, etc.).6 params
List subscribers for a campaign, filtered by activity type (opened, clicked, bounced, etc.).
campaign_idstringrequiredThe ID of the campaignlimitintegeroptionalNumber of results (allowed values: 10, 25, 50, 100)pageintegeroptionalPage number for paginationsearchstringoptionalSearch by subscriber emailsortstringoptionalSort fieldtypestringoptionalFilter by activity typemailerlitemcp_get_dashboard_link#Get a direct link to a MailerLite dashboard resource (automation or other context).2 params
Get a direct link to a MailerLite dashboard resource (automation or other context).
automation_idstringrequiredAutomation IDcontextstringoptionalWhat the user needs to edit (e.g., "design email", "edit automation")mailerlitemcp_get_form#Retrieve details for a specific signup form by its form ID.1 param
Retrieve details for a specific signup form by its form ID.
form_idstringrequiredThe ID of the formmailerlitemcp_get_form_subscribers#List subscribers who signed up through a specific form.4 params
List subscribers who signed up through a specific form.
form_idstringrequiredThe ID of the formfilterstringoptionalFilter subscriberslimitintegeroptionalNumber of subscribers to return (1-100)pageintegeroptionalPage number for paginationmailerlitemcp_get_group_subscribers#List subscribers in a specific group, with optional cursor-based pagination.3 params
List subscribers in a specific group, with optional cursor-based pagination.
group_idstringrequiredThe ID of the groupcursorstringoptionalCursor for paginationlimitintegeroptionalNumber of subscribers to return (1-100)mailerlitemcp_get_segment#Retrieve details for a specific segment by its segment ID.1 param
Retrieve details for a specific segment by its segment ID.
segment_idstringrequiredThe ID of the segmentmailerlitemcp_get_segment_subscribers#List subscribers matching a segment, with cursor pagination and status filtering.4 params
List subscribers matching a segment, with cursor pagination and status filtering.
segment_idstringrequiredThe ID of the segmentcursorstringoptionalCursor for paginationlimitintegeroptionalNumber of subscribers to return (1-100)statusstringoptionalFilter by subscriber statusmailerlitemcp_get_subscriber#Retrieve a subscriber's full profile by their subscriber ID.1 param
Retrieve a subscriber's full profile by their subscriber ID.
subscriber_idstringrequiredThe ID or email of the subscribermailerlitemcp_get_subscriber_activity#Retrieve recent activity events for a subscriber (opens, clicks, etc.).1 param
Retrieve recent activity events for a subscriber (opens, clicks, etc.).
subscriber_idstringrequiredThe ID or email of the subscribermailerlitemcp_get_subscriber_count#Get the total count of subscribers in your MailerLite account.0 params
Get the total count of subscribers in your MailerLite account.
mailerlitemcp_get_webhook#Retrieve details for a specific webhook by its webhook ID.1 param
Retrieve details for a specific webhook by its webhook ID.
webhook_idstringrequiredThe ID of the webhookmailerlitemcp_import_subscribers_to_group#Bulk-import multiple subscribers into a group in one request.4 params
Bulk-import multiple subscribers into a group in one request.
group_idstringrequiredThe ID of the group to import tosubscribersarrayrequiredArray of subscribers to importautorespondersbooleanoptionalWhether to trigger autorespondersresubscribebooleanoptionalWhether to resubscribe previously unsubscribed subscribersmailerlitemcp_install_template#Install a MailerLite email template into your account by template ID.1 param
Install a MailerLite email template into your account by template ID.
template_idstringrequiredID of template to installmailerlitemcp_list_automations#List all automations in the account, with optional filtering to enabled automations only.2 params
List all automations in the account, with optional filtering to enabled automations only.
enabled_onlybooleanoptionalOnly show enabled automationslimitnumberoptionalMaximum number of automations to returnmailerlitemcp_list_campaigns#List campaigns in the account, with filtering by status and type.4 params
List campaigns in the account, with filtering by status and type.
cursorstringoptionalCursor for paginationlimitintegeroptionalNumber of campaigns to return (allowed values: 1, 10, 25, 50, 100)statusstringoptionalFilter by campaign statustypestringoptionalFilter by campaign typemailerlitemcp_list_email_templates#List available email templates with optional search and pagination.2 params
List available email templates with optional search and pagination.
limitnumberoptionalMaximum number of templates to return (default: 10)searchstringoptionalSearch filter for template namesmailerlitemcp_list_fields#List all custom subscriber fields with optional filtering and sorting.5 params
List all custom subscriber fields with optional filtering and sorting.
keywordstringoptionalFilter by keywordlimitintegeroptionalNumber of fields to returnpageintegeroptionalPage numbersortstringoptionalSort fieldtypestringoptionalFilter by field typemailerlitemcp_list_form_templates#List available form templates, filtered by form type.2 params
List available form templates, filtered by form type.
typestringrequiredForm template typelimitintegeroptionalNumber of templates to return (default: 25)mailerlitemcp_list_forms#List all signup forms with optional filtering by name, type, and sorting.5 params
List all signup forms with optional filtering by name, type, and sorting.
typestringrequiredThe type of forms to listlimitintegeroptionalNumber of forms to return (1-100)namestringoptionalFilter by form namepageintegeroptionalPage number for paginationsortstringoptionalSort fieldmailerlitemcp_list_resources#List MailerLite resources (groups, forms, segments, or shops) with optional name filtering.2 params
List MailerLite resources (groups, forms, segments, or shops) with optional name filtering.
resource_typestringrequiredType of resource to list (singular: group, form, shop, or segment)name_filterstringoptionalOptional filter by name (partial match)mailerlitemcp_list_segments#List all dynamic segments with pagination.2 params
List all dynamic segments with pagination.
limitintegeroptionalNumber of segments to return (1-100)pageintegeroptionalPage number for paginationmailerlitemcp_list_subscribers#List subscribers with cursor-based pagination, status filtering, and limit control.3 params
List subscribers with cursor-based pagination, status filtering, and limit control.
cursorstringoptionalCursor for paginationlimitintegeroptionalNumber of subscribers to return (1-100, default 25)statusstringoptionalFilter by subscriber statusmailerlitemcp_list_webhooks#List all configured webhooks in the account.0 params
List all configured webhooks in the account.
mailerlitemcp_schedule_campaign#Schedule a campaign for immediate or future delivery. Use delivery 'instant' to send now.3 params
Schedule a campaign for immediate or future delivery. Use delivery 'instant' to send now.
campaign_idstringrequiredThe ID of the campaign to scheduledeliverystringrequiredDelivery type: "instant" sends now, "scheduled" sends at a specific time, "timezone_based" sends per subscriber timezone, "smart_sending" uses AI-optimized send timesscheduleobjectoptionalSchedule details — required when delivery is "scheduled" or "timezone_based"mailerlitemcp_search#Search across MailerLite subscribers and groups by query string.2 params
Search across MailerLite subscribers and groups by query string.
querystringrequiredText to search for across MailerLite resourceslimitintegeroptionalMaximum number of results to return (default 10)mailerlitemcp_select_resource#Select a specific MailerLite resource by ID and type for use in an automation workflow.3 params
Select a specific MailerLite resource by ID and type for use in an automation workflow.
resource_idstringrequiredThe ID of the selected resourceresource_namestringrequiredThe name of the selected resourceresource_typestringrequiredThe type of the selected resourcemailerlitemcp_send_test_automation#Send a test run of an automation to a specified email address.2 params
Send a test run of an automation to a specified email address.
automation_idstringrequiredID of automation to testemailstringrequiredYour email address to receive the test emailsmailerlitemcp_start_automation_conversation#Start a guided conversation to help build an automation from a natural language request.1 param
Start a guided conversation to help build an automation from a natural language request.
user_requeststringrequiredWhat the user asked formailerlitemcp_suggest_subject_lines#Generate and return improved subject line suggestions based on provided input.1 param
Generate and return improved subject line suggestions based on provided input.
subject_linesarrayrequiredArray of subject line candidates to validatemailerlitemcp_unassign_subscriber_from_group#Remove a subscriber from a group by subscriber ID and group ID.2 params
Remove a subscriber from a group by subscriber ID and group ID.
group_idstringrequiredThe ID of the groupsubscriber_idstringrequiredThe ID or email of the subscribermailerlitemcp_update_automation_delay#Update the delay duration and unit for a specific step in an automation.4 params
Update the delay duration and unit for a specific step in an automation.
automation_idstringrequiredAutomation IDstep_indexnumberrequiredDelay step index (0-based, only counts delay steps)unitstringrequiredDelay duration unitvaluenumberrequiredDelay duration value (must be positive)mailerlitemcp_update_automation_email#Update the subject and plain text content for an email step in an automation.4 params
Update the subject and plain text content for an email step in an automation.
automation_idstringrequiredAutomation IDstep_indexnumberrequiredEmail step index (0-based, only counts email steps)subjectstringrequiredEmail subject lineplain_textstringoptionalPlain text email contentmailerlitemcp_update_campaign#Update the name, subject, sender, or content of an existing campaign.6 params
Update the name, subject, sender, or content of an existing campaign.
campaign_idstringrequiredThe ID of the campaign to updatecontentstringoptionalNew HTML contentfromstringoptionalNew sender emailfrom_namestringoptionalNew sender namenamestringoptionalNew campaign namesubjectstringoptionalNew email subjectmailerlitemcp_update_field#Rename a custom subscriber field.2 params
Rename a custom subscriber field.
field_idstringrequiredThe ID of the field to updatenamestringrequiredThe new name for the fieldmailerlitemcp_update_form#Update the name of an existing signup form.2 params
Update the name of an existing signup form.
form_idstringrequiredThe ID of the form to updatenamestringoptionalNew name for the formmailerlitemcp_update_group#Rename an existing subscriber group.2 params
Rename an existing subscriber group.
group_idstringrequiredThe ID of the group to updatenamestringrequiredThe new name for the groupmailerlitemcp_update_segment#Update the name of an existing segment.2 params
Update the name of an existing segment.
namestringrequiredNew name for the segmentsegment_idstringrequiredThe ID of the segment to updatemailerlitemcp_update_subscriber#Update an existing subscriber's name, status, or custom fields.3 params
Update an existing subscriber's name, status, or custom fields.
subscriber_idstringrequiredThe ID or email of the subscriberfieldsobjectoptionalCustom fields to updatenamestringoptionalThe new name for the subscribermailerlitemcp_update_webhook#Update the configuration of an existing webhook.6 params
Update the configuration of an existing webhook.
webhook_idstringrequiredThe ID of the webhook to updatebatchablebooleanoptionalRequired as true for campaign.open, campaign.click, and subscriber.deleted eventsenabledbooleanoptionalWhether the webhook is enabledeventsarrayoptionalWebhook events to subscribe tonamestringoptionalA name for the webhookurlstringoptionalThe URL to send webhook payloads to