內容簡介
Enable Abilities for MCP 外掛讓使用者能夠完全控制哪些 WordPress 能力可以透過 MCP (Model Context Protocol) 介面提供給 AI 助手,並提供簡單的管理介面來開啟或關閉這些功能。
【主要功能】
• 完整的內容管理能力註冊
• 簡易的管理介面開關功能
• 支援 claude.ai 和 ChatGPT 連接
• 每位成員使用各自的 WordPress 帳號驗證
• 活動紀錄顯示真實使用者名稱
• 適用於單站點、子目錄安裝及多站點網路
外掛標籤
開發者團隊
📦 歷史版本下載
原文外掛簡介
Enable Abilities for MCP gives you full control over which WordPress Abilities are available to AI assistants through the MCP (Model Context Protocol) Adapter.
WordPress 6.9 introduced the Abilities API, allowing external tools to discover and execute actions on your site. This plugin extends that functionality by registering a comprehensive set of content management abilities and providing a simple admin interface to toggle each one on or off.
Connect from claude.ai with just a URL
Since version 2.1 the plugin ships an embedded OAuth 2.1 server built for claude.ai custom connectors. Add your site in claude.ai → Settings → Connectors, log in with your WordPress user, approve the consent screen — connected. No Client ID, no Application Password, no local configuration.
Works from the claude.ai web app, mobile apps, and Claude Desktop
Each team member authenticates with their own WordPress account and role — a subscriber can never do what only an editor should
Every ability execution lands in the activity log under the real user’s name
Works on single sites, subdirectory installs, and multisite networks (network-activate so the main site serves the OAuth discovery documents for every subsite)
Connect from ChatGPT with the same URL (beta)
claude.ai identifies itself with a fixed metadata URL the plugin already trusts. ChatGPT instead registers itself dynamically per connector (RFC 7591), so it needs its own door: turn on ChatGPT & Other OAuth Connectors on the Connection tab and list the callback URLs a connector is allowed to send users back to. In ChatGPT, turn on Developer mode (available on paid plans) and create a connector with the same MCP server URL; the normal login-and-consent flow takes over.
Opt-in and off by default — with the toggle off the discovery document drops registration_endpoint, /oauth/register refuses every request, and the claude.ai connector behaves exactly as before
A connector may only ever return a user to a callback URL you listed, re-checked on every authorization request — remove one and clients that registered while it was allowed are blocked immediately
Wildcards are allowed inside the path, never in the host; registration is capped and rate-limited per IP
Connectors that ask you to paste a Client ID and Secret instead are covered too — the panel can issue one (the secret is shown once and stored only as a hash)
Same as the claude.ai connector downstream: each user logs in with their own WordPress account and role, approves a consent screen, and every execution lands in the activity log under their name
Prefer tokens? Application Passwords (per-user) and a single-admin Bearer token connect Claude Desktop / Claude Code, OpenAI Codex CLI, and Google Antigravity — the Connection tab generates ready-to-paste configuration for each client, and fills in your credentials automatically.
Features
112 abilities organized in 21 categories: Core, Read, Write, SEO (Rank Math), SEO (SEOPress), SEO (Yoast), Navigation Menus, Utility, Multilanguage, Custom Post Types, WooCommerce, The Events Calendar, Code Snippets, JetEngine Options Pages, JetEngine Query Builder, Elementor, LearnDash, Tutor LMS, AI Agent Readiness (llms.txt), FSE Block Templates, and Accessibility (WCAG)
WooCommerce integration — dedicated abilities to manage products, orders, and customers using the native WooCommerce API (HPOS-compatible, formally declared)
The Events Calendar integration — list, get, create, and update events with venue, organizer, and date filters
claude.ai OAuth custom connector — connect from claude.ai (web, mobile, or desktop) with zero local setup: an embedded OAuth 2.1 server with Client ID Metadata Document (CIMD) support lets each user log in with their own WordPress account and role
ChatGPT & other OAuth connectors (beta) — separately opt-in: RFC 7591 dynamic client registration at /oauth/register, gated by an administrator-managed callback allowlist, so clients that register themselves can connect through the same consent flow
Admin dashboard with toggle switches for each ability
Per-ability control — expose only what you need
Third-party ability control — abilities registered by other MCP-ready plugins (e.g. Fluent Forms) appear in the same dashboard, grouped by plugin, with the same per-ability toggles; disabling one removes it from every MCP server on the site
Secure by design — proper capability checks, input sanitization, and per-post permission validation
WPCS compliant — fully passes WordPress Coding Standards (phpcs)
MCP-ready — all abilities include show_in_rest and mcp.public metadata
Available Abilities
Read (safe, query-only):
Get posts with filters (status, category, tag, search)
Get single post details (content, SEO meta, featured image)
Get categories, tags, pages, comments, media, and users
Write (create & modify):
Create, update, and delete posts
Create categories and tags
Create pages
Moderate comments
Reply to comments as the authenticated user
Upload images from external URLs to the media library (with optional auto-assign as featured image)
Duplicate any post, page, or custom post type item — including all post meta (ACF, SEO, featured image) and taxonomy terms; saved as a draft by default
Assign a custom taxonomy’s terms to a post or page (e.g. a taxonomy registered by a companion plugin)
SEO — Rank Math:
Get full Rank Math metadata for any post/page (title, description, keywords, robots, Open Graph, SEO score)
Update Rank Math metadata: SEO title, description, focus keyword, canonical URL, robots, Open Graph, primary category, pillar content
SEO — SEOPress:
Get full SEOPress metadata for any post/page (title, description, focus keyword, robots, canonical, Open Graph, Twitter Card)
Update SEOPress metadata: SEO title, description, focus keyword, canonical URL, robots directives, Open Graph, Twitter Card
SEO — Yoast SEO:
Get full Yoast SEO metadata for any post/page (title, description, focus keyphrase, canonical, robots, Open Graph, Twitter Card)
Update Yoast SEO metadata: SEO title, description, focus keyphrase, canonical URL, robots (noindex, nofollow, advanced), Open Graph, Twitter Card
Get Yoast sitemap index — fetch and parse the sitemap index, returning all registered sitemap URLs with last modification date
Custom Post Types:
List all registered custom post types with configuration and taxonomies
Get items from any CPT with filtering, search, and taxonomy queries
Get full details of a CPT item including all meta fields (WooCommerce, ACF, JetEngine, etc.)
Create, update, and delete CPT items with taxonomy and meta field support
Get CPT taxonomies with their terms
Assign taxonomy terms to CPT items
Read term meta by exact key, or all meta for a term
Write a term meta field by exact key
Update a term’s core fields: name, slug, description, or parent
WooCommerce:
List products with price, SKU, stock status, categories, and type
Get full product detail including gallery, attributes, and variations
Update product price, sale price, stock quantity, and status
List orders with customer, total, status, and date (HPOS-compatible)
Get full order detail: line items, billing/shipping, totals, and notes
Update order status with optional note
List customers with email, name, total spent, and order count
The Events Calendar:
List events with start/end date, venue, organizer, and date range filter
Get full event detail with resolved venue address and organizer contact
Create new events with title, description, dates, venue, and organizer
Update existing events
Navigation Menus:
List menus with item counts and theme locations, and get one menu’s full item hierarchy
Create a new menu, and add pages, posts, categories, tags, or custom URLs as items (with parent and position)
Update an item’s title, URL, parent, or position
Remove an item, assign a menu to a theme location, or delete a menu entirely (opt-in — destructive)
Tutor LMS:
Read a lesson’s video source configuration (type, value, and runtime)
Set a lesson’s video source (external URL, YouTube, Vimeo, HTML5, or a third-party source such as Bunny.net) using Tutor’s own storage function — avoids the string-only limitation of the generic Update Post Meta ability, which Tutor cannot read back
List courses, and get a single course’s full detail with its topics/lessons hierarchy
Get a user’s enrollment status and completion progress for a course
Get a user’s quiz attempt results, optionally filtered to a single quiz
Enroll a user in a course, and unenroll them (both opt-in, manage_options only)
Multilanguage (Polylang, WPML, or Linguator AI):
List the languages configured on the site
Create the translation of a post or page in a target language, linked to the source: the AI supplies the translated title, content, and excerpt; taxonomies, custom fields, and the featured image are copied over, and an existing translation is updated instead of duplicated
Create the translation of a category, tag, or custom taxonomy term: translated name and description, term meta copied, parent remapped to its target-language counterpart
Assign a language to an existing post or taxonomy term
Link two posts, or two terms, as translations of each other in the same translation group
Get the full translation map for a post or a term
LearnDash:
List courses with enrollment count, and get a single course’s full detail (lessons, topics, quizzes)
Get a user’s enrollment status/progress and quiz results for a course
Enroll or unenroll a user in a course (opt-in — write, manage_options)
JetEngine Options Pages:
List all registered Options Pages with their field schema
Get all fields and current values for an Options Page by slug
Update a single Options Page field, including repeater rows (opt-in — write)
JetEngine Query Builder:
List all Query Builder queries with id, name, and query type
Get the full settings of one query by id
Update an existing query’s name, type, or arguments — the missing counterpart to JetEngine’s own native “Add Query” MCP tool, which has no edit/get/list equivalent (opt-in — write)
Elementor:
Get a compact, read-only tree of an Elementor page/template (element ids, types, text preview)
Update an Elementor element’s settings by id — single or batch edits (opt-in — write)
Bind a widget setting to a dynamic tag: post title, or a JetEngine/meta field (opt-in — write)
Code Snippets:
Create a PHP code snippet via the Code Snippets plugin — always saved as inactive. Validates PHP syntax and blocks dangerous functions (eval, exec, shell_exec, and more)
List snippets (without their code) and read one snippet by ID, including its code
Update a PHP snippet’s name, description, code, scope, or tags (opt-in); new code is validated, and an active snippet whose code changes is deactivated
Deactivate a snippet, or request its activation (opt-in). Activation is never automatic: the request returns a wp-admin link where an administrator reviews the code and confirms it. The confirmation is bound to the exact code and expires after 24 hours
AI Agent Readiness (llms.txt):
Fetch and validate the site’s llms.txt against the llmstxt.org spec, with actionable issues
Write llms.txt content — routes automatically to SEOPress Pro’s option when active, or serves it directly (opt-in — write)
FSE Block Templates:
List all wp_template and wp_template_part entries for the active theme, merging theme-file defaults with database overrides
Get the full block markup for one template or template part by slug
Write new block markup to a template or template part — creates a database override automatically when the target is still a theme default; rejects content with unbalanced block-comment delimiters (opt-in — write, edit_theme_options)
Accessibility (WCAG):
Scan the media library for images missing alt text (WCAG 1.1.1 Non-text Content), paginated
Utility:
Search and replace text in post content
Site statistics overview (includes custom post type counts)
Update any post meta field by exact key (with protected internal key blocklist)
Requirements
WordPress 6.9 or later (Abilities API)
MCP Adapter plugin installed and configured
PHP 8.0 or later
