mailerlite

Read subscribers, groups, campaigns, fields, segments, automations, webhooks; safe additive writes.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
95%
Naming quality
77%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'mailerlite_list_group_subscribers' name length outside 3-30 rangein mailerlite_list_group_subscribers
  • LOWTool 'mailerlite_assign_subscriber_to_group' name length outside 3-30 rangein mailerlite_assign_subscriber_to_group

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,938Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (1.51% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mailerlite": {
      "url": "https://mailerlite.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://mailerlite.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢mailerlite_list_subscribers(limit, cursor, status)

List subscribers, optionally filtered by status. Cursor-paginated. MailerLite API: GET /subscribers.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Max subscribers to return per page (default 25, max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "cursor": {
      "description": "Pagination cursor from a previous response's meta.next_cursor.",
      "type": "string"
    },
    "status": {
      "description": "Filter by status (→ filter[status]): active | unsubscribed | unconfirmed | bounced | junk.",
      "type": "string",
      "enum": [
        "active",
        "unsubscribed",
        "unconfirmed",
        "bounced",
        "junk"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mailerlite_get_subscriber(id)

Fetch a single subscriber by id or email address. MailerLite API: GET /subscribers/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Subscriber id OR email address."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mailerlite_list_groups(limit, page, name, sort)

List subscriber groups/lists, optionally filtered by name. Page-paginated. MailerLite API: GET /groups.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Max groups per page (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number (page-based pagination).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "name": {
      "description": "Filter by name (→ filter[name]).",
      "type": "string"
    },
    "sort": {
      "description": "Sort field, e.g. name, total, -total, created_at.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mailerlite_list_group_subscribers(group_id, limit, cursor, status)

List the subscribers belonging to a group, optionally filtered by status. Cursor-paginated. MailerLite API: GET /groups/{group_id}/subscribers.

Input Schema

{
  "type": "object",
  "properties": {
    "group_id": {
      "type": "string",
      "description": "Group id."
    },
    "limit": {
      "description": "Max subscribers per page (default 25, max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "cursor": {
      "description": "Pagination cursor from a previous response's meta.next_cursor.",
      "type": "string"
    },
    "status": {
      "description": "Filter by status (→ filter[status]).",
      "type": "string",
      "enum": [
        "active",
        "unsubscribed",
        "unconfirmed",
        "bounced",
        "junk"
      ]
    }
  },
  "required": [
    "group_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mailerlite_list_campaigns(limit, page, status)

List campaigns, optionally filtered by status. Page-paginated. Read-only — this server does NOT send campaigns. MailerLite API: GET /campaigns.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Max campaigns per page (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number (page-based pagination).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "description": "Filter by status (→ filter[status]): sent | draft | ready.",
      "type": "string",
      "enum": [
        "sent",
        "draft",
        "ready"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mailerlite_get_campaign(campaign_id)

Fetch a single campaign by id. Read-only. MailerLite API: GET /campaigns/{campaign_id}.

Input Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "string",
      "description": "Campaign id."
    }
  },
  "required": [
    "campaign_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mailerlite_list_fields(limit, page, type, keyword)

List custom/default subscriber fields, optionally filtered by type or keyword. Page-paginated. MailerLite API: GET /fields.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Max fields per page (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number (page-based pagination).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "type": {
      "description": "Filter by field type (→ filter[type]): text | number | date.",
      "type": "string"
    },
    "keyword": {
      "description": "Filter by keyword (→ filter[keyword]).",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mailerlite_list_segments(limit, page)

List segments. Page-paginated. MailerLite API: GET /segments.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Max segments per page (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number (page-based pagination).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mailerlite_list_automations(limit, page, filter_enabled)

List automations (workflows), optionally filtered by enabled state. Page-paginated. MailerLite API: GET /automations.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Max automations per page (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number (page-based pagination).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "filter_enabled": {
      "description": "Filter by enabled state (→ filter[enabled]).",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mailerlite_list_webhooks(limit, page)

List configured webhooks. Page-paginated. MailerLite API: GET /webhooks.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Max webhooks per page (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "page": {
      "description": "Page number (page-based pagination).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴mailerlite_upsert_subscriber(email, fields, groups, status)

Creates or updates a subscriber (upsert by email). Additive — does NOT send any email. MailerLite API: POST /subscribers.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "Subscriber email address (upsert key)."
    },
    "fields": {
      "description": "Custom/default field values keyed by field key, e.g. { name, last_name, company }.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          }
        ]
      }
    },
    "groups": {
      "description": "Group id strings to add the subscriber to.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "status": {
      "description": "Subscriber status: active | unsubscribed | unconfirmed | bounced | junk.",
      "type": "string",
      "enum": [
        "active",
        "unsubscribed",
        "unconfirmed",
        "bounced",
        "junk"
      ]
    }
  },
  "required": [
    "email"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴mailerlite_create_group(name)

Creates a subscriber group/list (additive). MailerLite API: POST /groups.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name of the new group."
    }
  },
  "required": [
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴mailerlite_assign_subscriber_to_group(subscriber_id, group_id)

Adds a subscriber to a group (additive membership). MailerLite API: POST /subscribers/{subscriber_id}/groups/{group_id}.

Input Schema

{
  "type": "object",
  "properties": {
    "subscriber_id": {
      "type": "string",
      "description": "Subscriber id."
    },
    "group_id": {
      "type": "string",
      "description": "Group id."
    }
  },
  "required": [
    "subscriber_id",
    "group_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools