Mailerlite MCP server for AI agents

Live

OAUTH 2.1

EMAIL

Marketing

The Mailerlite MCP connector gives AI agents secure, per-user access to MailerLite — letting agents manage subscribers, groups, automations, and campaigns on behalf of the authorizing user. Every operation is tied to the MailerLite account owner who authorized the agent, keeping all email marketing actions fully auditable.

  • Acts as the user: Subscriber updates, campaign creates, and automation edits are tied to the MailerLite account owner who authorized the agent — not a shared service credential.
  • Credentials stay vaulted: AES-256, resolved at request time, never in LLM context.
  • Scoped before every call: Permissions enforced per-user. 90-day audit trail.
Mailerlite MCP
agent · Acme Q3
Run
List all my active subscribers and show me which groups they belong to.
S
mailerlitemcp_list_subscribers
85ms
Mailerlite MCP agent
You have 1,240 active subscribers across 4 groups — your largest group is 'Newsletter' with 892 members.
Sources: 1,240 subscribers, all groups
mailerlitemcpmcp
1,240 subscribers
18:29
Message Claude...

Tools your marketing agent reaches for on Mailerlite MCP, scoped per user.

CALL ANY TOOL
Tools cover the core MailerLite operations available to agents — from listing subscribers and groups to managing automation email metadata and scheduling draft campaigns for delivery.
mailerlitemcp_add_automation_step
Add automation step
Add a new email or delay step to an EXISTING automation. By default the step is appended at the end of the flow; pass after_step_id to insert it right after a specific step instead (get step ids from dry_run_automation). IMPORTANT: like create_automation, an email step's HTML content cannot be authored via the API, design it in the dashboard, or set the subject/content afterwards with update_automation_email / update_automation_email_content. The automation must be disabled to add steps.
Parameters
Name
Type
Required
Description
automation_id
string
Required
The ID of the automation
context
string
Required
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."
type
string
Required
Step type. One of: `email`, `delay`.
after_step_id
string
Optional
Insert the new step right after this step id. Omit to append at the end.
delay_unit
string
Optional
Delay unit for a delay step. One of: `minutes`, `hours`, `days`.
delay_value
number
Optional
Delay duration for a delay step
email_subject
string
Optional
Subject line for an email step
mailerlitemcp_assign_subscriber_to_group
Assign subscriber to group
mailerlitemcp_cancel_campaign
Cancel campaign
mailerlitemcp_create_automation
Create automation
mailerlitemcp_create_form
Create form
mailerlitemcp_delete_automation
Delete automation
mailerlitemcp_delete_field
Delete field
mailerlitemcp_delete_segment
Delete segment
mailerlitemcp_dry_run_automation
Dry run automation
mailerlitemcp_fetch
Fetch
mailerlitemcp_get_auth_status
Get auth status
mailerlitemcp_get_campaign_links
Get campaign links
mailerlitemcp_get_form_subscribers
Get form subscribers
mailerlitemcp_get_segment_subscribers
Get segment subscribers
mailerlitemcp_import_subscribers_to_group
Import subscribers to group
mailerlitemcp_list_automations
List automations
mailerlitemcp_list_email_templates
List email templates
mailerlitemcp_list_forms
List forms
mailerlitemcp_list_subscribers
List subscribers
mailerlitemcp_manage_ecommerce_category_products
Manage ecommerce category products
mailerlitemcp_read_ecommerce_data
Read ecommerce data
mailerlitemcp_reorder_automation_step
Reorder automation step
mailerlitemcp_replace_automation_trigger
Trigger replace automation
mailerlitemcp_search
Search
mailerlitemcp_send_test_automation
Send test automation
mailerlitemcp_start_automation_conversation
Start automation conversation
mailerlitemcp_update_automation
Update automation
mailerlitemcp_update_automation_email_content
Update automation email content
mailerlitemcp_update_field
Update field
mailerlitemcp_update_segment
Update segment

For more tools, view docs.

Build your Agent
Same auth pattern across every framework.
Python · LlamaIndex
from langchain_mcp_adapters.client import MultiServerMCPClient
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="mailerlitemcp")

mcp = MultiServerMCPClient({
"mailerlitemcp": {
"url": "https://mcp.scalekit.com/mailerlitemcp",
"headers": {"Authorization": "Bearer " + token}
}
})
tools = await mcp.get_tools()
import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "mailerlitemcp" });

const openai = new OpenAI();
// Connect to MCP at https://mcp.scalekit.com/mailerlitemcp
// Pass: Authorization: Bearer + token
import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "mailerlitemcp" });

