Roots & Fruit Abilities
WordPress agent abilities for Cursor via MCP Adapter - content, blocks, preview, snippets, safe updates.
by Roots & Fruit · github.com/roots-and-fruit/abilities · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/roots-and-fruit/abilities/releases/download/v1.6.3/abilities-1.6.3.zipDeclares an update source (https://github.com/Roots-and-Fruit/abilities), so updates arrive through the plugin's own updater.
Readme
=== Roots & Fruit Abilities === Contributors: rootsandfruit Tags: abilities, mcp, ai, agents, blocks Requires at least: 6.9 Tested up to: 6.9 Requires PHP: 8.0 Stable tag: 1.6.3 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html
Registers Roots & Fruit agent abilities for the WordPress Abilities API and MCP Adapter.
== Description ==
Provides a consistent, least-privilege ability surface for Cursor agents via MCP Adapter.
== Ability catalog ==
- rootsandfruit/ping
- rootsandfruit/purge-breeze-cache
- rootsandfruit/get-robots-llms-txt
- rootsandfruit/update-robots-llms-txt
- rootsandfruit/enable-public-preview
- rootsandfruit/get-public-preview-url
- rootsandfruit/list-posts
- rootsandfruit/get-post
- rootsandfruit/create-draft
- rootsandfruit/update-post
- rootsandfruit/publish-post
- rootsandfruit/set-post-author
- rootsandfruit/set-key-takeaways
When Block MCP (gk-block-mcp) is active:
- rootsandfruit/blocks-get-page
- rootsandfruit/blocks-update
- rootsandfruit/blocks-mutate
- rootsandfruit/blocks-insert
- rootsandfruit/blocks-create-page
- rootsandfruit/blocks-list-patterns
When FluentSnippets is active:
- rootsandfruit/snippets-list
- rootsandfruit/snippets-get
- rootsandfruit/snippets-create
- rootsandfruit/snippets-update
- rootsandfruit/snippets-activate
- rootsandfruit/snippets-deactivate
- rootsandfruit/snippets-verify
When WP Rollback is active:
- rootsandfruit/plugin-update-safe
- rootsandfruit/plugin-update-git-safe (when Git Updater is active)
== Dependencies ==
- WordPress 6.9+ (Abilities API)
- MCP Adapter plugin (for Cursor MCP discovery)
- Public Post Preview plugin (preview abilities register only when this plugin is active)
- Block MCP by GravityKit (block abilities; see below)
- FluentSnippets plugin (snippet abilities; see below)
- WP Rollback plugin (plugin-update-safe; see below)
== Block editor bridge ==
When gk-block-mcp is active, block abilities register on the same MCP Adapter surface. Use blocks-* for Gutenberg body edits; use update-post for title/excerpt only on block posts.
== Safe plugin updates ==
Requires update_plugins (admin MCP user, not the content agent role).
- Call
rootsandfruit/plugin-update-safewith a WordPress.org plugin slug. - Ability captures pre-update version, updates from wordpress.org, smoke-tests homepage.
- On smoke failure, rolls back via WP Rollback step runner (not REST).
== Custom abilities via FluentSnippets ==
- Create a snippet with
rootsandfruit/snippets-create(taggedrf-ability, saved as draft). - Use
templates/rf-ability-snippet.example.phpandrf_register_agent_abilities()insidewp_abilities_api_init. - Activate with
rootsandfruit/snippets-activateafter review. - Call
rootsandfruit/snippets-verifyafter update/activate to loopback-check runtime (returnsokanderrorin one call). - Custom
rootsandfruit/*abilities in the snippet appear in MCP discover.
Snippet management requires unfiltered_html (typically administrator).
== robots.txt / llms.txt updates ==
Requires custom capability update_robots_llms_txt (granted to Administrator on activate/upgrade).
rootsandfruit/get-robots-llms-txtwithfile:robots,llms, orllms-full— returnscontentandsha256.- Edit locally (see agent repo
content/discovery/). rootsandfruit/update-robots-llms-txtwithcontent,expected_sha256from step 1, optionaldry_run,purge_breeze.- Update-only: files must exist at the document root; no create or delete via MCP.
Disable writes in wp-config: define( 'RF_ROBOTS_LLMS_TXT_WRITABLE', false );
Use an administrator Application Password — not the content agent role (unless you explicitly grant update_robots_llms_txt).
== Agent role capabilities ==
Recommended custom role caps:
- read, edit_posts, publish_posts, upload_files
- edit_published_posts, edit_others_posts (if editing existing content)
- No delete_*, manage_options, update_robots_llms_txt, or plugin caps
== Installation ==
- Copy the plugin folder to wp-content/plugins/rootsandfruit-abilities/
- Activate via Plugins screen
- Activate gk-block-mcp for block editor abilities
- Confirm abilities appear in Abilities Explorer
- Run audit-mcp-abilities.ps1 from the rootsandfruit-as-client repo
== Changelog ==
= 1.6.2 =
- Add rootsandfruit/set-key-takeaways for LCF _rf_key_takeaways ordered-list repeater (1–12 items; sidebar HTML + JSON-LD).
= 1.6.1 =
- Fix plugin-update-git-safe: pass Git Updater override=1 when target_version/tag is set (release-asset deploys).
= 1.6.0 =
- Add
update_robots_llms_txtcapability (Administrator on activate/upgrade). - Add rootsandfruit/get-robots-llms-txt and update-robots-llms-txt for robots.txt, llms.txt, llms-full.txt (update-only, sha256 concurrency, .bak backup, verify).
- ping reports robots_llms_txt_writable and capability name.
= 1.5.4 =
- Add rootsandfruit/plugin-update-git-safe: flush Git Updater cache, nudge wp-cron, update-api, install with tag/override, smoke test, Breeze purge, rollback on failure.
- Resolves Git Updater slug vs plugin directory slug (e.g. abilities vs rootsandfruit-abilities).
= 1.5.3 =
- Add rootsandfruit/purge-breeze-cache (server-side Breeze purge; optional post_id).
- set-post-author: optional purge_breeze; breeze_purge_command in response; ping reports breeze_active.
= 1.5.2 =
- Fix plugin-update-safe: accept array-shaped
versionsfrom plugins_api (WordPress.org updates no longer fail with a false outbound-HTTP error).
= 1.5.1 =
- Fix GitHub release zip paths (forward slashes) for Linux/Git Updater installs.
= 1.5.0 =
- Add rootsandfruit/set-post-author for MCP article publish workflow (user ID or login).
- Returns breeze_purge_reminder after byline changes.
= 1.4.0 =
- Block MCP bridge: six rootsandfruit/blocks-* abilities when gk-block-mcp is active.
- ping reports block_mcp_active; update-post rejects block body HTML when inappropriate.
- GitHub Plugin URI headers for Git Updater.
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| v1.6.3 | Jul 20, 2026 | abilities-1.6.3.zip | 1 |
| v1.6.2 | Jun 30, 2026 | abilities-1.6.2.zip | 2 |
| v1.6.1 | Jun 28, 2026 | abilities-1.6.1.zip | 3 |
| v1.6.0 | Jun 28, 2026 | abilities-1.6.0.zip | 5 |
| v1.5.4 | Jun 27, 2026 | abilities-1.5.4.zip | 3 |
| v1.5.3 | Jun 27, 2026 | abilities-1.5.3.zip | 7 |
| v1.5.2 | Jun 26, 2026 | abilities-1.5.2.zip | 2 |
| v1.5.1 | Jun 19, 2026 | abilities-1.5.1.zip | 0 |
| v1.5.0 | Jun 19, 2026 | abilities-1.5.0.zip | 2 |
| v1.4.0 | Jun 19, 2026 | abilities-1.4.0.zip | 1 |