Zanini Site Abilities releases
WordPress site-management abilities for AI agents (Abilities API + MCP)
by Zanini Software · github.com/joezanini/zanini-wp-site-abilities · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/joezanini/zanini-wp-site-abilities/releases/download/v2.0.1/zanini-site-abilities-2.0.1.zipReadme
Zanini Site Abilities
WordPress plugin that registers site-management abilities (WordPress 6.9 Abilities API) and exposes them as MCP tools for AI agents to administer zaninisoftware.com and remediate audit findings.
v2.0.1 fixes MCP Adapter exposure (meta.mcp.public on all zanini-site/* abilities) and documents direct vs adapter transport parity for multi-site deployments (e.g. livingwatershop.net + WooCommerce).
v2.0 adds content lifecycle, media library, taxonomies, navigation, allowlisted settings, operation tokens, Jetpack Forms proxies, and administration tools (~57 MCP tools on zanini-site-mcp).
Prerequisites
- WordPress 6.9+ (Abilities API in core)
- PHP 8.1+
- MCP Adapter plugin ≥ 0.5.0 installed and active
- WordPress Application Password for the agent user (
edit_posts,upload_files,manage_optionsas needed) - Audit baseline from site optimization feature (
audit-findings.json)
See docs/mcp-connection-guide.md for direct vs adapter Cursor configuration (WooCommerce sites). Acceptance procedures: specs quickstart.
Table of Contents
Setup Steps
Follow these steps in order. Each step should take about 1–2 minutes.
Step 1: Install the MCP Adapter plugin
- Download or clone WordPress/mcp-adapter.
- Copy the plugin folder to
wp-content/plugins/on your WordPress site. - In WordPress Admin → Plugins, activate MCP Adapter.
Step 2: Install this plugin
Option A — Upload in WordPress Admin (recommended)
- Open Releases and download
zanini-site-abilities-X.Y.Z.zip(the release asset, not "Source code"). - In WordPress Admin → Plugins → Add New → Upload Plugin, choose that ZIP and click Install Now.
Do not upload GitHub's auto-generated "Source code" archive — it uses a nested folder layout WordPress cannot install.
Option B — Git clone
cd /path/to/wordpress/wp-content/plugins
git clone https://github.com/Joezanini/zanini-wp-site-abilities.git zanini-site-abilities
Step 3: Activate Zanini Site Abilities
- Open WordPress Admin → Plugins.
- Find Zanini Site Abilities and click Activate.
- If activation fails, confirm WordPress is 6.9+ and MCP Adapter is active.
Step 4: Create an Application Password
- Go to Users → Profile (or your admin user profile).
- Scroll to Application Passwords.
- Enter a name (e.g.
cursor-mcp) and click Add New Application Password. - Copy the generated password — you will not see it again.
The user needs at least read for inventory tools and edit_posts / upload_files / manage_options for write tools.
Step 5: Configure Cursor MCP
Direct transport (full tools/list on zanini-site-mcp):
{
"mcpServers": {
"wordpress-zanini-site": {
"url": "https://YOUR-SITE.com/wp-json/zanini-site/mcp",
"headers": {
"Authorization": "Basic BASE64_ENCODED_USER_AND_APP_PASSWORD"
}
}
}
}
Adapter transport (WooCommerce + discover-abilities meta-tools; requires v2.0.1+ for zanini-site/*):
{
"mcpServers": {
"wordpress-http-custom": {
"url": "https://YOUR-SITE.com/wp-json/mcp/mcp-adapter-default-server",
"headers": {
"Authorization": "Basic BASE64_ENCODED_USER_AND_APP_PASSWORD"
}
}
}
}
WooCommerce sites may configure both servers. See docs/mcp-connection-guide.md.
Step 6: Approve writes (findings or operation tokens)
Before any write tool runs, the site owner must provide approval:
- v1 remediation:
finding_idorbatch_id(approved in admin UI or via MCP) - v2 admin writes: exactly one of
finding_id,batch_id, oroperation_token
Option A — Admin UI (findings)
- Go to Settings → Zanini Site Abilities.
- Enter a finding ID (e.g.
perf-mixed-content-69). - Click Approve Finding.
Revoke unused operation tokens from the same settings page.
Option B — MCP tools
zanini-site-register-approved-findings— audit finding/batch IDszanini-site-register-operation-token— single-use admin write tokens
Step 7: Verify tools and run a dry-run
- Restart Cursor (or reload MCP servers).
- Confirm
tools/listincludes v2 tools (e.g.zanini-site-create-post,zanini-site-jetpack-list-forms). - Invoke
zanini-site-list-pages— expect published pages on zaninisoftware.com. - Invoke
zanini-site-fix-mixed-contentwith"dry_run": true, an approvedfinding_id, andpage_id: 69. - Check the response for planned HTTP→HTTPS changes without live edits.
Step 8: Verify capability matrix (optional)
wp zanini-site matrix verify --format=json
See docs/admin-capability-matrix.md.
MCP Tools
v2 exposes ~57 tools on zanini-site-mcp (14 v1 remediation + v2 admin + 8 Jetpack proxies). Highlights:
| Category | Example tools |
|---|---|
| Inventory / remediation (v1) | zanini-site-list-pages, zanini-site-fix-mixed-content |
| Content lifecycle | zanini-site-get-page, zanini-site-create-post, zanini-site-update-page |
| Media library | zanini-site-search-media, zanini-site-upload-media |
| Taxonomies / navigation | zanini-site-list-terms, zanini-site-manage-menu-items |
| Settings | zanini-site-get-settings, zanini-site-update-settings |
| Governance | zanini-site-register-operation-token, zanini-site-introspect-capabilities |
| Jetpack proxy | zanini-site-jetpack-list-forms, zanini-site-jetpack-get-responses |
| Administration (v2.1) | zanini-site-list-plugins, zanini-site-moderate-comment |
Full contract: ability-registry-v2 (specs repo).
See docs/ability-audit-map.md for audit finding traceability.
Troubleshooting
| Symptom | What to check |
|---|---|
| MCP endpoint returns 404 | Plugin and MCP Adapter active; visit Settings → Permalinks and save |
approval_required on writes |
Finding ID approved in Settings → Zanini Site Abilities |
permission_denied |
Application Password user has required capability |
| Abilities missing | WordPress version is 6.9+ |
mcp.public!=true on adapter execute |
Upgrade to v2.0.1+ (sets meta.mcp.public on all abilities) |
| SSE streaming not implemented (direct URL) | Upgrade mcp-adapter ≥ 0.5.0; see docs/transport-diagnostic.md |
| Only WooCommerce in adapter discover | Upgrade Zanini Site Abilities to v2.0.1+ |
Development
cd zanini-site-abilities
composer install
composer test
Optional: composer install generates vendor/autoload.php. Without Composer, the plugin falls back to includes/autoload.php.
License
GPL-2.0-or-later
Read the full README on GitHub →