WEBO MCP is a standalone MCP gateway for WordPress. It lets compatible clients call well-defined tools over REST using JSON-RPC, instead of scraping the admin or sharing broad credentials beyond what you intend.
What you get
*-query (all reads) and *-mutate (all writes) — with a single action discriminator. tools/list payload is up to 70% smaller than per-operation APIs, which means less of the model’s context window is consumed by tool schemas, lower cost per session, and fewer hallucinated tool names.POST /wp-json/mcp/v1/routerinitialize tools/list tools/callsession_id or Mcp-Session-Id after initialize)Security model (high level)
GET /wp-json/webo-mcp/v1/tools: users who are super admins, can manage_options, or can edit_posts, consistent with typical site operator and editor workflows (filterable).Client guidance
Always discover tools before calling them: run tools/list, pick an exact tool name from the response, validate required arguments, then call tools/call. This reduces mistakes and keeps automation predictable in production.
Further documentation and optional integrations
Compatibility note: any MCP-capable client can be used; which large language model runs inside the client is outside this plugin.
Standalone core tools included:
– Site info
– Content (posts/pages): webo/content-query (list, get, find-by-url, search-replace, list-revisions, get-revision) and webo/content-mutate (create, update, delete, bulk-update-status, restore-revision)
– Users: list
– Media: webo/media-query (list, get) and webo/media-mutate (upload, update, delete)
– Comments: webo/comment-query (list, get) and webo/comment-mutate (update, delete)
– Taxonomy/Terms: webo/taxonomy-query (discover, list, get) and webo/taxonomy-mutate (create, update, delete)
– Nav menus: list menus, list menu items (menu_order, db_id), add menu link from post (explicit post_id + menu_order required)
– Plugins: webo/plugin-query (installed, active, updates, …)
– Themes: webo/theme-query, webo/theme-mutate
– Menus: webo/menu-query, webo/menu-mutate
– Options: get/update (safe allowlist only), set site icon/favicon from media
– SEO (WordPress post): seo/article-analysis — requires post_id; merges Rank Math meta when available (same data path as webo-rank-math/get-post-seo-meta); optional related-keyword suggestions via outbound request unless no_autocomplete is true
Excluded by default in standalone-safe mode:
– Bulk/mass execution tools
– Plugin/theme write-management abilities
– Multisite-specific abilities
This plugin does not phone home or send telemetry. MCP traffic is initiated by clients you configure. Some tools may perform outbound HTTP requests only when a client invokes them (for example seo/article-analysis may request keyword suggestions from a third-party suggest API unless you pass no_autocomplete).
The plugin stores the following options in the WordPress database when configured:
– webo_mcp_api_key: API key used to authenticate MCP requests.
– webo_mcp_hmac_secret: HMAC secret used to sign and validate MCP requests.
These options are removed when the plugin is uninstalled via the WordPress Plugins screen.
This plugin can connect to Google Suggest (Autocomplete) when a client calls the seo/article-analysis tool and does not set no_autocomplete to true. This external request is used to return related keyword suggestions for SEO analysis.
Service provider: Google LLC (Google Suggest / Autocomplete API endpoint).
Data sent and when:
– Sent only when seo/article-analysis is called with autocomplete enabled.
– Sends the analysis query text to https://suggestqueries.google.com/complete/search as the q parameter.
– Sends standard HTTP request metadata such as IP address and User-Agent as part of the web request.
Terms of Service: https://policies.google.com/terms
Privacy Policy: https://policies.google.com/privacy
The plugin exposes the following actions and filters for developers:
webo_mcp_register_toolswebo_mcp_current_user_can_use_mcp (bool $allowed, int $user_id)
Gate for all MCP REST access. Default: super admin OR manage_options OR edit_posts. Override to tighten (e.g. super-admin only) in hardened installs.
webo_mcp_allow_internal_tools (bool $allow_internal, WP_REST_Request $request)
Controls whether internal tools are included in tools/list responses. Defaults to false for public environments.
webo_mcp_public_categories (array $categories, WP_REST_Request $request, array $tool)
Filters which tool categories are exposed as public. Defaults to array( ‘wordpress’ ).
webo_mcp_public_tool_allowlist (array $names, WP_REST_Request $request, array $tool)
Optional allowlist of specific tool names that are always considered public.
webo_mcp_bridge_deny_patterns (array $patterns)
Controls which abilities are excluded when auto-bridging abilities into MCP tools (e.g. bulk, plugins/, themes/, multisite/).
webo_mcp_auto_bridge_abilities (bool $enabled)
Enables or disables automatic bridging of registered abilities into MCP tools. Defaults to true.
webo_mcp_enable_adapter (bool $enabled)
Enables or disables the bundled WordPress MCP Adapter runtime. Defaults to true.
webo_mcp_validate_media_fetch_url (true|\WP_Error $ok, string $url, array $parsed)
Reject unsafe URLs for webo/media-mutate upload action (return WP_Error to block).
Special thanks to the authors and open source projects that contributed to this plugin:
– WordPress (https://wordpress.org)
– Abilities API (https://github.com/WordPress/abilities-api)
Reference: https://make.wordpress.org/ai/2025/07/17/abilities-api/
– MCP Adapter (https://github.com/WordPress/mcp-adapter)
Reference: https://make.wordpress.org/ai/2025/07/17/mcp-adapter/
– Composer (https://getcomposer.org)
– Other PHP and JS libraries from the community
If you use this plugin, please give credit to the authors of these libraries.
This plugin is licensed under the GPLv2 or later.
See https://www.gnu.org/licenses/gpl-2.0.html for details.