Reported issues for royal-mcp
Pod holds 18 of 20 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to royal-mcp.
Most discussed
wp_update_post silently ignores menu_order (and reports success)
Bug: wp_update_post silently ignores menu_order (and reports success)
Summary
The wp_update_post MCP tool cannot change a post/page's menu_order. The parameter
is neither in the tool's input schema nor mapped into the update payload, so any request
to set it is silently dropped — yet the tool still returns "Post updated successfully".
Because there is no read-after-write, an MCP client (Claude / ChatGPT / Gemini) is told
the operation succeeded when in fact nothing changed. Thi
Read the thread · 2026-07-20 · closed · external user · 3 comments
noindex issue with rank math
wp_get_seo_meta always reports noindex: false on Rank Math, and wp_update_seo_meta writes a malformed robots array
Plugin version: 1.4.36
SEO plugin: Rank Math (Yoast path is unaffected)
File: includes/MCP/Server.php
Summary
Two separate bugs in the Rank Math branch of the SEO meta tools:
wp_get_seo_metanever reportsnoindex: true. The reader casts an array to a string before searching it, so the check can never match.noindexis returned asfalsefor
Read the thread · 2026-07-19 · closed · external user · 2 comments
Oauth issue with Claude
Bug report: Intermittent HTTP 403 "Session credentials mismatch" with Claude (OAuth) during extended sessions Plugin: Royal MCP 1.4.34 WordPress: 7.0.1 Host: Simply.com (Apache/LiteSpeed shared hosting) — host WAF ruled out (see Evidence) Client: Claude custom connector, OAuth 2.1 mode (the only mode the Claude connector exposes) Endpoint: POST /wp-json/royal-mcp/v1/mcp Likely related: open issue #13 ("MCP session terminates repeatedly during extended operations, ~50 API calls") Summary When Cla
Read the thread · 2026-07-11 · closed · external user · 5 comments
Woocommerce order pagination
Pls support woocommerce order pagination to retrieve tons of orders
Read the thread · 2026-06-22 · closed · external user · 3 comments
Bug: Gutenberg block style.css escaping is corrupted via Royal MCP
Environment
- WordPress: 7.0 RC3
- Royal MCP: 1.4.15
- Affected methods:
wp_update_pagewp_create_page
Summary
When creating or updating Gutenberg block content through Royal MCP, escaped characters inside a block's style.css attribute are not preserved correctly.
This affects the new per-block Custom CSS feature in WordPress 7.0 RC3. Escaped newlines (\n) and escaped ampersands (\u0026) inside Gutenberg block JSON can be transformed into invalid strings such as n
Read the thread · 2026-05-13 · closed · external user · 3 comments
MCP session terminates repeatedly during extended operations (~50 API calls)
When performing bulk operations via the MCP connector — in this case rebuilding a WordPress navigation menu requiring ~170 sequential wp_delete_menu_item and wp_create_menu_item calls — the session terminates with {"code": 32600, "message": "Session terminated"} approximately every 50 calls. The session recovers on retry without requiring full reconnection (the connector remains shown as connected in Claude Desktop), but the interruptions require manual intervention to resume the operation. Expe
Read the thread · 2026-05-12 · closed · external user · 9 comments
Royal MCP Tag Editing
I apologize if this is correct method of doing this, I have never used github before. I am also not a developer of any sort.
I connected Claude to my WP site via the Royal MCP tool. The main purpose of this was to bulk edit the meta seo for the tags used on articles. Claude is telling me it doesn't have the ability to edit tags, only create them. I managed to get Claude to tell me how to fix this via editing the plugin. I added the code, but WP tells me it can't save the changes, no matter what
Read the thread · 2026-04-09 · closed · external user · 2 comments
cannot activated
installed using the wordpress’s native plugin store. cannot activate, returns "Plugin could not be activated because it triggered a fatal error."
04-Apr-2026 06:28:45 UTC] PHP Fatal error: Uncaught Error: Class "Royal_MCP\OAuth\Token_Store" not found in /home/my-site/public_html/wp-content/plugins/royal-mcp/royal-mcp.php:99 Stack trace: #0 /home/my-site/public_html/wp-includes/class-wp-hook.php(341): Royal_MCP_Plugin->activate() #1 /home/my-site/public_html/wp-includes/class-wp-hook.php(365):
Read the thread · 2026-04-04 · closed · external user · 3 comments
Most recent
Enhancement: search parameter on wp_get_media (title, filename, alt text)
The problem
wp_get_media accepts only per_page (max 100) and mime_type — there is no way to find a specific attachment. The only path is paging the library 100 at a time and scanning title / alt_text client-side.
Real case: a homepage customer-logo strip had an enterprise customer's name misspelled in the image alt text. wp_update_media can fix it in one call, but finding the attachment ID first means paging the entire media library — on a site with a few thousand attachments
Read the thread · 2026-08-05 · closed · outside contributor · 1 comment
Enhancement: expose content_length in wp_get_posts / wp_get_pages / wp_search results
The problem
An agent cannot tell how large a post is without fetching it. On a page-builder site that is the difference between a 200-byte answer and a 1.1 MB one, and there is no way to triage without paying the cost.
Concrete case from a production audit: size-checking 20 candidate pages to decide which were safe to edit meant fetching all 20. One was a pricing page at 1,104,943 bytes, discovered by receiving it. Word count is actively misleading as a proxy — a 551-word Avada post m
Read the thread · 2026-08-05 · closed · outside contributor · 2 comments
Feature: readable revision content and server-side diff (wp_get_revision_content / wp_diff_revisions)
The problem
wp_get_post_revisions returns revision_id, parent_id, author_name, date, title, word_count — but there is no way to read a revision's content, so there is no way to diff a post against its own prior state through MCP.
This matters because "verify your change and confirm nothing else moved" is a standard requirement for agent-driven edits. With no readable revisions, the only fallback is crawling the rendered public page before and after and diffing HTML externa
Read the thread · 2026-08-05 · closed · outside contributor · 0 comments
Feature: wp_replace_sitewide — cross-post find/replace with mandatory dry run
The problem
wp_replace_in_post (#70) covers single-document edits, but real content-hygiene work is inherently cross-post. From one production audit:
Today each correction is N separate wp_search calls to locate, then N per-post replace calls, with no way to confirm the set is complete before starting or that it is closed afterwards.
Proposed tool
wp_replace_sitewide(find, replace, post_types?, post_status?, dry_run, expected_count?)
→ { total_matches, posts: [ { id, title,
[Read the thread](https://github.com/royalplugins/royal-mcp/issues/73) · 2026-08-05 · open · outside contributor · 1 comment
### Feature: Avada / Fusion Builder integration — text-block read + write tools
## The problem
Avada stores page-builder state as nested shortcodes in `post_content`, and the ratio of markup to human-readable copy is brutal. Measured on a live production site (WP 7.0.2, PHP 8.4, Royal MCP 1.4.38, 364-page content audit):
| Page | Visible copy | `post_content` |
|---|---|---|
| a typical blog post | 551 words | ~55 KB |
| `/pricing/` | ~800 words | **1,104,943 bytes** |
| an integrations page | ~600 words | ~60 KB |
That is roughly **100:1 overhead**, on every post type o
[Read the thread](https://github.com/royalplugins/royal-mcp/issues/72) · 2026-08-05 · open · outside contributor · 1 comment
### Woocommerce direct HPOS
Please support direct HPOS reading for WooCommerce
[Read the thread](https://github.com/royalplugins/royal-mcp/issues/42) · 2026-06-22 · closed · external user · 2 comments
### Feature request: Add Yoast slug field support
I would like the Yoast integration in Royal MCP to include support for updating the Yoast slug field.
## Problem this solves
When using Royal MCP to create or update SEO content, the integration can assist with Yoast-related metadata, but the URL slug field does not appear to be available through the Yoast integration workflow.
This creates a gap when using an AI client to fully prepare or optimize a post/page, because the title, meta description, and other SEO fields may be handled, but the
[Read the thread](https://github.com/royalplugins/royal-mcp/issues/34) · 2026-06-08 · closed · external user · 2 comments
### Bug: wc_create_product ignores type parameter — always creates simple products
## Bug: `wc_create_product` ignores `type` parameter — always creates `simple` products
### Description
When calling `wc_create_product` with `type: variable` (or any non-simple type such as `woosb`), the product is silently created as `simple`. This makes it impossible to create variable products via MCP, since subsequent calls to `wc_create_variation` fail with:
Error: Product is not a variable product
### Steps to Reproduce
1. Call `wc_create_product` with `type: variable`, e.g.:
[Read the thread](https://github.com/royalplugins/royal-mcp/issues/30) · 2026-05-27 · closed · external user · 1 comment
### wc_get_orders hangs indefinitely when shop_order_refund records appear in results
## Summary
`wc_get_orders` times out (MCP error -32001) whenever a `shop_order_refund` record appears in the result set. A single `wc_get_order` call on a `shop_order_refund` ID also hangs indefinitely.
The root cause is that the tool does not filter by order type, so WooCommerce's internal refund child records (`shop_order_refund`) are returned alongside real orders. `format_order_summary()` is not designed to handle `WC_Order_Refund` objects and hangs when it encounters one.
Note: I'll be i
[Read the thread](https://github.com/royalplugins/royal-mcp/issues/20) · 2026-05-17 · closed · outside contributor · 2 comments
### wp_reorder_menu_items and wp_update_menu_item with position parameter silently destroy menu structure
Two tools cause irreversible destruction of WordPress navigation menu structure with no warning, no confirmation, and no documentation of the risk:
wp_reorder_menu_items
Calling this tool destroys all parent-child relationships across the entire menu. All items are reduced to flat, blank custom links with no titles, URLs, or hierarchy. The operation cannot be undone via the WordPress admin — it requires a full database restore.
wp_update_menu_item with the position parameter
Passing a position v
[Read the thread](https://github.com/royalplugins/royal-mcp/issues/14) · 2026-05-12 · closed · external user · 2 comments
The remaining reports are on [the project's issue tracker](https://github.com/royalplugins/royal-mcp/issues).