About Auditra
Auditra is a read-only WordPress plugin that exposes site and plugin-audit data to MCP-capable AI clients. It gathers site facts without scoring or recommendations, leaving interpretation to the client.
Key features
- 01Inspect plugin inventory and site context
- 02Collect options, cron, tables, and feature usage
- 03Attribute data to plugins with confidence levels
- 04Enrich findings from cached external sources
- 05Read-only MCP endpoint with nine tools
Use cases
- 01Checking plugins for known vulnerabilities
- 02Finding autoloaded options that add bloat
- 03Inspecting cron jobs and database tables
- 04Tracing leftover data to deleted plugins
MCP support
Exposes nine read-only tools through a WordPress REST endpoint using MCP over JSON-RPC 2.0. MCP clients can query site and plugin data; responses include coverage and freshness metadata.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://{site_domain}/wp-json/auditra/v1/mcp/{token}claude mcp add --transport http mwstech-auditra https://{site_domain}/wp-json/auditra/v1/mcp/{token}{"mcpServers":{"mwstech-auditra":{"type":"http","url":"https://{site_domain}/wp-json/auditra/v1/mcp/{token}"}}}Open in Cursor{"servers":{"mwstech-auditra":{"type":"http","url":"https://{site_domain}/wp-json/auditra/v1/mcp/{token}"}}}Open in VS Code{"mcpServers":{"mwstech-auditra":{"type":"http","url":"https://{site_domain}/wp-json/auditra/v1/mcp/{token}"}}}{"mcpServers":{"mwstech-auditra":{"serverUrl":"https://{site_domain}/wp-json/auditra/v1/mcp/{token}"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEAuditra
A WordPress plugin that turns the site it is installed on into a read-only MCP server, so any MCP-capable AI client (Claude custom connectors, and others) can inspect and reason about that site's plugin estate in plain language.
Ask "which of my plugins are vulnerable?", "what's bloating my options table?", or "what did deleted plugins leave behind?" — and get answers grounded in the actual state of the site.
How it works
Three layers inside one plugin, one REST route, no runtime dependencies:
- Transport —
POST /wp-json/auditra/v1/mcp/{token}speaking MCP over JSON-RPC 2.0 (plain JSON responses, stateless). Both protocol generations are served, decided per request: revision2026-07-28(per-request metadata,server/discover,Mcp-*header validation) and theinitialize-handshake revisions2025-11-25/2025-06-18/2025-03-26. Token-in-path auth behind a swappable interface, Origin validation, rate limiting, failed-auth logging. - Collectors — read WordPress directly: inventory, site context, autoloaded options, cron, database tables, content-feature usage, and a three-tier attribution engine that maps options/tables/hooks back to owning plugins with explicit confidence levels (
high= curated,medium= derived, or visibly unattributed). - Enrichment — two external services, wordpress.org and WPVulnerability, both keyless, both cached, both degrading silently with per-source coverage reporting and progressive backoff (15 min → 24 h) on failures. Support lifecycle dates for PHP, MySQL and MariaDB are not fetched at all: they ship in
includes/data/lifecycle.json, compiled from each vendor's published policy.
Nine tools; every response carries _meta (totals, truncation, sources unavailable, timestamps) and stays within a 20 KB budget. The server reports facts, never verdicts — scoring and advice are deliberately absent, because that's the AI client's job. The full design record lives in docs/DECISIONS.md.
Connect it to an AI client
- Tools → Auditra in wp-admin: enable the endpoint, generate a token, copy the connection URL.
- In Claude: Settings → Connectors → Add custom connector, paste the URL (must be
https://). - Ask questions. Start with "what can you tell me about this site's plugins?"
The site must be publicly reachable over HTTPS with pretty permalinks enabled. Clients on revision 2026-07-28 get a 24-hour freshness hint on tools/list, so a tool added by a plugin update appears within a day on its own; older revisions have no expiry signal, so reconnect the connector after updating to pick up new tools.
Contributing
The easiest genuinely useful contribution is a pull request against
includes/data/prefix-overrides.json — the curated map from plugin slugs to the option/table prefixes they actually use (Contact Form 7 → wpcf7_). Every entry improves attribution accuracy for every user. See CONTRIBUTING.md.
Development
composer install # dev-only: PHPCS + WordPress Coding Standards (pinned)
composer lint
php tests/mcp-client.php https://example.com/wp-json/auditra/v1/mcp/{token}
tests/mcp-client.php is the CLI harness that exercises the endpoint without an AI client in the loop; tests/seed-conditions.sh builds a deliberately messy test site (and teardown-conditions.sh reverses it exactly). CI runs a PHP lint matrix (7.4–8.4), PHPCS, and a grep gate that fails the build if any write operation ever appears in the plugin code.
Security
See SECURITY.md for the supported versions and how to report a vulnerability privately.
License
GPL-2.0-or-later.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.