listmonk MCP server
listmonk in any MCP client, through Memtro: listmonk does not publish this server. Memtro's listmonk connector reads listmonk through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Self-hosted listmonk: mailing lists, subscribers, campaigns with their send statistics, and templates; and, when asked, create a list, create, update, blocklist or delete subscribers (one or several by id), send an opt-in confirmation, clear bounces or activity, change list subscriptions, update or delete lists, create, update, test-send, start, pause, cancel, archive or delete campaigns, create, update, set the default or delete templates, and send transactional email.
Reads
listmonk_list_listsListmonk mailing lists: name, type (public or private), opt-in (single or double), status, subscriber count, tags and dates.listmonk_list_subscribersListmonk subscribers, newest first: email, name, status (enabled, blocklisted) and their lists with subscription status.listmonk_get_subscriberOne listmonk subscriber by id, with their lists and subscription status.listmonk_list_campaignsListmonk campaigns, newest first: name, subject, status (draft, scheduled, running, paused, cancelled, finished), lists, sent and still to send…listmonk_list_templatesListmonk email templates: id, name, type (campaign, campaign_visual or tx for transactional), whether it is the default…
Acts, when you ask
These change something in listmonk. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
listmonk_create_listCreate a listmonk mailing list.listmonk_create_subscriberAdd a subscriber to listmonk, optionally subscribed to lists.listmonk_update_subscriberChange a listmonk subscriber's email, name or status.listmonk_add_subscribers_to_listsSubscribe existing listmonk subscribers to lists.listmonk_remove_subscribers_from_listsTake listmonk subscribers off lists.listmonk_blocklist_subscriberBlocklist a listmonk subscriber so listmonk sends them nothing.listmonk_delete_subscriberPermanently delete a listmonk subscriber and their subscriptions.listmonk_create_draft_campaignCreate a DRAFT listmonk campaign for the given lists.listmonk_update_campaignChange a listmonk campaign's name, subject, lists, body, content type, tags or scheduled send time.listmonk_start_campaignSTART SENDING a listmonk campaign: 'now' sets it running and listmonk begins emailing every subscriber of its lists at once…listmonk_pause_campaignPause a running listmonk campaign.listmonk_cancel_campaignCancel a running listmonk campaign for good.listmonk_delete_campaignPermanently delete a listmonk campaign with its content and statistics.listmonk_send_transactionalSEND a transactional email now through a listmonk transactional template to existing subscribers (by id or email; at most 50).listmonk_update_listChange a listmonk list's name, type (public or private), opt-in (single or double), status (active or archived), tags or description.listmonk_delete_listPermanently delete a listmonk list and every subscription to it (the subscribers themselves stay).listmonk_send_test_campaignSEND a test copy of a listmonk campaign now to the named email addresses only (at most 10), as it currently stands…listmonk_archive_campaignPublish a listmonk campaign to the install's PUBLIC archive page (archive true)…listmonk_send_optin_emailSEND one listmonk subscriber the double opt-in confirmation email now, for their unconfirmed double opt-in lists.listmonk_create_templateCreate a listmonk email template.listmonk_update_templateChange a listmonk template's name, HTML body or (tx only) subject.listmonk_set_default_templateMake a listmonk campaign template the install's default, used by new campaigns that name no template.listmonk_delete_templatePermanently delete a listmonk template.listmonk_blocklist_subscribersBlocklist several listmonk subscribers by id (at most 100) so listmonk sends them nothing.listmonk_delete_subscribersPermanently delete several listmonk subscribers by id (at most 100) with their subscriptions and unsubscribe records.listmonk_delete_subscriber_bouncesPermanently delete a listmonk subscriber's bounce records, so past bounces no longer count against them.listmonk_clear_subscriber_activityPermanently clear one listmonk subscriber's recorded campaign views or link clicks (one type per call).
Connect it
First connect listmonk on Dashboard → Connections, then add Memtro to your client once. The listmonk tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared listmonk connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › How did the October newsletter perform?
- › How many confirmed subscribers are on the customers list?
- › Which campaigns are scheduled to go out this week?
- › Create a draft campaign for the product updates list called November release notes
- › Send a test copy of the December newsletter to priya.sharma@acme.example
Questions
- Is this an official listmonk MCP server?
- No. It is Memtro's MCP server with Memtro's listmonk connector behind it: the connector reads listmonk through its API with the credentials you connect on Dashboard → Connections, and listmonk publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in listmonk?
- Only when you ask, and only what it has been granted: create a mailing list; create a subscriber, with subscriptions pre-confirmed so no opt-in email is sent; update a subscriber's name, email or status; add subscribers to lists; remove or unsubscribe subscribers from lists; blocklist a subscriber; delete a subscriber; create a draft campaign (not sent); update a campaign's content, lists or send time; start sending a campaign now, or schedule it; pause a running campaign; cancel a running campaign; delete a campaign; send a transactional email to subscribers; update a list's settings; delete a list; send a test copy of a campaign to named addresses; publish a campaign to the public archive, or withdraw it; send a subscriber the double opt-in confirmation email; create an email template; update a template's name, body or subject; make a template the default; delete a template; blocklist several subscribers by id; delete several subscribers by id; delete a subscriber's bounce records; clear a subscriber's recorded views or clicks. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.