# MailerLite — how to use (mcp.ai)

Connect your MailerLite account and use 86 tools for email newsletters straight from your AI agent. Connect with your own API key. MailerLite is an email marketing service that offers tools for creating and managing email campaigns, automating workflows, and building landing pages.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_mailerlite?ms=1787293500000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `mailerlite_add_product_to_category`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/mailerlite`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/mailerlite/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/mailerlite/add/product/to/category` — Tool to add a product to a category in an e-commerce shop. Use when you need to assign or link a product to a specific category for organization and marketing purposes.
  - body: { shop_id: integer, product_id: string, category_id: string }
- `POST https://api.mcp.ai/api/mailerlite/add/subscriber/to/group` — Tool to assign an existing subscriber to a group. Use when you need to add a subscriber to a specific group in your MailerLite account.
  - body: { group_id: string, subscriber_id: string }
- `POST https://api.mcp.ai/api/mailerlite/create/automation` — Create automation
  - body: { name: string, enabled?: boolean, trigger: object }
- `POST https://api.mcp.ai/api/mailerlite/create/campaign` — Tool to create a new email campaign (draft) with specified type, content, and targeting. Use when you need to create a campaign programmatically with email settings and optional audience targeting via
  - body: { name: string, type: string, emails: object[], groups?: string[], segments?: string[], settings?: object, language_id?: integer }
- `POST https://api.mcp.ai/api/mailerlite/create/ecommerce/cart/item` — Tool to add an item to a shopping cart. Creates the cart if it does not exist. Use for abandoned cart automation.
  - body: { price?: number, cart_id: string, shop_id: string, variant?: string, quantity?: integer, ecommerce_product_id: integer }
