MCP for AcyMailing is a free add-on for MCP for J that lets your AI client work with your AcyMailing lists, subscribers and campaigns. Its 33 tools cover everything AcyMailing Starter can do, and they work on every edition, so the same add-on serves a Starter, Essential or Enterprise site. You can ask how much two lists overlap, draft a campaign, send yourself a test and then queue it for real. Nothing here mails anyone by default. Every path that can reach an inbox needs you to ask for it explicitly, and queueing a campaign is a dry run until you confirm the exact number of people it will go to.
Why this exists
Email is the one admin job you can't take back. Once a campaign is in the queue, it's going out. AcyMailing's admin is good at building a newsletter and less good at questions about your lists as a whole: who's on more than one list, which subscribers are duplicates, whether your event registrants ever made it onto the list, and how last month's campaign did. Some of the numbers it shows you are cached, too, and the subscriber count stored on each list is usually out of date. This add-on puts those questions to your AI client and works the answers out live.
There's a second reason the brakes matter. AcyMailing's own code sends mail as a side effect in more places than its admin suggests. Creating an unconfirmed subscriber sends the double opt-in email, subscribing someone sends the list's welcome email, and unsubscribing someone sends a goodbye email plus a notice to the site admin. AcyMailing skips some of that for saves made in its own admin, but that exemption doesn't apply when the call comes through Joomla's API, which is where MCP tools run. So every one of those emails is off here unless you ask for it.
What Claude can do
There are 33 tools, and every one of them works on AcyMailing Starter.
| Area | Tools | What you can do |
|---|---|---|
| Lists | 5 | List, read, create, update and delete lists, with subscriber counts worked out live rather than taken from AcyMailing's stored counter. |
| Subscribers | 7 | List, read, create, update and delete subscribers, and subscribe or unsubscribe people from lists in bulk. Anyone who unsubscribed is left alone unless you say otherwise. |
| Campaigns | 6 | List, read, create, update and delete campaign drafts, and list the available templates. |
| Sending | 5 | Send a test to up to five addresses, queue a campaign (a dry run unless you confirm), check the queue, pause or resume a campaign that's sending, and cancel it. |
| Reports | 4 | How your lists overlap, duplicate subscribers, whether Events Booking registrants have reached a list, and campaign statistics. |
| Diagnostics | 6 | Component and edition info, a health check, reading and changing configuration with guard rails, and a read-only, redacted look at AcyMailing's own tables. |
Installing it
You'll need Joomla 5 or 6, PHP 8.2 or later, MCP for J, and AcyMailing 10 or 11 from Acyba. Any edition will do โ Starter, Essential or Enterprise.
Install AcyMailing itself from the Joomla admin, not over MCP. AcyMailing's installer calls Joomla's router, which doesn't exist under the API application MCP tools run in, so installing AcyMailing with MCP for J's install_extension tool leaves a half-finished install. Install and update AcyMailing through System โ Install โ Extensions. If it has already happened on your site, reinstall from the admin and run the health check afterwards, because a reinstall over a half-finished install can leave AcyMailing's acymtriggers plugin switched off, and the health check tells you if it is. This add-on installs normally either way.
- Open Components โ MCP for Joomla โ Browse MCP Add-Ons and click Install on this add-on. You can also download the ZIP above and install it through System โ Install โ Extensions.
- That's the whole install. The plugin enables itself, and the tools show up in your AI client the next time it lists them.
There's no admin screen for this plugin, by design. It adds tools to MCP for J rather than a place to click, so if you go looking for a menu entry after installing, that's why there isn't one.
Using it
Start with "Run an AcyMailing health check." It's read-only, and it looks for the things that make AcyMailing quietly not send or send to the wrong people: whether anything will ever process the queue, a lapsed trial that has dropped the site back to Starter, queue rows that will never go out, a From address on a different domain from your site, and list counts that disagree with real membership.
After that, ask in plain language. "How many people are on both the newsletter and the events list?" runs the overlap report. "Draft a campaign to the newsletter list" creates a draft and sends nothing. "Send me a test of it" sends one test to the address you give it.
Queueing a campaign for real takes two steps on purpose. The first call is a dry run that tells you how many distinct people the campaign will reach, list by list, with anyone on several lists counted once. To actually queue it, you confirm and pass that same number back. If a list changed in between and the count no longer matches, the tool refuses, so an approval you gave for 12 people can't quietly become 1,200. Campaigns that use a segment or an A/B test are refused outright, because there's no way to predict who they'll reach.
Queueing isn't quite the same as sending. On Starter the emails go out when someone processes the queue in the AcyMailing admin, and on Essential and Enterprise, AcyMailing's cron sends them. Until then you can pause, resume or cancel, and cancelling does exactly what the Cancel button on AcyMailing's Queue screen does.
If you run events with Events Booking, check_acym_eventbooking_sync compares the people registered for your events with the subscribers of an AcyMailing list. It tells you who's missing from the list and who unsubscribed from it, so they don't get added back. Syncing registrants into an AcyMailing list is a practical way to mail everyone across several events once each, which Events Booking's own Mass Mail can't do. The MCP for Events Booking add-on has its own deduplicated send if you'd rather stay inside Events Booking.
Things AcyMailing does that the tools handle for you
- A partial save blanks fields. Saving a list without every field empties its description and translations, and a campaign does the same to its access restriction. The update tools load the whole record first and show you a before-and-after.
- Deletes over the API skip what you didn't create. When the call comes through Joomla's API, AcyMailing quietly narrows campaign and subscriber deletes to records created by the person making the call, so a delete can report success and remove nothing. The tools use the admin behaviour instead and check the rows are really gone.
- Deleting a subscriber erases their opt-out. The unsubscribe record goes with them, so a later import can add them back. The delete tool says so and suggests deactivating them instead.
- An unsubscribe is one call from being undone. AcyMailing's subscribe action flips an opt-out straight back to subscribed. The bulk subscribe tool skips anyone who unsubscribed unless you specifically allow it.
- Subjects and bodies are stored double-encoded. An accented character looks garbled if you read the database directly. The tools decode and encode the same way AcyMailing does, so what you read and write is ordinary text.
Permissions and security
Some things never come back out. Each subscriber's key, which is what authorises their unsubscribe and profile links, is never returned by the table reader, and it can't be filtered or sorted on either. Neither can mailbox passwords, add-on settings or the value of any credential in AcyMailing's configuration. Test sends only return the mail server's transcript when something fails, with the headers dropped.
The configuration tool writes through AcyMailing's own save, one setting at a time, and re-reads the table afterwards to show nothing else changed. It won't write credentials or cron activation keys. It also won't touch the edition and licence settings, or switch on options AcyMailing only allows on a paid edition, because those belong to Acyba and they aren't ours to unlock.
One thing to keep in mind if you confirm subscribers this way. AcyMailing records the IP address a confirmation came from, and over MCP that's the address of your MCP connection, not the subscriber's. It isn't evidence that the person agreed to anything.
What's in the Pro add-on
Scheduled campaigns and the detailed per-subscriber and per-link statistics are AcyMailing Essential features. Segments, automations, follow-ups, scenarios, custom fields and mailbox actions are Enterprise features. Tools for those ship separately in MCP for AcyMailing Essential & Enterprise, and each of them runs AcyMailing's own edition check and refuses on a site below the edition it needs. Everything on this page is something AcyMailing Starter can already do, which is why it's free. Nobody should be asked to pay us for MCP access to features they already have.
What's been tested
This is version 1.0.0. All 33 tools were run against AcyMailing Starter 10.11.1 on Joomla 6.2 and PHP 8.3, with the writes checked in the database, and they were run again after the site was moved up to Essential and then Enterprise 11.1.0. The deduplication held up: five list memberships across overlapping lists became three queued emails. That testing also caught three problems, which were fixed before release.
Two paths haven't been tried yet. The Events Booking sync check was tested against a stand-in copy of Events Booking's tables rather than a real Events Booking install, and a test send that fails at the mail server hasn't been exercised. If you use either, I'd like to hear how it goes.
Open source
GPL-2.0-or-later, the same license as Joomla itself. Source lives on GitHub.
Add comment