Mailercloud integration
Mailercloud is an email marketing platform. An agent can manage contact lists, contacts (create, upsert, batch import, update, tag), custom contact properties, tags and segments; create, schedule and test email campaigns and read their open, click, unsubscribe and domain reports; manage email templates, automations, sending domains and senders, webforms and campaign webhooks; read inbox placement and account plan details; and send transactional or personalized emails through the Email API and manage its suppression list. The Email Verifier uses separate keys and is not part of this integration. Authentication is an API key from Account, API Integrations, sent as the raw Authorization header value (no Bearer prefix). The marketing routes allow 50 requests per second per IP; Email API sending is limited by the account sending quota.
Say what should happen.
The workflow builds itself.
What you can do with Mailercloud
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Campaign, 7 operations
create_campaignCreate campaignPOSTCreates an email campaign; is_publish "1" sends it to real recipients right away (or at scheduled_at), "0" only saves a draft. Give name, subject, sender, html or plain_text, and list_ids, segments or tag_ids.create_campaign_v1Create campaign v1POSTOlder version of create_campaign (no tag targeting, exclusions, frequency cap or tracking switches): creates a campaign from name, subject, sender, list_ids and html or plain_text. Returns its id.get_campaignGet campaignGETGets one campaign by id: name, sender, subject, content, recipients, schedule and status, and its report summary (delivered, opens, clicks, bounces, unsubscribes and their percentages).list_campaignsList campaignsPOSTLists campaigns with their status and report summary; filter by name (search), sender_email, status or date range, and sort. Paginate with page (from 1) and limit. Read-only.schedule_campaignSchedule campaignPOSTSchedules a campaign to be sent at scheduled_at (YYYY-MM-DD HH:MM:SS, account timezone). Sending is irreversible: check the campaign first with send_test_email.send_test_emailSend test emailPOSTSends a test of a campaign to one email address or to a test mail group (testmail_group, from list_testmail_groups). Only the test recipients receive it.update_campaignUpdate campaignPUTUpdates a campaign by id: send only the fields to change. List, segments, pause rules and rules cannot change while it is sending; pause it to change the scheduled date.
Contact, 7 operations
create_contactCreate contactPOSTAdds a new contact to a list (email and list_id required) with optional name, company, address, tags and custom_fields. Fails if the contact exists: use upsert_contact to create or update.create_contacts_batchCreate contacts batchPOSTAdds up to 50 contacts to one list in a single call (contacts array of contact objects, each with an email). Returns per-contact results.delete_contactDelete contactDELETEDeletes a contact by contact id or email.get_contactGet contactGETGets one contact by contact id or email: name, company, address, list, tags, custom_fields and open-tracking consent.list_list_contactsList list contactsPOSTLists the contacts of one list (list id from list_lists), optionally filtered by name (search). Paginate with page (from 1) and limit. Read-only.update_contactUpdate contactPUTUpdates a contact by contact id or email: send only the fields to change. The email and list cannot be changed.upsert_contactUpsert contactPOSTCreates a contact, or updates it when the email already exists, with the fields given (list_id, name, company, address, tags, custom_fields). Returns contact_id and status.
Domain, 7 operations
create_domainCreate domainPOSTAdds a sending domain and returns the DNS records to publish at the DNS provider (status not_verified until checked with verify_domain). Subject to the plan domain limit.delete_domainDelete domainDELETEDeletes a sending domain. This cannot be undone: senders on it can no longer send and Mailercloud removes the DNS records it hosts.get_domainGet domainGETGets one sending domain with its DNS records and the status of each record (pending, verified, invalid, optional) and what to do at the DNS provider.list_domainsList domainsPOSTLists sending domains with status (verified, not_verified, failed) and open tracking; filter by status or name. Use get_domain for DNS records. Paginate with page (from 1) and limit.share_domain_dns_recordsShare domain dns recordsPOSTEmails the DNS records of a domain to 1 to 10 recipients (for example whoever manages the DNS).update_domainUpdate domainPUTChanges DNS record host labels (tracking_prefix, dkim_selector, dkim2_selector, image_prefix) and/or open_tracking. Send at least one; changed records go back to pending.verify_domainVerify domainPOSTChecks the domain DNS records now and returns the updated statuses. Publish the records first; if one is still pending, try again later. The account owner is emailed on a status change.
Webhook, 7 operations
create_webhookCreate webhookPOSTCreates a campaign webhook: name, url (http or https) and events (campaign_sent, campaign_opened, campaign_clicked, unsubscribe, campaign_error, spam, hard_bounce). Returns its id.delete_webhookDelete webhookDELETEDeletes a webhook by id.get_webhookGet webhookGETGets one webhook by id: name, url, events, status and dates.list_webhooksList webhooksPOSTLists webhooks (name, url, events, status) with the account webhook limit; search by name or url and sort. Paginate with page (from 1) and limit. Read-only.set_webhook_statusSet webhook statusPOSTActivates (status "1") or deactivates (status "0") a webhook by id.test_webhookTest webhookPOSTSends dummy event requests to a webhook url to test it; pass the webhook id as parameter.update_webhookUpdate webhookPUTUpdates a webhook: name, url and events are all required, so read the current values with get_webhook and send them back with your change.
List, 5 operations
create_listCreate listPOSTCreates a contact list (name: letters, digits, space, dot, underscore or hyphen, 3 to 100 characters). Returns its id.delete_listDelete listDELETEDeletes a contact list by id. A list used in an active campaign, automation or webform cannot be deleted.get_listGet listGETGets one contact list by id: name, type, status, contact count and open percentage.list_listsList listsPOSTLists contact lists (id, name, contact count, status, open percentage); search by name and sort. list_type 1 (normal list) is required. Paginate with page (from 1) and limit. Read-only.update_listUpdate listPATCHRenames a contact list by id (only the name can change).
Template, 5 operations
create_templateCreate templatePOSTCreates an email template from name (unique, up to 100 characters) and html, with optional plainText and categoryId (from list_template_categories). Returns its id.find_templateFind templateGETGets one email template by its name or its id (pass exactly one of them), with HTML, plain text, AMP content, category, status and dates.get_templateGet templateGETGets one email template by id with its HTML, plain text and AMP content, category, status and dates.list_templatesList templatesPOSTLists email templates (id, name, type, status, dates); filter by type, status, category or name. include_content true adds the bodies (then at most 20 per page). Read-only.update_templateUpdate templatePOSTUpdates a template found by id or templateName: name and html are required (send the current ones to keep them), plainText and categoryId optional.
Campaign report, 4 operations
get_campaign_domain_reportGet campaign domain reportPOSTGets a campaign report broken down by recipient email domain (gmail.com, yahoo.com...): sent, opens, clicks, bounces, unsubscribes, complaints and percentages. Paginate with page (from 1) and limit.list_campaign_clicksList campaign clicksPOSTLists contacts who clicked a link in a campaign (one row per contact, latest click time, tags and lists), optionally within a date range. Paginate with page (from 1) and limit. Anonymised clicks are not listed.list_campaign_opensList campaign opensPOSTLists contacts who opened a campaign (one row per contact, latest open time, tags and lists), optionally within a date range. Paginate with page (from 1) and limit. Anonymised opens are not listed.list_campaign_unsubscribesList campaign unsubscribesPOSTLists contacts who unsubscribed through a campaign, with time, reason given, tags and lists, optionally within a date range. Paginate with page (from 1) and limit.
Contact property, 4 operations
create_contact_propertyCreate contact propertyPOSTCreates a custom contact property (name, type text, number, date or textarea). At most 100 properties per account. Returns its id.delete_contact_propertyDelete contact propertyDELETEDeletes a custom contact property by id. A property used in a webform cannot be deleted.list_contact_propertiesList contact propertiesPOSTLists contact properties (default and custom) with id, name, type and personalization tag; filter by name or type. Paginate with page (from 1) and limit. Read-only.update_contact_propertyUpdate contact propertyPATCHRenames a custom contact property or changes its description; the type cannot change. name is required: send the current name to keep it.
Tag, 4 operations
create_tagCreate tagPOSTCreates a tag for contacts and campaigns (name up to 100 characters). Returns its id.delete_tagDelete tagDELETEDeletes a tag by id.list_tagsList tagsPOSTLists tags with their ids, optionally searched by name. Paginate with page (from 1) and limit. Read-only.update_tagUpdate tagPUTRenames a tag by id.
Email suppression, 3 operations
add_email_suppressionsAdd email suppressionsPOSTAdds addresses to the suppression list: every future send to them is rejected until reactivated. All or nothing: one invalid address rejects the whole request. Returns added, skipped and duplicates counts.list_email_suppressionsList email suppressionsPOSTLists the Email API suppression list (newest first) with reason, source, scope and date; filter by address, reason, scopes or date range. Paginate with page and limit (up to 100). Read-only.reactivate_email_suppressionReactivate email suppressionDELETERemoves one address from the suppression list so it can receive mail again (all reasons and scopes). Addresses suppressed for a spam complaint cannot be reactivated here.
Segment, 3 operations
create_segmentCreate segmentPOSTCreates a segment (a dynamic contact filter) from name, match (all or any) and rules; lists optionally restricts it. Returns its id.list_segmentsList segmentsPOSTLists segments with their active contact count and lists; search, sort_field and sort_order are required by Mailercloud. Paginate with page (from 1) and limit. Read-only.update_segmentUpdate segmentPUTReplaces a segment definition: send the complete name, match and rules (and lists) every time; rules not sent are removed. The contact count is recomputed afterwards.
Sender, 3 operations
create_senderCreate senderPOSTAdds a sender (from address and name) on a domain already verified in the account; it is verified at once. Address fields default to the account profile.delete_senderDelete senderDELETEDeletes a sender by id. This cannot be undone.list_sendersList sendersPOSTLists active verified senders (id, email, name, status); search by email or name and sort. Paginate with page (from 1) and limit. Read-only.
Automation, 2 operations
create_automationCreate automationPOSTCreates an automation from name and nodes (one trigger node plus actions, waits and conditions linked by parent_id). Saved as a draft unless auto_publish is true. Needs a plan with advanced automation.get_automationGet automationPOSTGets an automation by id with its status, contact counts and per-node campaign reports; node_type limits the nodes returned. Read-only.
Email, 2 operations
send_emailSend emailPOSTSends one email now through the Email API (sent at once, cannot be recalled): email {from, fromName, subject, html and/or text, recipients {to, cc, bcc}}, version "1.0" (or "2.0" with amp_html). Check statusCode 1000, not only the HTTP status.send_personalized_emailSend personalized emailPOSTSends one email now with per-recipient personalization: same fields as send_email, plus merge_vars on each recipients.to entry filling {{placeholders}} in subject, text, html, amp_html and fromName. Check statusCode 1000.
Account, 1 operation
get_accountGet accountGETGets the account name, email, current plan and contact quota (total, used and remaining contacts).
Contact tag, 1 operation
remove_contact_tagsRemove contact tagsPOSTRemoves tags from one contact: pass id (contact id or email) and tag_ids or tag_names. The tags themselves are kept.
Email inbox tracking, 1 operation
list_email_inbox_trackingList email inbox trackingPOSTLists Email API campaigns with inbox, spam and missed placement percentages and a per-provider breakdown; filter by campaign_id, subject, sender or date range. page and limit (10, 20, 50 or 100) are required. Read-only.
Inbox tracking, 1 operation
get_inbox_tracking_reportGet inbox tracking reportPOSTGets inbox placement (inbox, spam and missed percentages) for a date range (date_from and date_to required), per campaign and per mailbox provider; optionally one campaign or domain.
Reply email, 1 operation
list_reply_emailsList reply emailsPOSTLists the active reply-to email addresses, optionally searched by address. Paginate with page (from 1) and limit. Read-only.
Template category, 1 operation
list_template_categoriesList template categoriesGETLists template categories (label and numeric value) to use as categoryId in create_template or category_id in list_templates.
Testmail group, 1 operation
list_testmail_groupsList testmail groupsPOSTLists the test mail groups of the account, optionally filtered by name (search); pass a group to send_test_email. Read-only.
Webform, 1 operation
list_webformsList webformsPOSTLists webforms with status, linked list, views, submissions and embed code (status Active); filter by name, status or modified date. Paginate with page (from 1) and limit. Read-only.
Use Mailercloud from Claude Code, Cursor or Codex
Connect Mailercloud in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Mailercloud operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Mailercloud
- Create your workspace
Sign up free. Nothing to install.
- Connect Mailercloud once
Add your Mailercloud connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Mailercloud integration FAQ
What can you do with the Mailercloud integration?
LiveContext exposes 71 operations on Mailercloud, covering campaign, contact, domain and webhook.
