Wp Audit Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Wp Audit Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP (Model Context Protocol) server for comprehensive WordPress site audits on WP Engine.
This is an MCP server that gives Claude Code specialized tools for auditing and optimizing WordPress sites hosted on WP Engine. Instead of manually running PHP scripts and API calls, you can simply ask Claude to audit a site and it will use these tools automatically.
┌─────────────────────────────────────────────────────────────────┐
│ Your Computer │
│ │
│ Claude Code ◄──stdio──► wp-audit-mcp (Node.js) │
│ │ │
│ ├──SSH──► WP Engine sites │
│ │ (runs WP-CLI/PHP) │
│ │ │
│ └──HTTPS──► CloudFlare API │
└─────────────────────────────────────────────────────────────────┘| Tool | Description |
|---|---|
wp_baseline | Full site audit (content counts, database size, SEO status, plugin artifacts) |
wp_cleanup | Database cleanup (orphaned data, revisions, transients, action scheduler) |
wp_plugin_artifacts | Remove leftover tables/options from deleted plugins |
wp_seo_check | Check meta description coverage |
wp_seo_fix | Auto-generate or manually set meta descriptions |
wp_rocket_fix | Check and optimize WP Rocket settings |
wp_clear_cache | Clear all caches (WordPress, WP Rocket, page builders, WP Engine) |
cloudflare_check | Audit CloudFlare security settings |
cloudflare_fix | Apply recommended CloudFlare settings |
ahrefs_extract | Parse and summarize Ahrefs site audit exports |
#### 1. Node.js 18+
Download from nodejs.org or use a version manager:
# Check your version
node --version # Should be v18.x or higher
# macOS (with Homebrew)
brew install node
# Windows (with Chocolatey)
choco install nodejs
# Linux (Ubuntu/Debian)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs#### 2. Claude Code
Install Claude Code if you haven't:
npm install -g @anthropic-ai/claude-code#### 3. SSH Access to WP Engine
You need SSH key-based authentication to WP Engine sites.
Generate an SSH key (if you don't have one):
ssh-keygen -t ed25519 -C "[email protected]"Add your public key to WP Engine:
~/.ssh/id_ed25519.pubTest the connection:
# Replace SITEID with your WP Engine environment name
ssh [email protected] 'echo "Connected successfully"'#### 4. CloudFlare Global API Key (Optional)
Only needed if you want to use the CloudFlare tools.
Note: Use the Global API Key, not an API Token. The Global API Key works with all zones.
#### Step 1: Clone the Repository
# Clone to a permanent location (not in a project folder)
git clone https://github.com/markahope-aag/wp-audit-mcp.git ~/wp-audit-mcp
# Or on Windows
git clone https://github.com/markahope-aag/wp-audit-mcp.git C:\tools\wp-audit-mcp#### Step 2: Install Dependencies and Build
cd ~/wp-audit-mcp # or C:\tools\wp-audit-mcp on Windows
# Install Node.js dependencies
npm install
# Build the TypeScript code
npm run buildYou should see a dist/ folder created with the compiled JavaScript.
#### Step 3: Configure Claude Code
Claude Code uses a .mcp.json file to know about MCP servers. You need to add this server to that file.
Option A: Use the configure script
# Run from your project directory (where you use Claude Code)
~/wp-audit-mcp/configure.sh .
# Windows
C:\tools\wp-audit-mcp\configure.sh .Option B: Manual configuration
Create or edit .mcp.json in your project directory:
{
"mcpServers": {
"wp-audit": {
"command": "node",
"args": ["/Users/yourname/wp-audit-mcp/dist/index.js"]
}
}
}Important: Use the full absolute path to dist/index.js:
/Users/yourname/wp-audit-mcp/dist/index.jsC:/tools/wp-audit-mcp/dist/index.js (use forward slashes)#### Step 4: Restart Claude Code
# Start Claude Code in your project directory
cd /path/to/your/project
claudeWhen Claude Code starts, it will automatically start the MCP server. You should see it connect without errors.
#### Step 5: Verify Installation
Ask Claude:
What MCP tools do you have available for WordPress audits?Claude should list the wp_baseline, wp_cleanup, and other tools.
The .mcp.json file tells Claude Code which MCP servers to start. It can be placed in:
~/.mcp.json) - Tools available globallyExample with multiple servers:
{
"mcpServers": {
"wp-audit": {
"command": "node",
"args": ["/Users/yourname/wp-audit-mcp/dist/index.js"]
},
"memory": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-memory"],
"env": {
"MEMORY_FILE_PATH": "./.claude/memory.json"
}
}
}
}The MCP server uses SSH to connect to WP Engine and run WP-CLI commands:
# This is what happens behind the scenes
ssh [email protected] 'wp eval-file /tmp/script.php'The site_id parameter you provide is the WP Engine environment name, which you can find in:
my.wpengine.com/installs/SITEIDFor convenience, you can add WP Engine sites to ~/.ssh/config:
Host wpengine-mysite
HostName mysite.ssh.wpengine.net
User mysite
IdentityFile ~/.ssh/id_ed25519This doesn't affect how the MCP server works, but makes manual SSH easier.
Once installed, just talk to Claude naturally:
Audit the WordPress site "mysite" on WP EngineOr be more specific:
Use wp_baseline with site_id "mysite"You: I need to audit the site "clientsite" - check SEO, clean up the database,
and fix CloudFlare settings. Zone ID is abc123def456.
Claude: I'll run a comprehensive audit. Let me start with the baseline...
[Uses wp_baseline]
Now checking SEO meta descriptions...
[Uses wp_seo_check]
I found 15 pages missing meta descriptions. Should I auto-generate them?
You: Yes, generate them.
Claude: [Uses wp_seo_fix with mode "auto"]
Done. Now checking CloudFlare...
[Uses cloudflare_check]
Found issues: SSL is "flexible" (should be "full"), TLS 1.0 (should be 1.2).
Should I fix these?
You: Yes, fix all CloudFlare issues.
Claude: [Uses cloudflare_fix]
All CloudFlare settings updated. Let me clear all caches...
[Uses wp_clear_cache]
Audit complete! Here's the summary...Run comprehensive baseline audit on a WordPress site.
Parameters:
site_id: WP Engine environment name (required)
Returns: Content counts, database size, orphaned data, SEO status,
WP Rocket settings, deleted plugin artifactsClean orphaned data and optimize database.
Parameters:
site_id: WP Engine environment name (required)
delete_revisions: Delete post revisions (default: true)
Actions: Removes orphaned postmeta, termmeta, commentmeta, auto-drafts,
transients, old action scheduler entries. Closes pingbacks.Remove database artifacts from deleted plugins.
Parameters:
site_id: WP Engine environment name (required)
plugins: Array of plugins to clean (optional - cleans all if empty)
Options: yoast, rankmath, aioseo, wsal, revslider,
layerslider, woocommerce, jetpack
dry_run: Preview changes without applying (default: false)
Actions: Drops orphaned tables, deletes leftover optionsCheck meta description status for pages/posts.
Parameters:
site_id: WP Engine environment name (required)
post_type: 'page', 'post', or 'all' (default: 'page')
Returns: Count of pages with/without meta descriptions, list of missingAdd meta descriptions to content.
Parameters:
site_id: WP Engine environment name (required)
mode: 'auto' or 'manual' (default: 'auto')
post_type: For auto mode (default: 'page')
descriptions: For manual mode - {postId: "description"} object
dry_run: Preview changes (default: false)
Auto mode: Extracts first 155 chars from page content
Manual mode: Sets specific descriptions for specific post IDsCheck and fix WP Rocket settings.
Parameters:
site_id: WP Engine environment name (required)
dry_run: Preview changes (default: false)
Fixes: Enables cache preload, sitemap preload, lazy loading, mobile cacheClear all caches on the site.
Parameters:
site_id: WP Engine environment name (required)
Clears: WordPress object cache, transients, WP Rocket, WP Super Cache,
Elementor, Beaver Builder, Divi, WP Engine page cacheCheck CloudFlare security and performance settings.
Parameters:
zone_id: CloudFlare Zone ID (required)
email: CloudFlare account email (required)
api_key: CloudFlare Global API Key (required)
Checks: SSL mode, min TLS version, HSTS, Bot Fight Mode,
AI bot protection, crawler protectionApply recommended CloudFlare settings.
Parameters:
zone_id: CloudFlare Zone ID (required)
email: CloudFlare account email (required)
api_key: CloudFlare Global API Key (required)
fix_ssl: Fix SSL to 'full' (optional)
fix_tls: Fix min TLS to 1.2 (optional)
fix_hsts: Enable HSTS with 6-month max-age (optional)
fix_bots: Enable bot protection (optional)
fix_all: Apply all fixes (default: auto-detects what's needed)Extract and summarize an Ahrefs site audit ZIP file.
Parameters:
zip_path: Full path to Ahrefs ZIP export (required)
output_dir: Directory to extract to (optional)
Returns: Summary of errors, warnings, and notices from the auditwp_baseline - Understand the site's current stateahrefs_extract - Parse Ahrefs audit file if providedcloudflare_check → cloudflare_fix - Fix security settingswp_cleanup → wp_plugin_artifacts - Clean up databasewp_seo_check → wp_seo_fix - Fix missing meta descriptionswp_rocket_fix - Optimize WP Rocketwp_clear_cache - Clear all cachesssh [email protected] 'echo test'site_id matches the WP Engine environment name exactly.mcp.json is absolute and correctnpm run build completed without errorsdist/index.js exists.mcp.json is in the current directory# Run in development mode (watches for changes)
npm run dev
# Build for production
npm run build
# The server communicates via stdio, so to test manually:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/index.jsMIT
Issues and pull requests welcome at github.com/markahope-aag/wp-audit-mcp.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.