Editor · tools
What Claude can call on the editor zip
Names as they appear on wpadapter.com/mcp. Pass site_id when the key sees more than one site. A Forms-only key does not get this list.
Always start here
| Tool | Does |
list-sites | WordPress this key may use. Client keys already have one. |
get-site | Name, theme, editors, preferred_editor, job, create_hint, playbooks. Read playbooks before you improvise. |
get-policy | Draft-only, allow_publish, trash, media, chrome, replace. The model should read this before it tries to go live. |
Posts and pages
| Tool | Does |
search-posts | s, post_type, post_status. 50 per page. |
get-post | Title, slug, status, Markdown, editor name, block tree. Argument: id. |
create-post | Draft unless status=publish. Optional slug (æ→ae, ø→oe, å→aa). On Divi: native [et_pb_section] in content_divi or content_html (written as the canvas). Markdown or Gutenberg blocks otherwise. Optional categories, tags, excerpt, editor. |
update-post | mode=patch keeps copy. Optional slug. Native Divi shortcodes replace a draft canvas without Allow replace. Plain HTML on an existing Divi canvas still needs mode=replace. |
set-status | draft / pending / private / publish / future. Optional slug — pass it here or WordPress rebuilds from the title. Allow publish on by default. |
trash-post | Trash only. No force-delete. Dangerous · default off. |
convert-markdown | Markdown → Gutenberg markup. Does not write the post. |
Preview, CSS, files
Playbooks: new-landing, rewrite-copy, css-fight, ship. Public drafts 404 — mint a visitor URL first.
| Tool | Does |
preview-post | Signed visitor URL for a draft. 24h. Lite can call this. |
inspect-front | GET a published URL or a draft id (issues preview). Body class, stylesheets, style tags, needle hits. |
search-css | Needle in Additional CSS, Divi custom CSS, page CSS, HFCM, allowlisted files. Whitespace-collapsed match, so border-radius: 15px hits border-radius:15px. |
get-site-css | Dump those CSS buckets plus Divi globals (column / radius / shadow / background / gutter / fonts) and HFCM. Optional post id. |
update-site-css | bucket additional / divi / page. Pro. Allow site CSS on by default. Never PHP. |
search-files | Grep css/js/html/txt/json under wp-content. No PHP, no .env, no .htaccess. |
purge-cache | LiteSpeed, Super Cache, Rocket, Autoptimize, Fastest Cache, object cache. Pro. Allow cache purge on by default. |
Terms, media, menus
| Tool | Does |
list-terms | Categories or tags. taxonomy = category, post_tag, or with WooCommerce product_cat / product_tag. |
assign-terms | Set categories and tags on a post. id. |
list-media | Library: ids, URLs, mime. |
upload-media | From URL (or base64 on origin). jpeg/png/gif/webp/pdf, ≤ 8MB. Needs Allow media. Dangerous · default off. |
set-featured-image | id (post) + media_id. |
list-menus | Nav menus on the site. |
update-menu | Replace items (simple). Needs edit_theme_options. Dangerous · default off. |
Block nodes
Addressable tree with wpAdapterId. Use this to change one heading without rewriting the canvas.
| Tool | Does |
get-blocks | Tree for a post. id. |
update-block | One node: content and/or attrs. |
insert-block | After a node or at an index. |
move-block | New index. |
delete-block | Remove one node. Dangerous · default off. |
Published posts cannot be node-edited while draft-only is on.
Templates
| Tool | Does |
list-templates | Theme Builder / header / footer / FSE templates. |
get-template | Read one layout. id. |
update-template | Patch if Allow site chrome is on. Dangerous · default off. Never theme PHP. |
Undo and audit
| Tool | Does |
list-snapshots | Snapshots for a post. id. |
rollback | snapshot_id. Restores title, content, excerpt, status, slug, taxonomies, featured image, wp_adapter_* meta. Dangerous · default off. |
list-audit | Last N origin audit rows. Optional ability filter. |
WooCommerce
Requires WooCommerce on the origin. Errors if it is off. Full chapter: WooCommerce.
| Tool | Does |
list-products | Search the catalog. Lite can read. |
get-product | Prices, stock, variations. id. Lite can read. |
create-product | Draft by default. type = simple / virtual / variable. |
update-product | Patch. Live products refused while draft-only is on. |
set-product-stock | Quantity / status, including live products. |
set-product-status | Publish a product. Dangerous · default off. |
trash-product | Trash only. Dangerous · default off. |
list-orders | Cards: number, total, email. Not the full address. |
get-order | Items, totals, addresses, notes. |
add-order-note | Internal, or customer_note: true. |
set-order-status | Does not refund the payment. Dangerous · default off. Policy → Allow order status. |
Plugins and WordPress core
wordpress.org only. No zip, no URL, no theme PHP. Updates do not snapshot — rollback will not undo them.
| Tool | Does |
list-plugins | Installed: slug, version, active, available update. |
list-updates | Core + plugins that have an update. Refreshes the wordpress.org check. |
update-plugin | Already-installed slug. Needs Allow plugin updates. Dangerous · default off. |
install-plugin | wordpress.org slug only. activate defaults true. If it is already there, use update-plugin. Dangerous · default off. |
update-core | WordPress core. Own Policy flag. Dangerous · default off. |
Lite vs Pro
Without a paid editor plan on the origin, only these abilities register: get-site, get-policy, search-posts, get-post, list-terms, list-media, create-post, update-post, preview-post, convert-markdown, list-products, get-product. Writes stay draft. Everything else returns that it needs Pro — and Policy stays locked.
Never: zip upload, open-ended update_option, create_user, run_sql, edit_file, eval, force-delete, theme PHP. Plugin install is a wordpress.org slug, and only when Allow plugin updates is on. Core update is its own flag. Allowed options if you toggle them: blogname, blogdescription.