WP MCP Connect Lite self-updates
Headless WordPress MCP REST connector — lite variant (no admin dashboard)
by ftw.digital · github.com/dawsman/wp-mcp-connector-lite · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/dawsman/wp-mcp-connector-lite/archive/refs/heads/main.zipShips its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.
Give your AI a WordPress backstage pass.
A headless WordPress plugin that opens 66 REST endpoints for MCP clients
to manage SEO, redirects, media, audits, analytics, and content — through plain conversation.
Pair with any MCP-compatible client — Claude Desktop, Cursor, VS Code — and talk to your site.
✨ What is this?
WP MCP Connect Lite is the WordPress half of an MCP integration. It runs quietly inside your site, exposing a dense REST surface that an MCP server can call to read content, edit metadata, audit health, map internal links, and far more.
🪶 Lite? This package is the plugin only — no React admin dashboard, no Node server bundled.
Bring your own MCP server (or use the companion repo) and point it at your site.
🧭 At a glance
🔍 SEOTitle tags, meta descriptions, Open Graph, JSON-LD schema. Bulk edit, focus keywords, cornerstone flags. |
🪄 AuditsSurface broken links, thin content, missing alt text and orphaned pages — with fixes you can apply. |
↪️ RedirectsCustom post type with import/export, enable/disable toggles, and 404-log promotion. |
🩺 Health scoresScore any post 0-100 on SEO completeness, freshness and internal linking, in bulk or one at a time. |
🗺️ TopologyMap internal-link graphs, cluster siblings, suggest links for orphaned posts, detect duplicates. |
📬 ReportsWeekly SEO health digest with email delivery and a queryable audit log. |
🏗️ How it fits together
flowchart LR
A["🤖 MCP Client"] -->|stdio| B["🟢 MCP Server"]
B -->|"HTTPS + App Password"| C["🐘 WordPress + this plugin"]
C --> D[("💾 Database")]
style A fill:#0b0d12,stroke:#3858E9,color:#fff,stroke-width:2px
style B fill:#22c55e,stroke:#15803d,color:#fff,stroke-width:2px
style C fill:#3858E9,stroke:#1e3a8a,color:#fff,stroke-width:2px
style D fill:#1e1b4b,stroke:#a78bfa,color:#e9d5ff,stroke-width:2px
Your MCP client talks to a thin Node server. That server hits *`/wp-json/mcp/v1/`** on your site, which this plugin registers and authenticates using a WordPress Application Password.
🚀 Quick start
1️⃣ Install
2️⃣ Activate
3️⃣ Generate an Application Password
4️⃣ Point your MCP server at the site
|
🧩 Endpoint surface
66 REST routes — click to expand a sampler| Namespace | Examples |
|---|---|
| Content | /content/broken-links · /content/thin · /content/orphaned · /content/clusters · /content/duplicates |
| SEO | /seo/bulk · /seo/meta-suggest · /seo/plugins · focus keyword + cornerstone flags |
| Redirects | redirects CPT · /redirects/io (import/export) · 404 → redirect promotion |
| Audits | /audit/summary · /audit-log · /tasks queue · CSV export |
| Analytics | /analytics/popular-posts · topology · health-score |
| Media | /content/broken-images · alt-text bulk · media-extended |
| Comments | /comments/pending · /comments/moderate · /comments/bulk-moderate |
| Ops | /batch (multi-call) · /api-access · webhooks · settings |
All routes live under /wp-json/mcp/v1/ and require an authenticated user with manage_options.
🔐 Authentication
Auth is handled exclusively through WordPress Application Passwords — no custom token store, no OAuth detour, no plaintext credentials in transit. Revoke in one click from the user profile screen.
GET /wp-json/mcp/v1/audit/summary HTTP/1.1
Host: your-site.com
Authorization: Basic <base64(username:app_password)>
🧪 Local development
composer install
bin/test-local.sh # run the test suite (handles the setup below)
vendor/bin/phpcs # lint to WordPress coding standards
vendor/bin/phpcbf # auto-fix style issues
./build.sh # produce a distributable zip
Requires PHP 7.4+ and WordPress 5.0+. Tested up to WordPress 6.7.
Testing
The suite runs against the real WordPress test library, so it needs a throwaway
database and a copy of WordPress core. bin/test-local.sh (or composer test:local) does the lot: it starts a MySQL container on port 33306, downloads
the test library into ~/.cache/wp-mcp-connect-tests — outside the repo,
because the generated config hard-codes an absolute path — runs php -l over
every source file, then PHPUnit. Add --teardown to remove the container when
you're finished, or --fresh to rebuild everything from scratch. To point
PHPUnit at an existing install instead, set WP_TESTS_DIR and run
vendor/bin/phpunit directly. The same steps run on every push through the
test job in .github/workflows/release.yml, and a release cannot publish
unless they pass on both PHP 7.4 and 8.2.
🗣️ What you can ask your MCP client
Once connected, the client speaks WordPress on your behalf:
"Find every post missing a meta description and draft one for each."
"Score my service pages for content health and show me the worst five."
"Create a redirect from/old-offerto/new-offerand resolve the 404."
"List orphaned posts and suggest internal links from cluster siblings."
"Add FAQ schema to the pricing page."
"Email me the weekly SEO health report."
📦 Releases & updates
Releases ship as zips under GitHub Releases. The plugin self-checks update-info.json so updates appear in the WordPress admin like any other plugin.
📝 License
Released under the GPL-2.0+ license. Use it, fork it, ship it.
Built by ftw.digital — give your AI a WordPress backstage pass.