Auditra

io.github.mwstechPublished by GitHub account mwstechv1.0.2Updated Oct 24, 2026

Read-only MCP server for WordPress plugin audits: vulnerabilities, bloat, cron, orphaned tables.

VerifiedStreamable HTTPWeb executableDatabasesDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Turns a WordPress site into a read-only MCP endpoint so an assistant can audit its plugins, vulnerabilities, cron jobs and database tables.

What you can do
Auditra is a WordPress plugin that exposes the site it runs on as a read-only MCP server over a REST route. Its nine tools read the site directly: plugin inventory, site context, autoloaded options, cron schedules, database tables, content-feature usage, and an attribution engine that maps options, tables and hooks back to owning plugins with explicit confidence levels. It enriches results with keyless data from wordpress.org and WPVulnerability, and reports facts rather than scores or advice.
When to use it
Use it when you want an AI client to answer questions about a specific WordPress site's plugin estate in plain language, such as which plugins are vulnerable, what is bloating the options table, or what deleted plugins left behind. It suits site owners and maintainers who want read-only inspection rather than automated changes.
Requirements
The WordPress site must be publicly reachable over HTTPS with pretty permalinks enabled. The plugin must be installed and the endpoint enabled in wp-admin, where a token is generated and a connection URL copied. The URL is pasted into an MCP client as a custom connector. No runtime dependencies or API keys are declared.
Before you install
The connection URL embeds a token in the path, so treat it as a secret and avoid sharing it. The endpoint is publicly reachable, so anyone with the URL could query the site's plugin data. The server is described as read-only, with a CI gate that fails if a write operation appears in the code, but it still sends site data to external services wordpress.org and WPVulnerability for enrichment.

Installation

In SourceWeft

  1. Open Auditra in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Follow the launch instructions in the repository.

README

Auditra

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: revision 2026-07-28 (per-request metadata, server/discover, Mcp-* header validation) and the initialize-handshake revisions 2025-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

  1. Tools → Auditra in wp-admin: enable the endpoint, generate a token, copy the connection URL.
  2. In Claude: Settings → Connectors → Add custom connector, paste the URL (must be https://).
  3. 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 lintphp 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.

Source: README.md at commit cff5b4f

Tools

0
SourceWeft has not read this server's tools yet.

Version history

2
  1. v1.0.2LatestOct 6, 2026
  2. v1.0.0Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts