MCP for EasyBlog is a Pro add-on for MCP for J that puts your EasyBlog in front of your AI client. Sixty-five tools cover posts and their revision history, categories, tags, comments and the moderation queue, subscribers, the mail queue, bloggers, teams, custom fields, media, polls, engagement reporting, configuration and a health audit. It reads a post's authored content from the revision layer rather than from the post table, because those columns are a render cache with your shortcodes already expanded — reading them and writing them back would destroy the shortcodes permanently, and that's the sort of thing this add-on exists to know about on your behalf.
Why this exists
EasyBlog is a big component with seventy-two live tables, and a surprising amount of what it stores isn't where you'd expect to find it. Two examples shaped every tool here. The first is that intro and content on the post row are output, not input: EasyBlog rewrites them after expanding and stripping your {video}, {gallery}, {pdf} and {audio} shortcodes, so anything that reads those columns and saves them back has quietly flattened your post. The authored source is JSON on the revision row, and that's what the read tools return.
The second is that a default EasyBlog save deletes and rebuilds a post's categories, tags, custom-field answers and language associations from whatever happens to be in memory at the time. For an older post with no revision row that's nothing, so an innocent-looking save can wipe every secondary category and custom-field answer on it. EasyBlog's own publish routine sets four skip flags for exactly this reason, and so does every write tool here unless you explicitly supplied that data. There's also a tool that tells you what a naive save would cost on a given post before you make it.
What Claude can do
Sixty-five tools across sixteen domains, grouped roughly the way you'd reach for them.
| Area | Tools | What you can do |
|---|---|---|
| Posts | 12 | List with filters, read, read the authored content, create, update, change state, trash, restore, delete, set categories, feature, and check what a save would cost before making it. |
| Revisions | 3 | List a post's revision history, read one, restore one. This is where the content you actually wrote lives. |
| Categories and tags | 8 | Full category CRUD over a nested set whose ordering is rebuilt on save, plus listing, creating and deleting EasyBlog's own tags — which are a separate taxonomy from Joomla's. |
| Comments and moderation | 9 | List and read comments, approve, unpublish or delete them, see which comment system is in use, and work the pending-post queue: what's waiting, approve, reject, and the rejection history. |
| Subscribers | 4 | List and remove subscriptions, audit subscription hygiene, and preview exactly who a post would email before anything is sent. |
| Mail queue | 4 | Read-only inspection of what's queued, queue statistics, notification history, and a purge. |
| Bloggers and teams | 7 | List and read blogger profiles and update one, plus teams, their membership and their join requests. |
| Custom fields | 4 | Field and field-group definitions, and reading or setting a post's answers. |
| Media and polls | 4 | Browse the media EasyBlog actually keeps on disk with storage stats, and read polls with their results. |
| Reports | 3 | Blog-wide statistics, an engagement report over ratings, reactions and favourites, and the abuse-report queue. |
| Config and diagnostics | 4 | Read and write configuration safely, component info, and a site-wide health audit. |
| Table access | 3 | List and describe EasyBlog's own tables, plus a read-only, column-validated query for the question no tool anticipated. |
Installing it
You'll need Joomla 5 or 6, PHP 8.2 or later, MCP for J, a Cybersalt Pro membership, and EasyBlog itself — a separate commercial product you subscribe to from Stack Ideas. Without EasyBlog installed, every tool here refuses.
- Subscribe above, or get this and every other Pro add-on with MCP for J Pro — All Access.
- Download the ZIP and install it through System → Install → Extensions, or paste your download URL into Install from URL.
- That's the whole install. The plugin enables itself, and the tools show up in your connected 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.
One thing that surprises people: there's no edition gate to worry about. EasyBlog has no free edition, all twenty-three site themes ship on disk unconditionally, and nothing in the product tests a licence at runtime. The subscription buys you updates and support, not capability, so "installed" really does mean "licensed" and there's nothing here for an add-on to route around.
Using it
Ask for what you want in plain language. "What's sitting in the moderation queue and how long has it been there?" reads the pending queue. "Who would actually get an email if I published this post?" runs the audience preview without sending anything. "Show me the last month's engagement by post" runs the engagement report.
If you're new to it, run the health audit first. It's read-only, it takes one call, and it'll tell you things about your blog you probably didn't know.
Writes never send EasyBlog notification mail
This is the limitation to understand before you start, and it's deliberate rather than an oversight.
Publishing a post through Joomla's API application seeds EasyBlog's mail queue with broken permalinks. Joomla's own root-URL helper resolves to https://yoursite/api/ in that context, and it caches that answer independently of the application object, so there's no way to swap the application and fix it after the fact. EasyBlog then drains that queue on ordinary front-end page loads by default — so the broken links would go out to your subscribers on the next visitor.
Rather than ship that, no tool here can send or queue EasyBlog mail. Post saves force EasyBlog's own skip-notifications and skip-autopost flags off, and the state transitions that would notify are refused with an explanation: a post's first publish, plus the pending and scheduled states. Re-publishing a post that has been published before is allowed, because EasyBlog only notifies on the transition out of never-published. In practice that means you do a post's first publish in the EasyBlog admin interface, and everything after that works from here.
Things EasyBlog can't tell you about itself
Two of the tools here exist because there's no other way to get the answer.
The audience preview reproduces EasyBlog's own recipient query for a post without sending anything, so you can see who'd be mailed and why. Running it surfaces two behaviours a site owner can't otherwise observe: for a team post whose team isn't members-only, team subscribers silently receive nothing, and with custom notification groups configured the ordinary subscriber branch never runs at all. The subscription hygiene audit covers the compliance side, and the load-bearing finding there is that unsubscribing is a hard delete with no record kept. There's no suppression list and no opt-out flag, so re-adding an address silently resubscribes somebody who asked not to be, and nothing in EasyBlog can detect that it happened.
Two smaller findings are worth naming because they're the sort of thing you'd otherwise hit the hard way. EasyBlog's own admin Reports screen appears to be broken in 6.0.18 — the template calls a helper method that doesn't exist with that signature — which makes this add-on's reported-posts tool the only working view of your abuse-report queue. And EasyBlog's blogger-profile table shares its primary key with Joomla's user table, but the vendor's table class creates the row when it's missing, so reading a profile through it writes to your database as a side effect. Every blogger tool here uses plain SQL instead, so a read stays a read.
Saves that would cost you data
Beyond the satellite-table rebuild, EasyBlog's configuration has a format problem the write tool has to navigate. Its settings blob is seeded as JSON at install, but the component's own settings save writes it back as INI, so the first time anyone saves the Settings screen the whole thing converts. From then on each save strips one level of backslashes from every value that has them, cumulatively — and the settings people put backslashes in are the risky ones, like embed code and blocked-word lists. The configuration tool detects which format your site is actually on, reports it, and refuses a write it knows would be lossy. It also reads back through direct SQL, because EasyBlog's static caches make a read-after-write stale.
Scoped table access has some deliberate gaps too. Six EasyBlog table names survive in older databases with no live code reading them any more, and the table tools exclude them by name rather than handing back data whose meaning nobody can vouch for.
Open source
GPL-2.0-or-later, the same license as Joomla itself. Source lives on GitHub.
Add comment