const anthropic = new Anthropic();
// Connect to MCP at https://mcp.scalekit.com/mailerlitemcp
// Pass: Authorization: Bearer + token
from google.adk.agents import LlmAgent
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="mailerlitemcp")
# Connect to MCP at https://mcp.scalekit.com/mailerlitemcp
# Pass: Authorization: Bearer + token
Try these prompts
Paste any prompt into your agent to get started.
Subscribers & groups
Copy the prompt
Copied
List all my active subscribers and show which groups each belongs to.
Copy the prompt
Copied
Show me all subscribers with 'bounced' status so I can clean my list.
Campaigns & automations
Copy the prompt
Copied
Create a new regular campaign called 'June Newsletter' with a welcome HTML email and schedule it to send tomorrow at 10am.
Copy the prompt
Copied
Get the full detail of my 'Welcome Series' automation and update the first email's subject line to 'Welcome — here's what to expect'.
SEE HOW AUTH WORKS
User authorises once. Every agent call after uses their token with scope enforcement.
1
Authorize
Your user connects
Mailerlite MCP
once. We tie it to their identity and the meetings they approved — no shared bot account, no org-wide access
Who:
user ‘A’
when:
Once per user
access:
Limited to user
2
Store
Their
Mailerlite MCP
token lives in a vault scoped to them. User A's meetings are never reachable by an agent acting for user B, even on the same connection
vault:
encrypted
scope:
per-user
tokens:
auto-refreshed
3
Resolve
When your agent calls a
Mailerlite MCP
tool, we fetch the right token server-side. It never touches your agent, never appears in the LLM context, never shows up in your logs
speed:
~40ms
check:
before every call
seen by:
nobody
4
Audit
Every
Mailerlite MCP
tool call is logged — who triggered it, which meeting was fetched, what came back. 90 days of history, tied to the user who authorized it
history:
90 days
export:
SIEM-ready
logged:
every call
Test other agents
See the same per-user auth pattern across other connectors.
GTM and RevOps Teams
Outbound prospecting agent
Searches Apollo for prospects matching your ICP, scores and ranks them, drafts personalized outreach in Gmail, and logs every send to Google Sheets. Mail goes out as the rep, not from a shared inbox.
Support and Ops Teams
Email-to-calendar agent
Reads scheduling intent out of Gmail threads, resolves the times everyone actually has free, and creates the event on the user's own Google Calendar. No shared service account.
GTM and RevOps Teams
CRM AI agent
Reads the Granola transcript after every call, extracts next steps and updates the HubSpot record, drafts the follow-up in Gmail, and confirms in Slack, all on the rep's own delegated OAuth.
Support and Ops Teams
Freshdesk CSAT agent
Watches Freshdesk for resolved tickets, emails each requester a CSAT survey from Gmail, and writes the score and the verbatim back onto the ticket, every call on the support rep's own delegated OAuth.
Test other agents
See the same per-user auth pattern across other connectors.
SALES
Outbound prospecting agent
Search Apollo for ICP matches, rank them, draft personalised Gmail outreach, and log every send to Google Sheets.
OPS
Email-to-calendar scheduling agent
Read scheduling intent out of Gmail threads, resolve mutual free time, and create the Google Calendar event.
GTM
CRM AI agent
Turn each Granola call transcript into a HubSpot record update, a drafted Gmail follow-up, and a Slack recap.
SUPPORT
Freshdesk CSAT follow-up agent
Spot resolved Freshdesk tickets, email the CSAT survey from Gmail, and write the score back onto the ticket.
Why Scalekit
Secure your agent's access. Connectors ship in minutes
01.
Shared tokens break per-user analytics
A shared token looks fine in a demo. In production every call looks like a service account. Scalekit resolves the real user credential.
// shared token
audit → bot_service_account

// scalekit
audit → user_abc ✓
02.
Authentication is not authorization
03.
Multi-tenancy is architectural
04.
Mailerlite today. Ten connectors tomorrow.
“Our agents act across Salesforce, Gong, Google Drive, and more, on behalf of every customer. Scalekit behind the scenes meant we can keep adding tools without ever rebuilding how credentials or tool calling work.”
Venu Madhav Kattagoni
Head of Engineering / Von
FAQs
Frequently Asked Questions
Does the agent access Mailerlite MCP as the user or as a shared key?
Scalekit resolves a per-user credential for each call. The Mailerlite MCP audit log shows the real user identity, not a shared service account.
Where is the Mailerlite OAuth token stored?
In Scalekit's AES-256 encrypted vault, isolated per tenant. Tokens are auto-refreshed before expiry and revocable from a single dashboard without code changes.
Can I limit what the agent is allowed to do in Mailerlite MCP?
Pass a toolNames filter to listScopedTools. Scalekit enforces the allowed set before every API call — the agent cannot invoke tools outside the approved list.
What happens when a user revokes Mailerlite MCP access?
The token is invalidated at the next tool call. The agent fails closed rather than falling back to a shared key. Other users are unaffected and the revocation event is logged with a timestamp.
Can the agent send campaigns or create subscribers on behalf of any user in my system?
No. Each token Scalekit issues is scoped to the MailerLite account of the specific user who authorized the agent. A campaign created or subscriber added by the agent is tied to that account only. Cross-user operations require separate authorization flows, each recorded in Scalekit's audit log.
Start in your coding agent
Up and running in one command
Install the Scalekit skill in your editor of choice. Connector, auth, tools, prompt, all wired up
Claude Code REPL
/plugin marketplace add scalekit-inc/claude-code-authstack
/plugin install agentkit@scalekit-auth-stack
Cursor Code REPL
# ~/.cursor/mcp.json
{
""mcpServers"": {
""mailerlitemcp"": {
""url"": ""https://mcp.scalekit.com/mailerlitemcp"",
""headers"": { ""Authorization"": ""Bearer $SCALEKIT_TOKEN"" }
}
}
}
Codex Code REPL
# ~/.codex/config.toml
[mcp_servers.mailerlitemcp]
url = ""https://mcp.scalekit.com/mailerlitemcp""
auth_env = ""SCALEKIT_TOKEN""
Copilot Code REPL
# .vscode/mcp.json
{
""servers"": {
""mailerlitemcp"": {
""url"": ""https://mcp.scalekit.com/mailerlitemcp"",
""type"": ""http""
}
}
}