WP Manifestindependent plugin directory
manifest / ai / wp-mcp-editor-abilities

MCP Editor Abilities

Add Editor/CMS abilities to MCP server for Wordpress

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/vincentguigui/wp-mcp-editor-abilities/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Author: Vincent Guigui

A WordPress plugin that exposes content-management abilities through the MCP Adapter, enabling AI agents and MCP clients to read and edit WordPress content programmatically.

What it does

  1. Forces all WordPress abilities to be MCP-public — any ability registered by core or other plugins is automatically exposed through MCP (via the wp_register_ability_args filter).

  2. Registers 16 custom editor abilities:

Posts

Ability Description Permission
mcp-editor/list-posts Paginated list of posts (filterable by status) edit_posts
mcp-editor/add-post Create a new post (defaults to draft) edit_posts
mcp-editor/duplicate-post Duplicate an existing post as a new draft edit_post
mcp-editor/get-post-field Read a single post field (title, status, date, excerpt, slug, content) edit_post
mcp-editor/update-post-field Update a single post field (title, status, date, excerpt, slug, content) edit_post

Post Blocks

Ability Description Permission
mcp-editor/list-post-blocks List all Gutenberg blocks in a post edit_post
mcp-editor/get-post-block Read a single block by index edit_post
mcp-editor/update-post-block Edit a specific block's attributes or HTML edit_post

Categories

Ability Description Permission
mcp-editor/list-categories Paginated list of categories manage_categories
mcp-editor/add-category Create a new category manage_categories
mcp-editor/update-category-field Update a single category field (name, slug, description, parent) manage_categories

Post ↔ Category

Ability Description Permission
mcp-editor/list-post-categories List categories assigned to a post edit_post
mcp-editor/assign-post-category Add a category to a post edit_post
mcp-editor/remove-post-category Remove a category from a post edit_post

Site

Ability Description Permission
mcp-editor/get-site-field Read a site option (name, description) manage_options
mcp-editor/update-site-field Update a site option (name, description) manage_options
  1. Boots the MCP Adapter so the abilities are reachable over the MCP JSON-RPC endpoint.

Requirements

  • WordPress 6.9+ (ships the Abilities API)
  • MCP Adapter plugin installed and activated — github.com/wordpress/mcp-adapter
  • An application password for the WordPress user that will authenticate MCP requests

Installation

  1. Copy the mcp-edit-abilities folder into wp-content/plugins/.
  2. Activate MCP Adapter in the WordPress admin.
  3. Activate MCP Editor Abilities in the WordPress admin.
  4. Create an application password for your user under Users → Profile → Application Passwords.

Testing with the batch script

A mcp.bat script is included for quick testing from the Windows command line.

Configuration

Credentials are stored in mcp-config.ini (same folder as the batch). This file is protected from web access by the included .htaccess.

; mcp-config.ini
[mcp]
url=https://your-site
username=your-user
password=xxxx xxxx xxxx xxxx xxxx xxxx

Usage

Parameters are passed as key/value pairs after the ability name. Integer values are auto-detected. Wrap values containing spaces in double quotes.

:: List all available abilities
mcp.bat

:: Posts
mcp.bat mcp-editor/list-posts
mcp.bat mcp-editor/list-posts per_page 5 status draft
mcp.bat mcp-editor/add-post title "My New Post"
mcp.bat mcp-editor/duplicate-post id 1
mcp.bat mcp-editor/get-post-field id 1 field title
mcp.bat mcp-editor/update-post-field id 1 field title value "New Title"

:: Post blocks
mcp.bat mcp-editor/list-post-blocks id 1
mcp.bat mcp-editor/get-post-block id 1 block_index 0
mcp.bat mcp-editor/update-post-block id 1 block_index 0 inner_html "<p>Updated</p>"

:: Categories
mcp.bat mcp-editor/list-categories
mcp.bat mcp-editor/add-category name "My Category"
mcp.bat mcp-editor/update-category-field id 12 field name value Renamed

:: Post categories
mcp.bat mcp-editor/list-post-categories id 1
mcp.bat mcp-editor/assign-post-category post_id 1 category_id 12
mcp.bat mcp-editor/remove-post-category post_id 1 category_id 12

:: Site
mcp.bat mcp-editor/get-site-field field name
mcp.bat mcp-editor/update-site-field field name value "My Site"

Security notes

  • All abilities enforce WordPress capability checks (edit_post, manage_options, manage_categories).
  • The mcp-config.ini file containing credentials is blocked from web access via .htaccess.
  • MCP requests require HTTP Basic Auth with an application password.
  • For production use, consider moving mcp-config.ini outside the web root entirely.

License

GPL-2.0-or-later