WordPress platformFree
WordPress core MCP tools, grouped by what they change
These are the WordPress core MCP tools that ship free with GoBuildWP, working on the objects every site has regardless of theme or builder. This page groups them by what they change and notes, for each family, what WordPress itself does with that data: which objects have a trash, which writes the change log can reverse, and which ones a safety profile blocks outright.
We renamed Aero Pro to Aero Max. Update it everywhere in posts and pages.
wppilot/search-replace-previewReadReturns a plan_id and, per post, each changed field or meta key with its match count and sample context.
wppilot/search-replace-applyConfirm firstAfter the diff has been read and approved, writes only the posts in that plan, as a background job.
wppilot/search-replace-statusReadReports progress and how many posts were applied or skipped because someone edited them after the preview.
wppilot/get-contentReadSpot-checks one updated page to confirm the new name reads correctly in context.
- Edition
- Free
- Abilities
- 69
- Requires
- WordPress 6.9+, PHP 8.0+
Abilities
Core ability families
| Ability | What it does here | Undo and limits |
|---|---|---|
list-contentsearch-contentget-contentget-page-snapshotcreate-postupdate-postdelete-postrestore-post | Bounded lists and live lexical search across post types; a normalised snapshot or compact page digest; partial updates of registered agent-facing post types that are public or exposed in REST. Internal and dedicated-ability post types are refused. Delete trashes unless force is set, and restore returns a post to the status it had before trashing, usually draft. | Updates are captured for rollback. A raw content write to a Breakdance-owned post is refused unless explicitly confirmed. |
list-revisionsget-revisionrestore-revision | Revisions newest first with content sizes, one revision beside the current values, and a restore to any of them. | The restore captures the current state first, so it can itself be rolled back. |
list-taxonomieslist-termsget-termcreate-termupdate-termdelete-termassign-terms | Taxonomies with their capabilities, term search, term edits, and replace, add or remove term assignments on a post. | Deleting a term is permanent because WordPress has no term trash; content assigned to it stays. |
list-mediaget-mediaupdate-mediaimport-media-urlsearch-imagesedit-imageattach-mediadetach-mediaset-featured-imageremove-featured-imagedelete-media | Library reads, safe import from a URL, openly licensed image search through Openverse, and resize, crop, rotate or flip with WordPress's own image editor. | Deleting media removes the file and its generated sizes for good and needs confirmation. |
list-menuslist-menu-itemslist-menu-locationscreate-menuupdate-menuupsert-menu-itemreorder-menu-itemsassign-menu-locationdelete-menu-itemdelete-menu | Classic menus, their items and nesting, and the theme's locations. | Location assignments are reversible; deleting a menu or item is permanent and confirmed. |
list-commentsget-commentcreate-commentupdate-commentmoderate-commentdelete-comment | Comments with email and IP shown only to accounts that may moderate; replies, edits and every moderation state. | Moderation is reversible and logged with the previous status; delete-comment bypasses the trash. |
list-usersget-usercreate-userupdate-user | Users with roles and safe profile fields; creation with an explicit role; profile, email, password or role changes. | Password hashes, sessions and application passwords are never returned. Critical account changes are blocked by Production Safe. |
list-extensionsget-extensionsearch-extensionsinstall-pluginactivate-plugindeactivate-pluginupdate-plugindelete-plugininstall-themeswitch-themeupdate-themedelete-theme | Installed plugins and themes with update availability, WordPress.org directory search, and the full install-to-delete lifecycle. | Installs and deletes are critical and refused outside Developer Full Access; activation, deactivation, updates and theme switches need confirmation. |
get-site-settingsupdate-site-settings | A curated set of reading, discussion, locale, date, URL and front-page settings. | Only an allowlist is writable; secrets, arbitrary options and authentication settings are refused. |
search-replace-previewsearch-replace-applysearch-replace-statussearch-replace-cancel | A preview with a per-post diff and plan_id, then an apply limited to that plan, optionally as a background job that can be polled or stopped. | A post edited after the preview is skipped. A running batch of up to 100 posts finishes before a cancel takes effect. |
network-list-sitesnetwork-run-ability | On multisite, lists the network's sites and runs another ability on one of them. | The call meets that site's own safety profile and controls, as if made there. |
Reference: /docs/reference/wordpress-core
Documented source abilities; live registration can be narrower. Edition and effect labels describe the source catalogue. The installed schema, dependency versions, licence, WordPress capability, safety profile and per-ability policy determine availability; labels alone do not prove confirmation or recovery.
Data model
Core tables, and what each one allows
Posts, pages, custom post types, attachments, revisions and menu items are all rows in wp_posts with their meta, so they share the same safety net: a trash for most of them, revisions for content, and a before-image the change log can restore. Terms live in the taxonomy tables with no trash, comments in their own table with a moderation state, users in wp_users and wp_usermeta, and settings in wp_options.
Plugins and themes are files on disk, not rows. Installs and deletes are critical developer operations. update-plugin and update-theme replace code with confirmation under their actual dispatch policy, rather than being classified from an annotation alone. Basic updates retain no previous-version files in the change ledger. The Pro safe-update kit has separate backup/probe prerequisites and bounded files-only recovery.
Worked example
Renaming a product line across the site
Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.
Every post in the approved plan says Aero Max, and posts changed since the preview are left for a person to look at. Menus, widgets and option values were not part of the search, so a name there needs its own edit.
After stored-content readback, inspect the actual front page and confirm the intended publication status before accepting the change.
search-replace-previewReturns a plan_id and, per post, each changed field or meta key with its match count and sample context.
search-replace-applyAfter the diff has been read and approved, writes only the posts in that plan, as a background job.
search-replace-statusReports progress and how many posts were applied or skipped because someone edited them after the preview.
get-contentSpot-checks one updated page to confirm the new name reads correctly in context.
Limits
Where core abilities draw the line
- The Read Only profile refuses every write; Production Safe refuses critical ones such as installing or deleting code and critical account changes.
- Menu deletions, term deletions, permanent comment deletions and media deletions cannot be restored.
- Switching the theme changes every front-end page, drops widgets the new theme has no area for and re-maps menu locations, so it is confirmed separately.
- update-site-settings never touches rewrite internals, authentication settings or arbitrary option rows.
Undoing, licensed images and the account boundary
Revisions or the change ledger: two ways back after a bad edit
WordPress core MCP tools give an owner two separate safety nets, and they answer different questions. Revisions are WordPress's own history of a post's content: list-revisions shows them newest first with their sizes, get-revision puts one beside the current values, and restore-revision writes it back, capturing the current state first so the restore can itself be undone. The change ledger is GoBuildWP's record of every agent write, across posts, terms, menus, comments and settings alike.
For an agent mistake, start from the ledger. list-changes shows each write with the ability, the agent credential and client behind it, and whether it can still be rolled back; get-change explains one entry; rollback-change restores it, after confirmation, and verifies the result against the stored before-image rather than assuming success. Edits made in wp-admin do not receive an agent-ledger row; inspect WordPress revisions, suitable backups or any separate audit records for those changes. export-changes produces the same ledger as flat rows, without before-images, for a monthly client report.
Adding an openly licensed image with its attribution
search-images queries Openverse, WordPress.org's search of openly licensed and public-domain media, with filters for licence type, orientation, file type and source. Every result carries the licence, the creator and a ready-made attribution line. import-media-url then downloads the file through WordPress, checks the upload, and can set the title, alt text and a caption in the same call, which is where the attribution belongs. set-featured-image or the content abilities place it.
A licence that allows reuse can still require attribution or forbid commercial use, so ask the agent to name the licence of each image it proposes. Alt text should describe what the image shows on that page, not repeat the attribution.
What Production Safe stops on accounts and code
Some core abilities are classed critical by name, and Production Safe refuses them outright: create-user and update-user, so no new accounts, role changes or password resets through an agent on a production profile, along with installing or deleting plugins and themes. Developer Full Access allows them, each with confirm. Activating, deactivating and updating plugins and switching themes are destructive rather than critical, so they run on Production Safe once confirmed.
Comment moderation sits at the other end. moderate-comment needs the moderate_comments capability, records the previous status in the ledger, and every action, spam included, can be reversed. On multisite, network-run-ability runs a call on one site under that site's own profile, so a Read Only site stays read-only even when the network admin asks. The security page explains the profiles.
- "Show me every agent change made to the pricing page this week and roll back the last one."
- "Find a landscape photo of a bakery with a licence that allows commercial use, import it with attribution in the caption and good alt text."
- "Mark the pending comments that link to casino sites as spam and list what you changed."
Questions
WordPress Core questions
Which WordPress core MCP abilities are free?
All of them. They ship with the free GoBuildWP plugin; the WordPress capabilities of the connected account and the site's safety profile decide which ones a client may call.
Can an AI client install plugins through these abilities?
Only under Developer Full Access and with explicit confirmation. Production Safe and Read Only refuse installs and deletions of plugins and themes.
Can a trashed page be brought back?
Yes. restore-post takes it out of the trash, usually as a draft, and the response names the status it came back with.
Does search-replace touch the database directly?
It works per post on titles, content, excerpts and chosen meta keys, from a plan someone has reviewed, and records each post so it can be restored.
Where these facts come from
GoBuildWP behaviour is taken from the plugin source and the ability reference, checked by the GoBuildWP team.