MCP Apps in WordPress
MCP Apps in WordPress: review a change where you chat.
When an agent previews a supported WordPress write, GoBuildWP can hand your AI client a small interface as well as text: an MCP Apps card with the projected diff and an Apply button. You review the fields, warnings and side effects in the conversation, and the site still checks everything before it writes.
Preview card in Free 1.18.6, Four more cards in Pro 1.12.4, Plain text results everywhere else
wppilot/update-postTarget: post 212post_title: “Pricing” → “Plans and pricing”post_excerptChanges(none) → “Three plans, billed yearly.”Apply this changeConfirm: apply nowCalls wppilot/apply-preview, refused if the reviewed fields changed since.
What MCP Apps are
MCP Apps is an extension to the Model Context Protocol, named io.modelcontextprotocol/ui. A tool's definition can point at a ui:// resource. A host that understands the extension fetches that resource, renders its HTML in a sandboxed frame beside the tool call, and passes the tool's result to it over a small message protocol.
For WordPress that turns a wall of JSON about a pending edit into something a person can read at a glance. The card is only a view: the rules that decide whether the write may happen still run on your site.
- Extension
io.modelcontextprotocol/ui- Card resource
ui://wppilot/preview-card- Linked from
wppilot/preview-ability- Edition
- GoBuildWP Free
From the GoBuildWP Free 1.18.6 source.
The free preview card
What the card shows, and what Apply does
The card renders one wppilot/preview-ability result. It does not compute anything itself.
- The target and the ability that would run
- Each projected changed field with its before and after value
- A clear flag when the change removes content
- Side effects, warnings and when the preview expires
- Hidden values shown as hidden, never in full
Where the host lets a card call the server's tools, the card offers Apply this change, then a second Confirm: apply now. That calls wppilot/apply-preview with the preview's id. The site refuses if the projected or read values changed after the preview, and the write runs through the same profile, confirmation, approval policy and change record as any other. Review warnings for excluded values and effects the projector cannot predict.
When it succeeds, the card says the change is on the Changes screen in wp-admin, where it can be reviewed; undo depends on supported recovery data for the actual operation. Where the host does not let the card call tools, the card tells you to approve the preview by its id in the chat, or to review it in wp-admin.
GoBuildWP Pro
Four more cards in Pro: diff, compare, search-replace and approvals
Pro links these only for a client that declares the MCP Apps extension on the request, so a client that does not sees exactly what Free sends. Each card is a view over an ordinary ability result.
| Card | Linked from | Shows | Can do |
|---|---|---|---|
Diffui://wppilot-pro/diff | wppilot/preview-ability or wppilot/get-change | Side by side or inline, word-level highlights, long values collapsed; a change record as Free returns it, emails masked | The same two-click Apply for a preview |
Before and afterui://wppilot-pro/compare | wppilot/compare-captures | Two screenshots under a draggable, keyboard-operable slider with the changed regions outlined | Says how to take captures when there are none |
Search-replace gridui://wppilot-pro/search-replace-grid | wppilot/search-replace-preview | Every match in a filterable table, highlighted in context | Turns a post selection into search-replace-apply input, still confirmed as usual |
Approval cardui://wppilot-pro/approval-card | Any call the approval queue holds | The ability, its input with secrets and emails masked, who asked and when | Approve or reject through approval-decide, only when a person confirmed it |
The diff card shows a change record exactly as the free plugin returns it, which is why Pro needs GoBuildWP Free 1.18.6 or later: that release masks email addresses in change records when they are read. See every feature by edition or what Pro adds.
Pro approval card
Approving from a card, without letting the agent approve itself
The approval card sits in front of wppilot/approval-list-requests and wppilot/approval-decide. The hard part is not the buttons; it is knowing a person pressed them.
- A decision counts only when the confirmation gate recorded a person confirming it: in the client's own prompt, on a one-time wp-admin link, or in Chat
- An agent's own confirm=true is refused, with nothing decided
- On the default confirmation setting the card hides its buttons and points to the Approvals screen
- Approving re-checks the held ability's permission as the approver
- The decide ability is never itself held by the queue, and is marked app-only for hosts that keep such tools from the model
Why the default hides the buttons
An MCP call runs as the credential the agent holds. When the card asks the host to call approval-decide, the server sees that credential, the same one the agent would use to approve its own held write. The wp-admin Approvals screen tells the two apart with a nonce; MCP has no equivalent.
The decide ability requires human confirmation mode and a recorded elicitation, one-time approval URL or Chat confirmation. Turn that on in GoBuildWP Free under Settings, Confirmation mode, then verify the actual confirmation path in your client. A model-supplied confirmation flag alone is refused. Leave it off and the card is still a readable view of what is waiting. More on the queue in approvals, memory and skills.
Hosts
Which AI clients render MCP Apps
The MCP Apps project listed these hosts with support on 29 September 2026. Support can differ between a client's web, desktop and IDE builds.
| Host | Evidence checked | Build / negotiated revision / Apply |
|---|---|---|
| ChatGPT | Project-listed support, 29 September 2026 | Not recorded for this host; rendering and tool calls untested here |
| Claude | Project-listed support, 29 September 2026 | Not recorded for this host; rendering and tool calls untested here |
| VS Code | Project-listed support, 29 September 2026 | Not recorded for this host; rendering and tool calls untested here |
| Goose | Project-listed support, 29 September 2026 | Not recorded for this host; rendering and tool calls untested here |
| Postman | Project-listed support, 29 September 2026 | Not recorded for this host; rendering and tool calls untested here |
| MCPJam | Project-listed support, 29 September 2026 | Not recorded for this host; rendering and tool calls untested here |
| mcp-use | Project-listed support, 29 September 2026 | Not recorded for this host; rendering and tool calls untested here |
| Alpic Playground | Project-listed support, 29 September 2026 | Not recorded for this host; rendering and tool calls untested here |
Two things have to line up for the card to appear: the host must support MCP Apps, and it must talk to your site on the current MCP revision, 2026-07-28, because GoBuildWP serves the card only there. A host that connects on an older revision gets the same preview as text. For Apply to work inside the card, the host must also let cards call the server's tools.
Source: the modelcontextprotocol/ext-apps README. This is the project's list, not a GoBuildWP compatibility test: the historical page records HTTP MCP and sandboxed-iframe harness checks, not a current named-client run; no exact host build or transcript was supplied for this review; connection steps for each client are in the client guides, for example Claude and ChatGPT.
Everywhere else
What degrades to text, and what still works
The card is an extra. Nothing about previewing or applying a change depends on it.
Clients without the extension
They ignore the card link and show the preview as an ordinary result. It still carries the diff and a wp-admin link where a person can review, apply or discard it.
Older protocol revisions
The card is served on the modern MCP transport (2026-07-28). A client that negotiates an older revision reaches abilities through the adapter's execute meta-tool, so it gets the text result.
Writes a preview does not cover
Preview projectors cover selected writes, not every registered ability. Mandatory preview is optional and defaults off; built-in wp-admin Chat is exempt from that gate. Inspect the actual ability and projector before relying on a card.
Security
A card that cannot phone home or run your content
The card sits inside your AI client and displays site content, so it is built to treat that content as text and nothing else.
- One static document; its scripts and styles are inline
- No network domains; the Pro screenshot slider alone loads images, only from this site's uploads
- Preview data is inserted as text, so markup cannot become HTML or script
- The site name and labels baked into the card are escaped
- Apply goes back through the site's own checks
More on the wider model in WordPress MCP security.
What are MCP Apps?
MCP Apps is an extension to the Model Context Protocol, io.modelcontextprotocol/ui, that lets a tool point at a small HTML interface. A host that supports it renders that interface in a sandboxed frame next to the tool's result, instead of showing only text.
What does GoBuildWP show as an MCP App?
In GoBuildWP Free 1.18.6, the preview card for wppilot/preview-ability: the target, the ability, each field that would change with its before and after value, side effects, warnings, when the preview expires, and an Apply button where the host allows it. GoBuildWP Pro adds four more: a diff view, a before-and-after screenshot slider, a search-replace grid and an approval card.
Do I need GoBuildWP Pro for the preview card?
No. The preview card and the preview and apply abilities behind it are part of the free plugin. Pro is needed only for the diff, compare, search-replace and approval cards.
Which AI clients show the card?
The MCP Apps project lists ChatGPT, Claude, VS Code, Goose, Postman, MCPJam, mcp-use, Alpic Playground as hosts with support (checked 29 September 2026). Support differs between a client's web, desktop and IDE versions and changes with releases, so run one preview in your own client to see which you get.
What happens in a client without MCP Apps?
The server can return the preview as text, including a wp-admin review link. How a client displays that result or requests application depends on its build and negotiated transport; test the actual client rather than treating fallback as a compatibility guarantee.
Can the Apply button change something other than what I saw?
It applies the stored input for that preview's id and refuses if a projected field or a value the projection read has changed. The diff is not a complete prediction of plugin hooks or external effects: review excluded fields, unpredicted values, side effects and warnings. Unrelated target changes do not block it. The write still passes the site's profile, confirmation and approval gates. Undo requires a supported recorded reversible operation and retained recovery data; external events remain outside ledger recovery.
Why can the Pro approval card not approve on my site?
Because on the default confirmation setting no decision over MCP can prove a person made it. An MCP call runs as the agent's own credential, so a click on the card and the agent approving its own held write look identical to the server. The card hides its buttons and points to the Approvals screen unless confirmation is set to require a person, through the client's own prompt, a one-time wp-admin link or Chat.
Can a post's content run script inside the card?
No. Each card is one static document with its own scripts and styles inline. Data arrives from the host at runtime and is only ever inserted as text, so markup in a title or post body shows as characters, not HTML. The cards declare no network domains; the Pro screenshot slider alone loads images, and only from this site's own uploads.
Next
Preview, apply, and keep a way back
Preview one change in your own client.
Connect on staging, ask for a preview of a small post edit, and see whether your client shows the card or the text. Either way, apply it and find it on the Changes screen.