- `POST https://api.mcp.ai/api/mailerlite/create/ecommerce/category` — Tool to create a new product category for a shop. Use when organizing products into categories or setting up shop taxonomy with automation preferences.
  - body: { name: string, shop_id: string, exclude_from_automations?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/create/ecommerce/customer` — Tool to create or update a customer record for a shop. Use when syncing shop customers or onboarding new purchases.
  - body: { email: string, shop_id: string, total_spent?: number, accepts_marketing?: boolean, create_subscriber?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/create/ecommerce/order` — Tool to create a new order for a shop. Use when recording customer purchases or syncing order data from external systems.
  - body: { cart: object, status?: string, shop_id: string, customer: object, total_price?: number }
- `POST https://api.mcp.ai/api/mailerlite/create/ecommerce/product` — Tool to create a new product for an e-commerce shop. Use when adding products to a shop for tracking sales, automations, and customer interactions.
  - body: { url?: string, name: string, image?: string, price: number, shop_id: string, description?: string, short_description?: string, exclude_from_automations?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/create/ecommerce/shop` — Tool to connect a new e-commerce shop. Use when you need to integrate a store for automations, product imports, and sales tracking.
  - body: { url: string, name: string, enabled?: boolean, currency: string, group_id?: integer, platform?: string, access_data?: string, enable_popups?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/create/field` — Tool to create a new custom field. Use when distinct subscriber attributes are needed before assigning or updating subscriber data. Call once per field key.
  - body: { name: string, type: string }
- `POST https://api.mcp.ai/api/mailerlite/create/group` — Tool to create a new subscriber group. Use after deciding the group name for categorization. Store `group_id` from the response — required by MAILERLITE_UPDATE_GROUP, MAILERLITE_DELETE_GROUP, and MAIL
  - body: { name: string }
- `POST https://api.mcp.ai/api/mailerlite/create/segment` — Tool to create a new subscriber segment. Use when grouping subscribers by custom criteria before sending targeted campaigns.
  - body: { name: string }
- `POST https://api.mcp.ai/api/mailerlite/create/subscriber` — Tool to create or update (upsert) a subscriber by email. Use when adding new subscribers or updating existing ones without needing their ID. If subscriber exists, updates non-destructively (omitted fi
  - body: { email: string, fields?: object, groups?: string[], status?: string, optin_ip?: string, ip_address?: string, opted_in_at?: string, resubscribe?: boolean, subscribed_at?: string, unsubscribed_at?: string }
- `POST https://api.mcp.ai/api/mailerlite/create/webhook` — Tool to register a new webhook URL for specified event types. Use when you need real-time notifications for selected MailerLite events.
  - body: { url: string, name?: string, events: string[], enabled?: boolean, batchable?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/delete/automation` — Tool to delete an automation workflow by ID. Deletion is permanent and irreversible — always require explicit user confirmation before calling. Use when you need to remove an automation after confirmi
  - body: { automation_id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/ecommerce/cart/item` — Tool to remove an item from a cart in an e-commerce shop. Use when you need to delete a specific product from a customer's shopping cart.
  - body: { cart_id: string, item_id: string, shop_id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/ecommerce/category` — Tool to delete a product category from an e-commerce shop by IDs. Use when you need to remove a specific category from your MailerLite store.
  - body: { shop_id: string, category_id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/ecommerce/customer` — Tool to delete a customer from an e-commerce shop by IDs. Use when you need to remove a specific customer from your MailerLite store.
  - body: { shop_id: string, customer_id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/ecommerce/order` — Tool to delete an order from a shop. Use when you need to remove an order and its associated cart from MailerLite. Returns the deleted order details on success.
  - body: { shop_id: integer, order_id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/ecommerce/product` — Tool to delete a product from an e-commerce shop by IDs. Use when you need to remove a specific product from your MailerLite store.
  - body: { shop_id: string, product_id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/ecommerce/shop` — Tool to disconnect an e-commerce shop by ID. Use when you have the shop's unique identifier and want to remove it from your MailerLite account.
  - body: { shop_id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/field` — Tool to delete a custom field. Use when a field is obsolete and you need to remove it from your MailerLite account. Returns success=True on 204 No Content.
  - body: { field_id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/group` — Tool to delete a subscriber group by ID. Permanently removes the group and all its subscriber associations — irreversible with no undo. Use when you need to remove an existing subscriber group from yo
  - body: { group_id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/segment` — Tool to delete a segment by ID. Use when you need to remove an existing segment from your MailerLite account. Returns success=True on 204 No Content.
  - body: { segment_id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/subscriber` — Tool to delete a subscriber by ID. Use when you have the subscriber ID and want to remove them from your MailerLite account. Returns success=True on 204 No Content.
  - body: { id: string }
- `POST https://api.mcp.ai/api/mailerlite/delete/webhook` — Tool to remove a webhook subscription by ID. Use when you need to delete a webhook after confirming it is no longer needed. Returns success=True on 204 No Content.
  - body: { webhook_id: string }
- `POST https://api.mcp.ai/api/mailerlite/execute/batch/request` — Tool to execute multiple API requests in a single batch call (max 50 requests). Use when you need to perform multiple operations efficiently or reduce API call overhead. Note: Individual request failu
  - body: { requests: object[] }
- `POST https://api.mcp.ai/api/mailerlite/forget/subscriber` — Tool to forget a subscriber completely (GDPR compliant deletion). Use when you need to permanently delete all subscriber data within 30 days.
  - body: { subscriber_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/account/info` — Tool to retrieve basic MailerLite account details. Use when you need to verify authentication and review account metadata. Response payload is nested under results[i].response.data with data and meta 
- `POST https://api.mcp.ai/api/mailerlite/get/account/stats` — Tool to retrieve usage statistics and performance metrics for the account. Use after sending campaigns to analyze engagement and deliverability.
- `POST https://api.mcp.ai/api/mailerlite/get/automation` — Tool to retrieve details of a specific automation by ID. Use when you have the automation ID and need its full configuration. Example: "Get automation 7267552".
  - body: { fields?: string, automation_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/automation/activity` — Tool to retrieve subscriber activity for a specific automation. Use when you need to track automation execution status and subscriber progress through workflows. Requires filter[status] parameter to b
  - body: { automation_id: string, filter_status: string }
- `POST https://api.mcp.ai/api/mailerlite/get/campaign/languages` — Tool to retrieve a list of all available campaign languages. Use when you need to fetch supported languages for creating or configuring campaigns.
- `POST https://api.mcp.ai/api/mailerlite/get/campaigns` — Tool to retrieve a list of all campaigns. Use when you need to fetch campaigns optionally filtered by status or type, with pagination.
  - body: { page?: integer, type?: string, limit?: integer, status?: string }
- `POST https://api.mcp.ai/api/mailerlite/get/ecommerce/cart` — Tool to fetch details of a specific cart by shop ID and cart ID. Use when you need to retrieve cart information including customer, items, total, and checkout URL.
  - body: { cart_id: string, shop_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/ecommerce/cart/item` — Tool to fetch details of a specific cart item by shop ID, cart ID, and item ID. Use when you need to retrieve information about a specific item in a cart.
  - body: { cart_id: string, item_id: string, shop_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/ecommerce/category` — Tool to fetch details of a specific product category by shop and category ID. Use when you need information about a specific e-commerce category.
  - body: { shop_id: string, category_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/ecommerce/customer` — Tool to fetch details of a customer by shop and customer ID. Use after confirming shop_id and customer_id.
  - body: { shop_id: string, customer_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/ecommerce/customers` — Tool to list customers for a specific shop. Use when you need to retrieve and paginate ecommerce customers after you have a shop ID. Example: "List customers for shop 123".
  - body: { page?: integer, limit?: integer, shop_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/ecommerce/order` — Tool to fetch details of a specific e-commerce order by shop ID and order ID. Use when you need to retrieve order information including customer, cart items, total, and status.
  - body: { shop_id: string, order_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/ecommerce/product` — Tool to fetch details of a specific e-commerce product by shop and product ID. Use when you need product information such as name, price, description, and categories.
  - body: { shop_id: string, product_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/ecommerce/shop` — Tool to fetch details of a specific e-commerce shop by ID. Use when you need detailed configuration or stats of a connected shop.
  - body: { shop_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/ecommerce/shops` — Tool to list all e-commerce shops connected to the account. Use when you need to retrieve and paginate shop listings for an account.
  - body: { page?: integer, limit?: integer }
- `POST https://api.mcp.ai/api/mailerlite/get/fields` — Tool to retrieve all custom fields defined in the account. Use when you need to list or paginate through subscriber custom fields.
  - body: { page?: integer, sort?: string, limit?: integer, filter_type?: string, filter_keyword?: string }
- `POST https://api.mcp.ai/api/mailerlite/get/group` — Tool to retrieve details of a specific subscriber group by ID. Use when you need information about a particular group's statistics and configuration.
  - body: { group_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/group/subscribers` — Tool to list subscribers within a group by ID. Use when you need to retrieve subscribers belonging to a specific MailerLite group before targeted campaigns. Use after confirming the group ID is valid.
  - body: { limit?: integer, cursor?: string, include?: string, group_id: string, filter_status?: string }
- `POST https://api.mcp.ai/api/mailerlite/get/groups` — Tool to retrieve all subscriber groups. Use when listing, paginating, or looking up group IDs for use in downstream tools (e.g., `trigger.settings.group_id`). Always verify returned IDs exactly match 
  - body: { page?: integer, sort?: string, limit?: integer, filter_name?: string }
- `POST https://api.mcp.ai/api/mailerlite/get/import/status` — Tool to retrieve the status and detailed report of a subscriber import operation by import ID. Use after initiating an import to track progress and review results including validation issues, duplicat
  - body: { import_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/segment` — Tool to retrieve a specific segment by ID. Use when you need to get details about a particular segment including subscriber count, open rate, and click rate statistics.
  - body: { segment_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/segment/subscribers` — Tool to retrieve all subscribers belonging to a specific segment. Use when you need to list or paginate through subscribers in a MailerLite segment for targeted campaigns or analysis.
  - body: { cursor?: string, per_page?: integer, segment_id: string, filter_status?: string }
- `POST https://api.mcp.ai/api/mailerlite/get/segments` — Tool to retrieve all segments in the account. Use when you need to list or paginate through segments.
  - body: { page?: integer, limit?: integer }
- `POST https://api.mcp.ai/api/mailerlite/get/subscriber` — Tool to fetch a single subscriber by ID or email address. Use when you need to retrieve detailed information about a specific subscriber.
  - body: { subscriber_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/subscriber/activity` — Tool to fetch the activity log for a specific subscriber. Use when you need to track subscriber engagement history including email opens, link clicks, bounces, and other events.
  - body: { limit?: integer, cursor?: string, filter_type?: string, subscriber_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/subscribers` — Tool to retrieve all subscribers. Use after connecting account and when listing subscribers by status or paginating. Response payload nested under results[i].response.data with data and meta subkeys. 
  - body: { limit?: integer, cursor?: string, include?: string, filter_status?: string }
- `POST https://api.mcp.ai/api/mailerlite/get/subscribers/stats` — Tool to get subscriber statistics for the account. Use to retrieve counts of total, active, unsubscribed, unconfirmed, bounced, and junk subscribers.
  - body: { x_locale?: string }
- `POST https://api.mcp.ai/api/mailerlite/get/webhook` — Tool to retrieve details of a specific webhook by ID. Use when you need to get information about a particular webhook configuration.
  - body: { webhook_id: string }
- `POST https://api.mcp.ai/api/mailerlite/get/webhooks` — Tool to retrieve all configured webhooks. Use when you need to list webhooks for your MailerLite account.
  - body: { page?: integer, limit?: integer }
- `POST https://api.mcp.ai/api/mailerlite/import/ecommerce/categories` — Tool to bulk import categories to an e-commerce shop. Use when you need to add multiple categories at once to a shop.
  - body: { shop_id: string, categories: object[] }
- `POST https://api.mcp.ai/api/mailerlite/import/ecommerce/orders` — Tool to bulk import orders to an e-commerce shop. Use when syncing historical orders or bulk loading order data. Products must exist before importing orders.
  - body: { orders: object[], shop_id: integer }
- `POST https://api.mcp.ai/api/mailerlite/import/ecommerce/products` — Tool to bulk import products to an e-commerce shop. Use when you need to add multiple products to a shop in one request.
  - body: { shop_id: integer, products: object[] }
- `POST https://api.mcp.ai/api/mailerlite/import/subscribers/to/group` — Tool to bulk import multiple subscribers to a specific group. Use when adding many subscribers at once is more efficient than individual creation. The import runs asynchronously by default; use the re
  - body: { group_id: string, resubscribe?: boolean, subscribers: object[], return_status?: boolean, autoresponders?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/list/automations` — Tool to retrieve all automations in your MailerLite account. Use when you need to list automations, optionally filtered by status, name, or group. Supports pagination for large result sets.
  - body: { page?: integer, limit?: integer, filter_name?: string, filter_group?: string, filter_enabled?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/list/ecommerce/cart/items` — Tool to list all items in a specific cart for an e-commerce shop. Use when you need to retrieve items from a cart after you have both a shop ID and cart ID.
  - body: { page?: integer, limit?: integer, cart_id: string, shop_id: string }
- `POST https://api.mcp.ai/api/mailerlite/list/ecommerce/carts` — Tool to list all carts for a specific shop. Use when you need to retrieve abandoned or active shopping carts after you have a shop ID. Example: "List carts for shop 49095".
  - body: { page?: integer, limit?: integer, shop_id: string }
- `POST https://api.mcp.ai/api/mailerlite/list/ecommerce/categories` — Tool to list all product categories for a shop. Use when you need to retrieve or paginate through categories.
  - body: { page?: integer, limit?: integer, shop_id: integer }
- `POST https://api.mcp.ai/api/mailerlite/list/ecommerce/category/products` — Tool to list all products in a specific e-commerce category. Use when you need to retrieve products for a given shop and category combination.
  - body: { page?: integer, limit?: integer, shop_id: integer, category_id: string }
- `POST https://api.mcp.ai/api/mailerlite/list/ecommerce/orders` — Tool to list all orders for a specific e-commerce shop. Use when you need to retrieve and paginate orders for a shop after you have a shop ID.
  - body: { page?: integer, limit?: integer, shop_id: string }
- `POST https://api.mcp.ai/api/mailerlite/list/ecommerce/products` — Tool to list all products for a specific e-commerce shop. Use when you need to retrieve and paginate product listings after you have a shop ID.
  - body: { page?: integer, limit?: integer, shop_id: integer }
- `POST https://api.mcp.ai/api/mailerlite/list/forms` — Tool to retrieve all forms of a specific type (popup, embedded, or promotion). Use when you need to list forms with optional filtering by name and pagination support.
  - body: { page?: integer, sort?: string, type: string, limit?: integer, filter_name?: string }
- `POST https://api.mcp.ai/api/mailerlite/list/timezones` — Tool to retrieve all available timezones supported by MailerLite. Use when you need to get timezone options for campaigns, automations, or scheduling.
- `POST https://api.mcp.ai/api/mailerlite/remove/product/from/category` — Tool to remove a product from a category in an e-commerce shop. Use when you need to unlink a product from a specific category without deleting the product itself.
  - body: { shop_id: integer, product_id: string, category_id: string }
- `POST https://api.mcp.ai/api/mailerlite/remove/subscriber/from/group` — Tool to remove a subscriber from a group by ID. Use when you need to unassign a subscriber from a specific group in your MailerLite account. Returns success=True on 204 No Content.
  - body: { group_id: string, subscriber_id: string }
- `POST https://api.mcp.ai/api/mailerlite/set/double/optin` — Tool to enable or disable double opt-in for new subscribers. Use when configuring subscription confirmation settings.
  - body: { double_opt_in: boolean }
- `POST https://api.mcp.ai/api/mailerlite/update/ecommerce/cart` — Tool to update an existing cart's checkout URL or total price. Use when you need to modify cart details like the checkout link or recalculate the cart total for an active shopping cart.
  - body: { cart_id: string, shop_id: string, cart_total?: number, checkout_url?: string }
- `POST https://api.mcp.ai/api/mailerlite/update/ecommerce/cart/item` — Tool to update a cart item's quantity or properties in an e-commerce cart. Use when you need to modify an existing item in a customer's cart.
  - body: { price?: number, cart_id: string, item_id: string, shop_id: string, variant?: string, quantity?: integer, ecommerce_product_id: integer }
- `POST https://api.mcp.ai/api/mailerlite/update/ecommerce/category` — Tool to update an existing product category in an e-commerce shop. Use when you need to modify the category name or automation settings.
  - body: { name: string, shop_id: string, category_id: string, exclude_from_automations?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/update/ecommerce/customer` — Tool to update a customer's data for a shop by IDs. Use when you need to change email, marketing opt-in, or spend totals for an existing customer.
  - body: { email: string, shop_id: string, customer_id: string, total_spent?: number, accepts_marketing?: boolean, create_subscriber?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/update/ecommerce/order` — Tool to update an existing order's status or total price in an e-commerce shop. Use when you need to mark orders as complete or adjust pricing. Note: Cannot update cart or customer through this endpoi
  - body: { status?: string, shop_id: string, order_id: string, total_price?: number }
- `POST https://api.mcp.ai/api/mailerlite/update/ecommerce/product` — Tool to update an existing product in an e-commerce shop by IDs. Use when you need to modify product details like name, price, description, or URL.
  - body: { url?: string, name: string, image?: string, price?: number, shop_id: string, product_id: string, description?: string, short_description?: string, exclude_from_automations?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/update/ecommerce/shop` — Tool to update settings of a connected e-commerce shop by ID. Use when you need to modify shop details (name, URL, currency) or toggle features after verifying the shop exists.
  - body: { url: string, name: string, enabled?: boolean, shop_id: string, currency: string, group_id?: integer, platform?: string, access_data?: string, enable_popups?: boolean }
- `POST https://api.mcp.ai/api/mailerlite/update/field` — Tool to update the title of an existing custom field. Use when renaming a field label (e.g., correct typos or rebranding).
  - body: { name: string, field_id: string }
- `POST https://api.mcp.ai/api/mailerlite/update/group` — Tool to update a group's name by ID. Use when renaming an existing group after confirming its ID. Note: renaming does not update references in downstream integrations or reports that use the old group
  - body: { id: string, name: string }
- `POST https://api.mcp.ai/api/mailerlite/update/segment` — Tool to rename an existing segment by ID. Use when you need to update a segment's name after confirming its ID.
  - body: { id: string, name: string }
- `POST https://api.mcp.ai/api/mailerlite/update/subscriber` — Tool to update an existing subscriber's information by ID. Use when altering subscriber details.
  - body: { id: string, fields?: object, groups?: string[], status?: string, optin_ip?: string, ip_address?: string, opted_in_at?: string, subscribed_at?: string, unsubscribed_at?: string }
- `POST https://api.mcp.ai/api/mailerlite/update/webhook` — Tool to update an existing MailerLite webhook. Use when you need to change its URL or event triggers by ID.
  - body: { url: string, name?: string, events: string[], enabled?: boolean, batchable?: boolean, webhook_id: string }

## Example prompts
- "What can I do in MailerLite?"
- "Show me a summary of my MailerLite account"

## More
- Page: https://mcp.ai/mailerlite
- Agent spec (llms.txt): https://mcp.ai/mailerlite/llms.txt
- Postman collection: https://mcp.ai/mailerlite/postman.json
