An MCP server for WordPress plugin audits.
Install it, enable the endpoint, paste the URL into Claude or any other MCP client. Then ask what your plugins are actually doing.
The plugins screen in wp-admin tells you three things: name, version, description. It does not tell you that a plugin someone deleted in 2019 still loads 19 KB of options on every request. It does not tell you that the contact form nobody has run in years left 642 rows of names and email addresses in a table no privacy tool on the site can see. It does not tell you which of your two SEO plugins is generating the sitemap Search Console actually reads.
Those are the questions that matter on a site that has been alive for a decade. This is how you ask them.
What it answers
Nine tools. All read-only.
- InventoryEvery plugin, including must-use plugins and drop-ins, which never appear on the plugins screen at all.
- VulnerabilitiesMatched against the version you actually have installed, not just the slug.
- Supply-chain auditsPlugins whose ownership or update channel has been compromised. Reported separately from CVEs, because they mean something different.
- End of lifeWhether your PHP, WordPress, and database versions are still supported.
- Health signalsTime since last update, tested-up-to version, and whether a plugin has been pulled from the directory.
- Autoloaded weightHow many bytes each plugin adds to every page load, attributed by owner.
- CronScheduled events per plugin, and orphaned events still firing from plugins that were deleted.
- DatabaseCustom tables with sizes, and orphan tables left by plugins nobody remembers installing.
- UsageWhich shortcodes and blocks a plugin registers, and how often they actually appear in your content.
The interesting answers come from combining those. Ask what a site's leftover junk is and you get archaeology — orphaned tables and stranded options traced back to the plugin that left them, years after it was removed.
What it won't do
It cannot change anything. No activating, deactivating, deleting, or updating. That is structural rather than a promise: the codebase contains no call to any WordPress function that writes plugin state, and the build fails if one is ever added.
It reports facts, not verdicts. The server returns numbers and flags with documented thresholds. It never says a plugin is abandoned, dangerous, or safe to delete. Your AI client does the reasoning, which means the analysis improves as models improve, without the plugin shipping an update.
It does not measure per-plugin runtime cost. Nothing can, without a profiler drop-in. Plenty of tools publish a performance score anyway. This one tells you it cannot measure that, and gives you autoload bytes, cron counts, and table sizes as the honest proxies.
It says when it doesn't know. If a data source is unreachable, the response says which one, why, and exactly which plugins went unchecked — by name. If nothing could be checked at all, it returns no findings list rather than an empty one. An empty list reads as “clean,” and that is the most dangerous thing a security tool can imply.
How it works
- Install the plugin and activate it.
- Go to Tools → Auditra, enable the endpoint, and generate a token.
- Copy the connection URL into your AI client's connector settings.
- Start a new conversation and ask something.
The endpoint is disabled on install and does nothing until you turn it on. The token is revocable from the same screen at any time.
Where the data comes from
Each site is its own MCP server. There is no service in the middle, no account to create, and no data of yours held anywhere. The plugin talks to three public APIs — the WordPress.org plugin API, WPVulnerability, and endoflife.date — and sends them plugin slugs and version strings. Nothing else leaves the site. No content, no user data, no telemetry.
It supports both the current stateless MCP core and the previous protocol generation, so it works regardless of which spec version your client is on.
Free, and open source
Free on the WordPress.org plugin directory, GPL licensed, with the full source and every design decision documented on GitHub.
Free because it costs us nothing to run. Every install talks directly to public APIs from the site it is installed on, so there is no infrastructure bill that would eventually make us regret the word.
The most useful contribution is the prefix map — the file connecting an option name like wpcf7_ back to Contact Form 7. That mapping can never be complete, and every entry added sharpens attribution for everyone.
