Connect WordPress sites; create and update posts/pages with Gutenberg content, hierarchical categories and tags (create/list/update/delete, full parent/child tree), featured/inline images, and SEO...
What this app can do
262 tools registered
Connect SiteFree
Connect a WordPress site by URL, username, and Application Password.
Sync Sites To Registry8 tok
Push every WordPress site already connected here into Sites Registry -- the platform-agnostic catalogue app. Fixes sites that were connected here before Sites Registry existed, or any time the two drift out of sync.
Forget SiteFree
Disconnect a WordPress site and delete its stored credential.
Add SshFree
Add SSH access to a connected WordPress site to enable WP-CLI features: PHP version, plugin/theme/core update counts, cron jobs, database size.
Remove SshFree
Remove SSH access from a connected WordPress site.
Update Imperal Bridge20 tok
Update the installed Imperal Bridge companion plugin from Imperal's fixed, official release ZIP. This cannot update arbitrary plugins or accept a caller-provided URL; it only replaces Imperal Bridge after WordPress verifies the expected release version. Requires Imperal Bridge 2.17.0+ already installed once manually.
Update Plugin20 tok
Update ONE already-installed WordPress plugin to its latest version. Reads through the Imperal Bridge plugin if it's installed (the same WordPress upgrader wp-admin's own 'Update Now' link uses), or falls back to SSH + WP-CLI (`wp plugin update <slug>`) if SSH is configured with add_ssh. Pass a slug from list_plugins/list_native_plugins — never a guessed slug.
Update Core20 tok
Update WordPress core to the latest version. Reads through the Imperal Bridge plugin if it's installed (the same WordPress upgrader wp-admin's own 'Update Now' link uses), or falls back to SSH + WP-CLI (`wp core update`) if SSH is configured with add_ssh. Runs the update immediately with no version pinning — always the latest available core release.
Run Wp Cron16 tok
Force every due WordPress cron event to run now. Reads through the Imperal Bridge plugin if it's installed (the same _get_cron_array()/do_action_ref_array() WordPress core itself uses), or falls back to SSH + WP-CLI (`wp cron event run --due-now`) if SSH is configured with add_ssh. Only events already past their scheduled time are run — nothing is rescheduled early.
List SitesFree
List the WordPress sites the user has connected.
List Posts8 tok
List recent posts on a connected WordPress site.
Get Post Content8 tok
Read one post/page's raw rendered content (HTML), excerpt, and Polylang language (when exposed), straight from the site's native REST API -- no Bridge/SSH needed. Use to audit an already-published article, e.g. checking it for stray scaffolding headings ('Intro', 'CTA') or a wrong Polylang language before correcting it with update_post.
Replace Post Content Text16 tok
Fix ONE exact substring inside a post/page's raw content -- e.g. a CTA link that wrongly points to the wrong-language contact page -- without touching anything else in the article (no rebuild of blocks, so existing images/structure are never at risk). 'find' must match EXACTLY ONCE in the raw content; the call is rejected if it matches zero or multiple times, so you never guess which occurrence you meant.
List Pages8 tok
List pages on a connected WordPress site.
List Media8 tok
List media library items on a connected WordPress site.
Update Media Alt16 tok
Set the alt text of media library images on a connected WordPress site. Alt text is what screen readers announce and what Google Images indexes. Pass a list of {media_id, alt_text}. By default an image that already has alt text is skipped so existing wording is never overwritten.
Preview Bulk Media Alt20 tok
Preview replacing alt text for 1-100 explicit media items. Makes no writes and returns the exact token required to apply.
Apply Bulk Media Alt60 tok
Apply a previously previewed alt-text change to 1-100 explicit media items. Rechecks every item before any write and stops if any changed.
Set Single Media Alt16 tok
Set the alt text of ONE media library image — a single-item convenience wrapper around update_media_alt for cases with just one attachment to fix (e.g. a form on the Media panel). Always overwrites, unlike the bulk version's default skip-if-already-set behaviour.
Get Site Health8 tok
Report read-only health for a connected WordPress site.
Refresh Site8 tok
Re-check connectivity and auth for a connected WordPress site and update its stored status.
Refresh All Sites8 tok
Re-check connectivity for all connected WordPress sites at once.
List Comments8 tok
List comments on a connected WordPress site. Use status='hold' to see comments pending moderation, 'approved' for published, 'spam' for spam.
Set Comment Status16 tok
Change a comment's moderation status: 'approved' (publish it), 'hold' (send back to pending moderation), 'spam', or 'trash'. Use list_comments first to find the comment_id.
Preview Bulk Comment Status20 tok
Preview changing moderation status for 1-100 explicit comments. Makes no writes and returns the exact token required to apply.
Apply Bulk Comment StatusFree
Apply a previously previewed comment moderation status change to 1-100 explicit comment ids. Stops before all writes if any comment changed.
Reply To Comment16 tok
Post a reply to an existing comment, as the connected WordPress user. The reply is automatically attached to the same post and nested under the original comment. Use list_comments first to find the comment_id.
Edit Comment ContentFree
Overwrite the text of an existing comment — fixes a typo, redacts something, or corrects a misattributed comment without deleting and re-creating it. Use list_comments first to find the comment_id.
List Scheduled8 tok
List posts scheduled for future publication on a connected WordPress site.
List Users8 tok
List recently registered users on a connected WordPress site.
List Plugins8 tok
List plugins installed on a WordPress site: active/inactive status, installed version, and an available update version. Reads through the Imperal Bridge plugin if it's installed (no SSH needed at all -- built from WordPress's own get_plugins()/is_plugin_active()/get_plugin_updates() calls, the same data wp-admin's own Plugins screen reads its update notices from), or falls back to SSH + WP-CLI (`wp plugin list`) if SSH is configured with add_ssh. Read-only.
Purge Cache16 tok
Purge the site's page cache. Auto-detects an active cache plugin (LiteSpeed Cache or W3 Total Cache) — if none is found, reports that clearly instead of silently doing nothing. Reads through the Imperal Bridge plugin if it's installed (no SSH needed at all — fires the cache plugin's own real purge hook, litespeed_purge_all / w3tc_flush_all), or falls back to SSH + WP-CLI if SSH is configured with add_ssh instead.
Install Plugin16 tok
Install a WordPress plugin from a WordPress.org slug or a direct https:// .zip URL, and optionally activate it immediately. Reads through the Imperal Bridge plugin if it's installed (no SSH needed at all — uses the same Plugin_Upgrader API wp-admin's own 'Add New Plugin' screen uses), or falls back to SSH + WP-CLI (`wp plugin install`) if SSH is configured instead. Use this to install Imperal's own companion bridge plugin (Imperal Bridge — SEO + builder + media in one) or any third-party plugin the site needs.
List Custom Posts8 tok
List items of a custom post type on a connected WordPress site. Use post_type= with the REST base slug (e.g. 'products', 'events', 'portfolio'). Check the site's panel to see available post types.
Get Server Info8 tok
Get server information for a WordPress site: PHP version, WordPress version, available plugin/theme/core updates, cron job count, database size. Reads it through the Imperal Bridge plugin when installed (no SSH needed at all); falls back to SSH + WP-CLI when the Bridge isn't there yet or doesn't answer.
Get Woocommerce Status8 tok
Check whether WooCommerce and its authenticated REST API are available on a connected WordPress site.
List Orders8 tok
List WooCommerce orders with optional status, date, page, and customer/order search filters.
Get Order8 tok
Read one WooCommerce order in detail, including line items, totals, payment method, and customer note.
List Products8 tok
List WooCommerce products with prices, SKU, stock state, visibility, and optional search/status filters.
Get Product8 tok
Read one WooCommerce product in detail, including images, categories, attributes, variations, price, and stock.
List Customers8 tok
List WooCommerce customers with email, order count, and total spend; addresses and phone numbers are omitted.
List Coupons8 tok
List WooCommerce coupon codes with discount type, amount, expiry, and usage limits.
List Refunds8 tok
List refunds recorded against one WooCommerce order, including amount, date, and reason.
Get Store Summary40 tok
Summarise WooCommerce orders, sales, refunds, items, and customers for an optional ISO-8601 date range.
List Product Variations8 tok
List variants of one WooCommerce variable product, including attributes, SKU, prices, stock, and a state token for guarded updates.
Create Product Variation16 tok
Create a variation for an existing variable product using its existing attributes. Defaults to draft for safe review.
Update Product Variation16 tok
Update selected price, SKU, stock, or status fields of one product variation only after its state token is rechecked.
Preview Bulk Variation Change20 tok
Preview a bulk change for 1-100 explicit WooCommerce variation ids. Reads current variations and returns a state token; makes no writes.
Apply Bulk Variation Change60 tok
Apply a reviewed bulk change to 1-100 explicit WooCommerce variation ids. Requires the exact preview state token and stops before all writes if any variation changed.
Preview Csv Catalog Import20 tok
Preview a CSV import for simple WooCommerce products matched strictly by SKU. CSV columns: SKU plus regular_price, sale_price, stock_quantity, or stock_status. Returns unmatched SKUs and a state token; makes no writes.
Apply Csv Catalog Import60 tok
Apply a previously previewed CSV import to strictly SKU-matched WooCommerce products. Requires the exact state token and stops before all writes if any matched product changed.
Preview Csv Variation Import20 tok
Preview a CSV import for WooCommerce variations matched strictly by parent_sku plus variation_sku. CSV columns: parent_sku, variation_sku and optional regular_price, sale_price, stock_quantity, or stock_status. Returns unmatched pairs and a state token; makes no writes.
Apply Csv Variation Import60 tok
Apply a previously previewed CSV import to strictly matched WooCommerce variations. Requires the exact state token and stops before all writes if any matched variation changed.
List Csv Imports8 tok
List recorded CSV catalog and variation import previews and outcomes for one connected WooCommerce site. The original CSV content is never stored.
Get Csv Import8 tok
Read one CSV import audit record: hash, timing, match/update counts, state token, and failed rows summary. Original CSV content is never stored.
Retry Csv Import Failures20 tok
Create a fresh safe preview containing only the rows that failed or were unmatched in a prior CSV import. It never applies changes and requires a new state token before any apply.
Create Product16 tok
Create a WooCommerce simple, virtual, or downloadable product. Defaults to draft; pass status='publish' explicitly to publish it.
Update Product16 tok
Update selected fields of one WooCommerce product: name, status, SKU, prices, descriptions, stock, categories, or images. Omitted fields stay unchanged.
Archive Product16 tok
Move one WooCommerce product to Trash without permanently deleting it. The product can be restored in WordPress.
List Product Categories8 tok
List WooCommerce product categories with ids, parent ids, and product counts.
Create Product Category16 tok
Create a WooCommerce product category, optionally below an existing parent category.
Preview Bulk Product Change20 tok
Preview a bulk WooCommerce product change for 1-100 explicit product ids. Reads current products and shows exactly what apply_bulk_product_change would change; makes no writes.
Apply Bulk Product Change60 tok
Apply a previously reviewed bulk change to 1-100 explicit WooCommerce product ids. Requires the exact state token returned by preview and stops before all writes if any product changed.
Create Order16 tok
Create a WooCommerce order manually -- for a phone/in-person sale, or any purchase taken outside the store's own checkout. Supports an existing registered customer or a guest order (billing_email required for guests).
Update Order Status16 tok
Change one WooCommerce order status. Financial refunds are not created by this tool.
Update Order Status Risky16 tok
Change one order to cancelled, failed, or refunded after explicit confirmation. This changes WooCommerce status only and never sends money through a payment gateway.
Preview Bulk Order Status20 tok
Preview a routine status change for 1-100 explicit WooCommerce orders. Makes no writes and excludes cancelled, failed, and refunded.
Apply Bulk Order Status60 tok
Apply a previewed routine WooCommerce order-status batch to 1-100 explicit order ids. Rechecks every order before any write.
Add Private Order Note16 tok
Add a private internal note to one WooCommerce order.
Add Customer Order Note16 tok
Add a customer-visible order note after explicit confirmation; WooCommerce may email the customer.
List Order Notes8 tok
Read the note thread on one WooCommerce order -- both private internal notes and customer-visible ones.
Resend Order Email16 tok
Re-send a WooCommerce order notification email to the customer -- the invoice/order-details email by default, or a specific template (e.g. 'customer_completed_order', 'customer_on_hold_order') if given. Optionally redirect it to a different address than the order's own billing email. Uses WooCommerce's native order-actions REST endpoint (WooCommerce 9.8+); older WooCommerce versions don't expose it.
Get Customer8 tok
Read one WooCommerce customer profile without postal addresses or phone numbers.
Create Customer16 tok
Create a registered WooCommerce customer with email and optional name/username. Passwords, addresses, and phone numbers are intentionally excluded.
Preview Bulk Customer Update20 tok
Preview setting the same first and/or last name on 1-100 explicit WooCommerce customers. Makes no writes and returns a state token.
Apply Bulk Customer Update60 tok
Apply a previewed WooCommerce customer batch to 1-100 explicit ids. Rechecks every customer first and stops before all writes if any changed.
Update Customer16 tok
Update email, first name, last name, or username of one registered WooCommerce customer. Addresses, phone numbers, and passwords are not exposed.
Delete Customer16 tok
Permanently delete a WooCommerce customer. Optionally reassign their past orders to another existing customer id -- WooCommerce requires SOME disposition for the departing customer's orders, so omitting reassign_to leaves those orders with their own stored billing snapshot (they are not deleted).
List Customer Orders8 tok
List orders belonging to one registered WooCommerce customer.
Preview Bulk Coupon Update20 tok
Preview applying the same validated coupon fields to 1-100 explicit WooCommerce coupon ids. Makes no writes and returns the exact token required to apply.
Apply Bulk Coupon Update60 tok
Apply a previously previewed WooCommerce coupon batch to 1-100 explicit coupon ids. Rereads every coupon and stops before all writes if any changed.
Create Coupon16 tok
Create a WooCommerce coupon with amount, limits, expiry, product/category rules, and email restrictions.
Update Coupon16 tok
Update selected fields of one WooCommerce coupon without changing omitted fields.
Archive Coupon16 tok
Move one WooCommerce coupon to Trash without permanently deleting it.
Preview Refund8 tok
Preview a manual WooCommerce refund record without changing the order or contacting the payment gateway. Shows total, already-refunded, remaining, and requested amounts.
Create Manual Refund16 tok
Record a previously previewed manual WooCommerce refund after explicit confirmation. This does NOT contact the payment gateway and does NOT restock items. Requires the exact remaining amount from preview and a unique idempotency key.
Preview Order Line Changes20 tok
Preview quantity changes for explicit existing line items on one unpaid editable WooCommerce order. Makes no changes and returns a state token required by apply.
Apply Order Line Changes20 tok
Apply previously previewed quantity changes to existing line items on one unpaid editable WooCommerce order. Requires explicit confirmation and the exact state token from preview.
Get Seo Meta8 tok
Read the Rank Math SEO fields (meta title, meta description, focus keyword, canonical, robots) of one post or page on a connected WordPress site. Identify the item by post_id or by slug.
Preview Bulk Seo Meta20 tok
Preview setting the same Rank Math SEO fields on 1-100 explicit posts/pages/CPT items. Makes no writes and returns the exact token required to apply.
Apply Bulk Seo Meta60 tok
Apply a previously previewed Rank Math SEO meta change to 1-100 explicit posts/pages/CPT items. Re-reads every target and stops before all writes if any state changed.
Update Seo Meta16 tok
Update the Rank Math SEO fields of one post or page on a connected WordPress site: meta title, meta description, focus keyword, canonical URL, robots directives, or a page-specific Facebook/Open Graph image. Identify the item by post_id or by slug. Omitted fields are left unchanged.
Preview Bulk Term Seo Meta20 tok
Preview setting the same Rank Math SEO fields on 1-100 explicit taxonomy terms (categories/tags). Makes no writes and returns the exact token required to apply.
Apply Bulk Term Seo Meta60 tok
Apply a previously previewed Rank Math SEO meta change to 1-100 explicit taxonomy terms. Re-reads every target and stops before all writes if any state changed.
Get Term Seo Meta8 tok
Read the Rank Math SEO fields (meta title, meta description, focus keyword, canonical, robots) of one taxonomy term — a category or tag — on a connected WordPress site. Identify the term by term_id or by slug.
Update Term Seo Meta16 tok
Update the Rank Math SEO fields of one taxonomy term — a category or tag — on a connected WordPress site: meta title, meta description, and optionally focus keyword, canonical URL and robots directives. Identify the term by term_id or by slug. Omitted fields are left unchanged.
Check Seo Support8 tok
Check whether a connected WordPress site can expose Rank Math SEO fields: is the Imperal Bridge plugin installed, is Rank Math active, and which post types and taxonomies (categories/tags) are covered.
Get Builder Content8 tok
Read the Elementor and/or Bricks page-builder element tree of one post or page on a connected WordPress site, flattened into a simple list of elements with ids, types, and settings. Identify the item by post_id or by slug. Each result row carries a state_token required to edit any of its elements.
Get Builder Element8 tok
Read ONE builder/zone record in full — id, slug, builder, zone, state_token, element_count, the full `elements` tree, and the never-compacted `heading_outline` text. Unlike get_builder_content (which always returns a list, and a list gets compacted to id/title/kind by display clients even with one row), this returns a single record that is never compacted. For Bricks pages you MUST pass zone ('header', 'content', or 'footer'); Elementor items ignore zone. Use this whenever you actually need to read heading_outline/elements, not just confirm a builder is active.
Preview Bulk Builder Field20 tok
Preview 1-100 explicit field changes across existing Elementor or one Bricks zone. Makes no writes and returns the exact token required to apply.
Apply Bulk Builder Field60 tok
Apply a previewed 1-100 explicit Elementor/Bricks field batch. Re-reads the exact builder tree and refuses all writes if its token changed.
Update Builder Field16 tok
Change exactly ONE settings field on exactly ONE existing Elementor or Bricks element, identified by element_id from a previous get_builder_content call. Requires the exact state_token from that same read; the write is refused if the page changed since. Cannot create elements or replace the page — point edits only.
Create Bricks HeadingFree
Create exactly one semantic Bricks heading in an existing page or template zone. Use only after get_builder_element confirms a missing heading and provides the exact parent_id and state_token. This cannot replace arbitrary builder JSON or create any other element.
Check Builder Support8 tok
Check whether a connected WordPress site can read/edit Elementor or Bricks page-builder content, and — when Bricks is active — whether its real MCP Abilities API (142 bricks/* abilities: full page authoring via set-page-elements/ add-element/update-element, plus get-design-context, templates, revisions) is actually usable right now. This is computed live on every call for every site: read `bricks_readiness` ('not_installed' | 'needs_update' | 'needs_configuration' | 'ready') and `bricks_readiness_message` for the exact next action — no local docs or prior session memory needed, this works the same for every user. MANDATORY: if bricks_readiness == 'ready', use the real bricks/* abilities for ALL page authoring; NEVER hand-author raw _bricks_page_content_2 postmeta as a substitute — that path can round-trip through get_builder_element while still rendering empty in the real Bricks editor. If bricks_readiness is 'needs_update' or 'needs_configuration', relay bricks_readiness_message to the user verbatim and fall back only to this connector's narrow point-edit tools (update_builder_field, create_bricks_heading) until they've acted on it.
Scan Builder Content40 tok
Diagnostic scan of a connected WordPress site's database for ANY post, page, or template (including custom post types like bricks_template that list_pages/list_posts never see, since they are not registered for the normal REST posts endpoints) carrying non-empty Elementor or Bricks builder content. Use this when get_builder_content reports BUILDER_NONE_ACTIVE on the items you tried, to find where builder content actually lives on the site. Read-only; requires Builder Bridge plugin v1.1.0 or later.
Upload Media16 tok
Add a publicly reachable https:// image URL to a connected WordPress site's media library, and optionally set it as a post's featured image. WordPress fetches the image itself (via the Imperal Bridge plugin) — Imperal never downloads or re-uploads the image bytes. Use the returned attachment id/url as featured_media_id, or in an 'image' content block, on create_post/update_post. For images already generated as a Media Hub package, prefer passing external_images directly on create_post/update_post instead of calling this per image.
Check Media Support8 tok
Check whether a connected WordPress site can add hosted images to its media library via upload_media — whether the Imperal Bridge plugin is installed and whether the connected user can upload files.
Create Post16 tok
Create a WordPress post or page with Gutenberg content, optional category, Polylang language, and Rank Math SEO fields (including canonical_url). Content is given as an ordered list of {type, text, level} blocks — 'heading', 'paragraph', 'image', or 'faq' (renders a visible Q&A section plus FAQPage JSON-LD schema, works on any site regardless of SEO plugin) — which this tool renders into Gutenberg block markup. For post_type='post' slug, meta_title, category, excerpt, and featured_media_id are mandatory. Defaults to a draft.
Update Post16 tok
Update selected fields of an existing WordPress post or page: title, status, slug, content (as {type, text, level} blocks), excerpt, category, or date. Omitted fields are left unchanged.
List Post Categories8 tok
List native WordPress post categories (not WooCommerce product categories). Hierarchical — filter by parent_id to walk the tree: omit parent_id for every category, or pass parent_id=0 for only top-level ones, or a category id to see its children.
Create Post Category16 tok
Create a new native WordPress post category, optionally nested under an existing parent category (parent_id) to build a category tree.
Update Post Category16 tok
Rename a category, change its description, or move it under a different parent.
Delete Post Category16 tok
Permanently delete a native WordPress post category. Posts in it are not deleted — they simply lose that category. Children of the deleted category become top-level (WordPress does not cascade-delete a category tree).
List Post Tags8 tok
List native WordPress post tags (flat — tags have no parent/child nesting).
Create Post Tag16 tok
Create a new native WordPress post tag.
Update Post Tag16 tok
Rename a tag or change its description.
Delete Post Tag16 tok
Permanently delete a native WordPress post tag. Posts using it simply lose that tag.
Extract Links8 tok
Extract every link inside one article's content, with its anchor text and whether it is internal (same site) or external -- the panel's SEO review of an article's link profile. Pass content_html directly (e.g. straight from Article Writer before publishing) OR post_id on a connected site to read a post already on WordPress. Flags anchor text that is generic ('click here', 'read more', the bare URL) since that wastes the internal-linking SEO value, and flags external links missing rel=nofollow/sponsored.
Check Sitemap Inclusion8 tok
Check whether a just-published post/page URL already appears in the site's XML sitemap -- the mandatory post-publish step that catches a page silently excluded from indexing (wrong Rank Math visibility setting, sitemap caching, an SEO plugin config the caller does not control). Tries sitemap_index.xml, sitemap.xml, then wp-sitemap.xml (WordPress core's own, when no SEO plugin publishes one), and recurses one level into an index's sub-sitemaps.
Create User16 tok
Create a registered WordPress user with username, email, and role. Passwords are optional -- a strong random one is generated and returned once (WordPress core requires SOME password to create a user, but nothing forces sharing it: an admin can also just email the user a password-reset link).
Update User16 tok
Update an existing WordPress user's role, email, first/last name.
Preview Bulk User Role20 tok
Preview changing the role for 1-100 explicit WordPress users. Makes no writes and returns the exact token required to apply.
Apply Bulk User Role60 tok
Apply a previously previewed role change to 1-100 explicit WordPress users. Stops before all writes if any user changed.
Preview Bulk User Name20 tok
Preview setting the same first and/or last name on 1-100 explicit WordPress users. Makes no writes and returns the exact token required to apply.
Apply Bulk User Name60 tok
Apply a previously previewed first/last name change to 1-100 explicit WordPress users. Stops before all writes if any user changed.
Delete User16 tok
Permanently delete a WordPress user. Optionally reassign their posts to another user id -- WordPress requires SOME disposition for the departing user's posts, so omitting reassign_to deletes their posts along with the account.
Reset User Password16 tok
Trigger WordPress's own native password-reset email for one user -- the same email wp-admin's Users list sends when an admin clicks 'Send password reset'. WordPress core has no REST route for this (only the wp-login.php form does), so this reads through the Imperal Bridge plugin -- install it on the site first.
List Menus8 tok
List navigation menus on a connected WordPress site (requires WordPress 5.9+).
List Menu Items8 tok
List the items inside one navigation menu, in their current order.
Create Menu Item16 tok
Add a new link/item to an existing navigation menu.
Update Menu Item16 tok
Update a menu item's title, URL, parent, or position.
Delete Menu Item16 tok
Permanently remove one item from a navigation menu.
Preview Bulk Menu Order20 tok
Preview reordering all explicit top-level items in one WordPress menu. Makes no writes, requires the complete current top-level list, and returns a state token.
Apply Bulk Menu Order60 tok
Apply a previewed complete top-level WordPress menu order. Re-reads the exact menu first and performs no writes if it changed.
Reorder Menu Items16 tok
Reorder the top-level items of a menu by giving their ids in the desired top-to-bottom order. Pass ALL top-level item ids for this menu, not a subset.
Delete Post16 tok
Delete a WordPress post or page. By default moves it to Trash (recoverable in WordPress); pass force=true to permanently delete it instead, bypassing Trash.
Duplicate Post16 tok
Duplicate an existing WordPress post or page as a new draft, copying its title (with a suffix), content, excerpt, and category. Useful as a starting point for a similar piece of content or a seasonal re-run of an old page.
Preview Bulk Post Status20 tok
Preview a status change for 1-100 explicit posts/pages/CPT items. Makes no writes and returns the exact state token required to apply.
Bulk Update Post Status60 tok
Apply a previewed status change to 1-100 explicit posts/pages/CPT items. Requires the exact state token and performs no writes if any item changed since preview.
Preview Bulk Post Comment Status20 tok
Preview changing the comment status (open/closed) for 1-100 explicit posts/pages/CPT items. Makes no writes and returns the exact state token required to apply.
Apply Bulk Post Comment Status60 tok
Apply a previewed comment-status change to 1-100 explicit posts/pages/CPT items. Requires the exact state token and performs no writes if any item changed since preview.
Get Post Revisions8 tok
List the stored revisions of a post/page, newest first -- author, date, and a short excerpt preview of each. Native /wp/v2 revisions endpoint, no Bridge/SSH needed.
Restore Revision16 tok
Restore a post/page's content and title to a previous revision. WordPress core has no native REST 'restore' verb, so this reads the chosen revision's content/title/excerpt and writes them back onto the live post as a normal update -- the live post's own revision history still records this as a new change, nothing is silently rewritten.
Set Post Password16 tok
Password-protect a post/page (visitors must enter the password to view it), or remove protection by passing an empty password. Native WordPress core field, no Bridge needed.
List Product Reviews8 tok
List WooCommerce product reviews. Use status='hold' to see reviews pending moderation, 'approved' for published, 'spam' for spam. Optionally filter to one product_id.
Set Product Review Status16 tok
Change a product review's moderation status: 'approved' (publish it), 'hold' (send back to pending moderation), 'spam', or 'trash'. Use list_product_reviews first to find the review_id.
Preview Bulk Product Review StatusFree
Preview changing moderation status for 1-100 explicit WooCommerce product reviews. Makes no writes and returns the exact token required to apply.
Apply Bulk Product Review StatusFree
Apply a previously previewed product-review moderation status change to 1-100 explicit review ids. Stops before all writes if any review changed.
Reply To Product Review16 tok
Reply to a WooCommerce product review, posted as the connected WordPress user. Use list_product_reviews first to find the review_id.
List Native PluginsFree
List installed plugins via WordPress's own REST API (needs WordPress 5.5+ and an administrator connection) — no SSH required. Use activate_plugin/deactivate_plugin with the returned plugin id to change status.
Preview Bulk Plugin Status20 tok
Preview activating or deactivating 1-100 explicit native WordPress plugins. Makes no writes and returns the exact token required to apply.
Apply Bulk Plugin Status60 tok
Apply a previously previewed plugin status change to 1-100 explicit plugins. Rechecks every plugin before writing and stops before all writes if any changed.
Activate Plugin16 tok
Activate an installed WordPress plugin via the native REST API (WordPress 5.5+, no SSH needed).
Deactivate Plugin16 tok
Deactivate an installed WordPress plugin via the native REST API (WordPress 5.5+, no SSH needed).
List Themes8 tok
List installed themes via WordPress's own REST API (needs an administrator connection) — shows which one is currently active. Read-only: WordPress core has no REST route to switch the active theme.
Get Site Settings8 tok
Read native WordPress site settings: title, tagline, timezone, date/time format, start of week, language, and the media-library site-icon attachment id.
Update Site Settings16 tok
Update native WordPress site settings: title, tagline, timezone, date/time format, start of week, or native site icon. Only the fields you pass are changed.
List Redirects8 tok
List Rank Math URL redirects on a site — which old URLs redirect to which new ones, with hit counts. Requires the Imperal Bridge plugin and Rank Math's Redirections module.
Create Redirect16 tok
Create a Rank Math URL redirect: which URL to redirect FROM (source_pattern), where TO (url_to), and the HTTP status code (301 permanent, 302 temporary, 410 gone). Requires the Imperal Bridge plugin and Rank Math's Redirections module.
Delete Redirect16 tok
Permanently delete a Rank Math URL redirect by id, from list_redirects.
Set Redirect Status16 tok
Change a redirect's status: 'active' (live), 'inactive' (paused, does not redirect), or 'trashed'. Use list_redirects first to find the redirect_id.
Preview Bulk Redirect Status20 tok
Preview changing status ('active'/'inactive'/'trashed') for 1-100 explicit Rank Math redirects. Makes no writes and returns the exact token required to apply.
Apply Bulk Redirect Status60 tok
Apply a previewed status change to 1-100 explicit Rank Math redirects. Re-reads every target and stops before all writes if any redirect changed.
Get Seo Analysis Score8 tok
Read Rank Math's own on-page SEO analysis score (0-100) for one post/page -- the same score Rank Math shows in its content-analysis panel in the editor. Returns null if Rank Math has never analyzed that post. Requires the Imperal Bridge plugin.
Get Robots Txt8 tok
Read Rank Math's robots.txt override text (the content its own robots.txt editor writes) -- NOT the raw file on disk. Empty content means no override is active and WordPress's own default robots.txt is served. Requires the Imperal Bridge plugin.
Update Robots Txt16 tok
Write Rank Math's robots.txt override text. Pass an empty string to clear the override and revert to WordPress's default robots.txt. Only takes effect while the site's own 'Search engine visibility' setting allows indexing. Requires the Imperal Bridge plugin.
Get Sitemap Status8 tok
Check whether Rank Math's Sitemap module is active on a site, and get the sitemap index URL if so. Rank Math generates sitemaps dynamically on request -- there is no separate 'regenerate' action, this just reports the module's on/off state. Requires the Imperal Bridge plugin.
List 404 Hits8 tok
List real 404 (page-not-found) hits logged by Rank Math's own 404 Monitor -- URL, when, how many times, referer, and user agent. Useful for finding broken links to fix or redirect (pair with create_redirect). Requires the Imperal Bridge plugin and Rank Math's 404 Monitor module enabled.
Delete 404 Hit16 tok
Remove one logged 404 hit from Rank Math's 404 Monitor by id, from list_404_hits.
Submit Urls To Indexnow16 tok
Submit one or more of this site's own URLs to Rank Math's Instant Indexing (IndexNow) API so participating search engines (Bing, Yandex, and others on the IndexNow protocol) crawl and re-index them right away, instead of waiting for their next scheduled crawl. Use right after publishing or significantly updating a page. Does not affect Google directly (Google is not an IndexNow participant).
List Indexnow Log8 tok
List Rank Math's own IndexNow submission history for this site -- which URLs were submitted, when, whether manually or automatically (on publish/update/trash), the API response status, and the result message. Rank Math keeps the last 100 entries.
Clear Indexnow Log16 tok
Clear Rank Math's IndexNow submission log on this site (all entries, or just the manual or automatic ones). This only clears the history record -- it does not resubmit or unsubmit any URL.
Reset Indexnow Key16 tok
Generate a fresh IndexNow API key for this site and discard the old one, then return the new key and where it's hosted (a <key>.txt file at the site root, verified by IndexNow-participating search engines). Use only if the key may have leaked -- every past submission stays valid, but the OLD key file stops matching, so pending verification by search engines using the old key will fail until they see the new one.
Get Llms Txt Settings8 tok
Read Rank Math's llms.txt settings -- which post types and taxonomies are listed in the dynamically-served /llms.txt file (the AI-crawler guidance file, an analogue of robots.txt aimed at LLMs), the per-type link limit, extra Markdown appended to the file, whether Rank Math's llms-txt module is active (it is NOT active by default), and the file's live URL. Requires the Imperal Bridge plugin.
Update Llms Txt Settings16 tok
Update Rank Math's llms.txt settings: which post types/taxonomies to list, the per-type link limit, and/or extra Markdown appended to the file. Only the fields you pass are changed -- omit a field to leave it as-is. Pass an empty string for extra_content to clear it. Does not turn the llms-txt module itself on or off -- that is a Rank Math module-manager setting with no single-module REST toggle. Requires the Imperal Bridge plugin.
Get Post Meta8 tok
Read ALL custom-field meta on one post/page/CPT item, including meta keys WordPress's own REST API hides because they were never registered with show_in_rest (most ACF fields and plugin-added meta fall in this category). Requires the Imperal Bridge plugin.
Update Post Meta16 tok
Set one or more arbitrary custom-field meta keys/values on a post/page/CPT item — the generic version of update_seo_meta for non-SEO custom fields. Requires the Imperal Bridge plugin. Values must be plain strings/numbers/booleans/arrays.
Preview Bulk Post Meta20 tok
Preview setting the same safe custom-meta key/value pairs on 1-100 explicit posts/pages/CPT items. Makes no writes and returns the exact token required to apply.
Apply Bulk Post Meta60 tok
Apply a previewed safe custom-meta update to 1-100 explicit posts/pages/CPT items. Stops before all writes if any target's reviewed keys changed.
Delete Post Meta16 tok
Remove one custom-field meta key from a post/page/CPT item. Requires the Imperal Bridge plugin.
Get User Meta8 tok
Read ALL custom-field meta on one WordPress user account. Requires the Imperal Bridge plugin.
Update User Meta16 tok
Set one or more arbitrary custom-field meta keys/values on a WordPress user account. Requires the Imperal Bridge plugin.
Delete User Meta16 tok
Remove one custom-field meta key from a WordPress user account. Requires the Imperal Bridge plugin.
Get Term Meta8 tok
Read ALL custom-field meta on one taxonomy term (category, tag, or custom taxonomy). Requires the Imperal Bridge plugin.
Update Term Meta16 tok
Set one or more arbitrary custom-field meta keys/values on a taxonomy term (category, tag, or custom taxonomy). Requires the Imperal Bridge plugin.
Preview Bulk Term Meta20 tok
Preview setting the same safe custom-meta key/value pairs on 1-100 explicit taxonomy terms. Makes no writes and returns the exact token required to apply.
Apply Bulk Term Meta60 tok
Apply a previewed safe custom-meta update to 1-100 explicit taxonomy terms. Stops before all writes if any target's reviewed keys changed.
Delete Term Meta16 tok
Remove one custom-field meta key from a taxonomy term. Requires the Imperal Bridge plugin.
Get Option8 tok
Read one named row from wp_options. Only option names on the Imperal Bridge's hard allowlist can be read (Rank Math's own settings, site title/tagline, a few WooCommerce store-settings names) — never siteurl/home/active_plugins/etc. Requires the Imperal Bridge plugin.
Update Option16 tok
Write one named row in wp_options. Only option names on the Imperal Bridge's hard allowlist can be written — never siteurl/home/active_plugins/etc, and never a value that looks like a serialized PHP object (refused server-side). Requires the Imperal Bridge plugin.
List Acf Fields8 tok
List registered Advanced Custom Fields field groups/fields for a post type, if ACF is active on the site. Returns a clear not-found error (never a fabricated empty list) if ACF isn't installed/active. Requires the Imperal Bridge plugin.
List Transients8 tok
List WordPress transients (temporary cached values plugins/themes store in wp_options). Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp transient list`) if SSH is configured with add_ssh. Shows name, value, and expiration — useful for diagnosing stale cached data or a bloated options table.
Delete Transient16 tok
Delete one named transient. Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp transient delete <name>`) if SSH is configured with add_ssh. Pass a name from list_transients — never a guessed name.
Flush All Transients16 tok
Delete every transient on the site. Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp transient delete --all`) if SSH is configured with add_ssh. More thorough than one plugin's own cache-clear button — clears every plugin's/theme's transient at once.
Get Object Cache Status8 tok
Check whether a persistent object cache (Redis, Memcached, etc.) is active on the site. Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp cache type`) if SSH is configured with add_ssh. Returns 'Default' when no persistent object cache drop-in is installed (WordPress's built-in non-persistent cache only).
Flush Object Cache16 tok
Flush the persistent object cache (Redis/Memcached/etc., if active). Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp cache flush`) if SSH is configured with add_ssh. This is different from purge_cache (which purges a PAGE cache plugin) — this clears the object cache layer instead.
List Cron Events8 tok
List every scheduled WordPress cron event. Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp cron event list`) if SSH is configured with add_ssh. Shows each event's hook name, next run time, and recurrence — use before run_cron_event or delete_cron_event to see real hook names, never invent one.
Run Cron Event16 tok
Force one specific cron event to run right now, regardless of whether it's due. Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp cron event run <hook>`) if SSH is configured with add_ssh. Pass a hook name from list_cron_events — never invent one. Use run_wp_cron instead when you just want every DUE event to fire.
Delete Cron Event16 tok
Unschedule one cron event — removes every scheduled occurrence of that hook. Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp cron event delete <hook>`) if SSH is configured with add_ssh. Use to fix a stuck or duplicated cron event. Pass a hook name from list_cron_events — never invent one.
List Cron Schedules8 tok
List every registered cron recurrence interval (hourly, twicedaily, daily, and any custom intervals plugins have added). Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp cron schedule list`) if SSH is configured with add_ssh. Useful for diagnosing 'why does this only run every N hours' when a plugin's own schedule choice is opaque.
List Database Tables8 tok
List every table in the site's own database, with its size on disk. Reads through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI (`wp db size --tables`) when the Bridge isn't there yet or doesn't answer. Use before run_db_search_replace or export_database_dump to see real table names/wildcards, never invent one.
Run Db Search Replace8 tok
PREVIEW a database search-and-replace across the site's own tables -- the standard way to migrate a domain (staging to production, http to https) across serialized WordPress data. Reads through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI (`wp search-replace --dry-run`) otherwise. This ALWAYS runs as a dry-run and only reports how many rows WOULD change; nothing is written. Pass the returned replacement count to apply_db_search_replace to actually run it.
Apply Db Search Replace20 tok
Actually run a database search-and-replace, after previewing it with run_db_search_replace. Reads/writes through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI (`wp search-replace`) otherwise. Re-checks a fresh dry-run immediately before writing and refuses to proceed if the replacement count no longer matches expected_replacements -- protects against a stale preview on a database that changed in between. This changes live data; there is no dry-run undo, so back up first if unsure.
Optimize Database Tables40 tok
Defragment and optimize every database table -- reclaims space after heavy deletes, does not change any data. Reads/writes through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI (`wp db optimize`) otherwise. Safe routine maintenance.
Check Database Repair40 tok
Check every database table for corruption, and repair any that are damaged if repair=true. Reads/writes through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI (`wp db check`/`wp db repair`) otherwise. Use check-only first (repair=false, the default) to see if anything is actually broken before repairing.
Export Database Dump40 tok
Export a SQL dump of the site's database, returned inline as text. Reads through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI (`wp db export`) otherwise. Capped at roughly 2MB of SQL text -- pass specific `tables` from list_database_tables to scope a large database down if the export is refused as too large.
Count Post Type Rows8 tok
Count how many rows of one post type exist (any status). Reads through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI (`wp post list --format=count`) otherwise. Pass a post_type slug from list_custom_posts or the site's own /wp/v2/types, e.g. post, page, product.
Count Orphaned Postmeta8 tok
Count wp_postmeta rows whose post no longer exists -- a common 'is my database clean' diagnostic, useful after bulk deletes or a messy plugin uninstall. Reads through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI otherwise. Read-only; does not delete anything.
Check Backup Restorability40 tok
Check whether this site's own database backup is structurally sound enough to trust for a restore -- NOT a real test-restore (that needs a separate sandbox database this app does not provision). Exports the current dump via export_database_dump's same Bridge/SSH path, compares it against list_database_tables, and flags: a truncated/cut-off export, any WordPress core table missing entirely, and any table whose CREATE statement has zero data rows. Run this after every real backup job to catch a silently broken backup before you actually need it.
List Rest Routes8 tok
Enumerate every REST route/namespace registered on this WordPress site -- WordPress core's own routes plus every plugin's own routes (WooCommerce, Rank Math, page builders...). Reads the site's own REST API root index (GET /wp-json/) -- the exact discovery document any REST client uses to find out what a site actually exposes. Use to answer 'what can I actually call on this site' or to confirm a plugin's REST surface is really there before assuming it. Pass namespace to filter, e.g. 'wp/v2'.
Get Rest Route Schema8 tok
Read the full endpoint detail for ONE REST route on this site -- its HTTP methods and each endpoint's declared args (required/type/default), straight from the site's own REST API root index. Pass the exact route path from list_rest_routes (e.g. '/wp/v2/posts/(?P<id>[\d]+)').
List Application Passwords8 tok
List the Application Passwords currently registered for the WordPress user this site connects as -- name, created date, last used, last IP. Never the secret itself (WordPress only ever returns that once, at creation, outside this app). Requires WordPress 5.6+. Use for security auditing: 'what has access to this site' and to find the uuid to revoke.
Revoke Application Password16 tok
Permanently revoke ONE Application Password by its uuid (from list_application_passwords) -- immediately blocks whatever client was using it. Distinct from forget_site, which only removes Imperal's OWN stored credential; this changes WordPress itself and affects every client using that password, not just this connection. Requires WordPress 5.6+.
List Wp Abilities8 tok
List every ability currently registered with WordPress's own Abilities API (wp-abilities/v1) on this site -- e.g. Bricks builder actions an MCP client (Claude, Cursor...) can run once 'Bricks > AI' has been enabled. Uses the site's own native REST route (registered by the WordPress MCP Adapter plugin), authenticated with the connected Application Password -- no Bridge change needed. An empty list means no plugin has registered abilities yet (e.g. Bricks AI has not been switched on).
Describe Builder Ability8 tok
Read ONE WordPress builder ability's own declared schema (input_schema, output_schema, and its readonly/destructive/idempotent annotations) before calling it -- e.g. 'bricks/set-page-elements' or 'bricks/add-element'. Works for any builder that registers abilities via WordPress's own Abilities API, not just Bricks. Always call this before call_builder_ability for an ability you haven't used yet, so the input object you send actually matches what the ability expects.
Call Builder Ability16 tok
Run ONE non-destructive WordPress builder ability by exact name (e.g. 'bricks/get-design-context', 'bricks/set-page-elements', 'bricks/add-element') -- the universal dispatcher that covers any builder registering abilities via WordPress's own Abilities API, without needing one tool per ability. Call describe_builder_ability first to see the expected 'input' shape. Once check_builder_support reports bricks_readiness 'ready', use this for ALL real page authoring -- never hand-author raw _bricks_page_content_2 postmeta as a substitute; it can silently render empty in the real builder. Abilities the site itself marks destructive are refused here -- use call_builder_ability_risky for those.
Call Builder Ability Risky16 tok
Run ONE ability the site itself marks destructive (e.g. an ability that deletes or irreversibly overwrites content) after explicit confirmation. Refuses any ability that is NOT marked destructive -- use call_builder_ability for those instead. Same universal dispatcher shape as call_builder_ability, covering any builder on WordPress's own Abilities API.
Get Php Info8 tok
Get server information for a WordPress site: PHP version, loaded extensions, and memory_limit/max_execution_time/upload_max_filesize/post_max_size -- reads it through the Imperal Bridge plugin (2.6.0+). Feeds 'is this site tech-eligible for X' questions.
Check Debug Mode8 tok
Check whether WP_DEBUG / WP_DEBUG_LOG / WP_DEBUG_DISPLAY are on for a connected WordPress site -- these should normally be OFF in production, and WP_DEBUG_DISPLAY leaking PHP notices/warnings to visitors is a common, genuinely risky misconfiguration. Reads through the Imperal Bridge plugin (2.6.0+).
Check File Permissions8 tok
Sanity-check wp-config.php and wp-content permissions on a connected WordPress site -- wp-config.php world-readable leaks database credentials; wp-content writable by everyone allows arbitrary file drops. Read-only: never changes any permission. Reads through the Imperal Bridge plugin (2.6.0+).
List Admin Users8 tok
List only the users with the administrator role on a connected WordPress site -- a common security audit ask ('who has admin on this site'). Native WordPress REST API filter, no Bridge or SSH needed.
Get Wp Config Constants8 tok
Read a SAFE, hard-allowlisted subset of a connected WordPress site's wp-config.php constants (WP_ENV/WP_DEBUG/WP_CACHE, WP_HOME/WP_SITEURL, table prefix, WP version pin, DISALLOW_FILE_EDIT/MODS, AUTOMATIC_UPDATER_DISABLED) -- NEVER database credentials or auth keys/salts. Reads through the Imperal Bridge plugin (2.7.0+).
List Must Use Plugins8 tok
List must-use (mu-) plugins on a connected WordPress site -- these are invisible to list_plugins/list_native_plugins because WordPress core excludes them from the regular plugins list (mu-plugins can't be deactivated). Reads through the Imperal Bridge plugin (2.7.0+).
List Drop Ins8 tok
List WordPress core drop-in files present on a connected site (object-cache.php, advanced-cache.php, db.php, etc.) -- shows which caching/DB layer is actually in play. Reads through the Imperal Bridge plugin (2.7.0+).
Get Environment Type8 tok
Read WordPress 5.5+'s own declared environment type for a connected site: production, staging, development, or local (defaults to 'production' if the site never set WP_ENVIRONMENT_TYPE). Reads through the Imperal Bridge plugin (2.7.0+).
Tail Debug Log8 tok
Read the last N lines of a connected WordPress site's wp-content/debug.log (the file WP_DEBUG_LOG writes to). Reads through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI otherwise. If the site has WP_DEBUG_LOG off, or has never logged an error, there is honestly no file -- reported as exists=false, never fabricated content.
Clear Debug Log16 tok
Truncate a connected WordPress site's wp-content/debug.log to empty (the file is truncated in place, never deleted, so WordPress can keep writing to it without recreating it). Reads/writes through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI otherwise.
Tail Php Error Log8 tok
Read the last N lines of a connected WordPress site's PHP error log, at the path PHP itself reports via ini_get('error_log') -- never a guessed distro-specific path. Reads through the Imperal Bridge plugin if it's installed (no SSH needed at all); falls back to SSH + WP-CLI otherwise. If PHP has no error_log configured (likely logging to the web server's own error log instead), this is reported honestly rather than fabricating a path.
List Registered Post Types8 tok
List every post type registered on a connected WordPress site -- not just the ones already known, but every CPT a plugin or theme registered -- with its REST base slug, hierarchical/viewable flags, and which taxonomies it's associated with. Reads the site's own native `GET /wp/v2/types` (context=edit where the connected user's role allows it, otherwise a plain read). Use this before list_custom_posts to discover a CPT slug dynamically instead of already having to know it.
List Registered Taxonomies8 tok
List every taxonomy registered on a connected WordPress site -- native categories/tags plus any custom taxonomy a plugin or theme registered -- with its REST base slug, hierarchical/public flags, and which post types it's attached to. Reads the site's own native `GET /wp/v2/taxonomies` (context=edit where the connected user's role allows it, otherwise a plain read). Useful for populating a taxonomy picker dynamically.
List Reusable Blocks8 tok
List Gutenberg reusable blocks (WordPress now calls these 'synced patterns') on a connected site -- real posts stored under the `wp_block` post type, with each one's sync status (fully synced vs. an unsynced/partial pattern). Reads the site's own native `GET /wp/v2/blocks` (WordPress core since 5.0) -- no Bridge or SSH needed. Useful for a 'which reusable block should I edit / is this content actually synced everywhere it's used' question.
List Block Patterns8 tok
List every block pattern registered on a connected site -- core, theme, and plugin-supplied patterns available in the block inserter, with categories, keywords, which block types/post types it's restricted to, and its source (core/theme/plugin). Reads the site's own native `GET /wp/v2/block-patterns/patterns` (WordPress core since 6.0) -- no Bridge or SSH needed. Read-only: patterns are PHP/JSON registrations, not database rows, so WordPress itself has no REST route to create/edit/delete one.
List Registered Webhooks8 tok
List WooCommerce webhooks configured on a site -- URL, topic (e.g. order.created), and status (active/paused/disabled). Native `wc/v3/webhooks` -- requires WooCommerce.
Get Webhook8 tok
Read one WooCommerce webhook's full configuration (topic, delivery URL, status, dates). Secret is never returned by WooCommerce.
Create Webhook16 tok
Create a WooCommerce webhook: which topic to fire on (order.created, product.updated, etc.) and the HTTPS URL to deliver the payload to. Lets a backend developer wire this site into an external system without touching wp-admin.
Update Webhook16 tok
Change URL/topic/status/secret on an existing WooCommerce webhook without touching omitted fields.
Delete Webhook16 tok
Permanently remove a WooCommerce webhook. Use list_registered_webhooks first to find the webhook_id.
Preview Bulk Webhook Status20 tok
Preview changing status for 1-100 explicit WooCommerce webhooks. Makes no writes and returns the exact token required to apply.
Apply Bulk Webhook Status60 tok
Apply a previously previewed status change to 1-100 explicit WooCommerce webhooks. Re-reads every target and stops before all writes if any webhook changed.
List Scheduled Actions8 tok
List Action Scheduler jobs (WooCommerce's own background job queue) -- pending, in-progress, complete, failed, or canceled, filterable by status/hook/group. Reads through the Imperal Bridge plugin (needs 2.12.0+); Action Scheduler itself must be active on the site (ships inside WooCommerce).
Get Scheduled Action8 tok
Read one Action Scheduler job in full detail -- hook, status, group, scheduled time, args, and its own execution log entries (started/completed/failed messages). Reads through the Imperal Bridge plugin (needs 2.12.0+).
Run Scheduled Action16 tok
Force one Action Scheduler job to run right now, regardless of its scheduled time -- the exact same 'Run' row action the Scheduled Actions admin screen offers. Runs synchronously and surfaces whatever error the job itself raises. Reads through the Imperal Bridge plugin (needs 2.12.0+).
Cancel Scheduled Action16 tok
Cancel one pending Action Scheduler job so it never runs. Reads through the Imperal Bridge plugin (needs 2.12.0+).
Retry Failed ActionFree
Re-queue one FAILED Action Scheduler job for another attempt. Action Scheduler has no native retry, so this schedules a brand-new action with the same hook/args/group -- the same thing a developer calling its own public API by hand would do. Only actions already in the 'failed' status are eligible. Reads through the Imperal Bridge plugin (needs 2.12.0+).
Count Actions By Status8 tok
One-glance health snapshot of the Action Scheduler queue -- how many jobs are pending, in-progress, complete, failed, or canceled. The single most useful backend-dev diagnostic for this whole area ('47 failed, 3 pending'). Reads through the Imperal Bridge plugin (needs 2.12.0+).
Get Permalink Structure8 tok
Read the site's current permalink structure plus its category/tag base slugs — the same three values wp-admin's Settings > Permalinks screen reads. Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp option get`) if SSH is configured with add_ssh. Native /wp/v2/settings is not used because permalink_structure exposure there is unreliable across WordPress versions and never included category_base/tag_base at all.
Update Permalink Structure20 tok
Update the site's permalink structure and/or category/tag base slugs, then flush rewrite rules — the same two-step wp-admin's Settings > Permalinks 'Save Changes' button performs. Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp rewrite structure`) if SSH is configured with add_ssh. Pass an empty permalink_structure for plain '?p=123' links.
Flush Rewrite Rules16 tok
Flush the site's rewrite rules — regenerates the compiled rules WordPress uses to match incoming URLs, without changing the permalink structure itself. Useful after a plugin/theme registers new post types or CPT rewrite rules and 404s appear on its own URLs. Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp rewrite flush`) if SSH is configured with add_ssh.
List Rewrite Rules8 tok
List the site's compiled rewrite rules — each rule's regex match pattern and the query string it maps to, matching `wp rewrite list`. Useful for diagnosing why a custom post type or plugin URL 404s. Reads through the Imperal Bridge plugin if it's installed, or falls back to SSH + WP-CLI (`wp rewrite list`) if SSH is configured with add_ssh.
Export Wxr40 tok
Export the site's content as a WXR (WordPress eXtended RSS) document — the same format Tools > Export produces, importable into any WordPress site. Optionally scoped by content/post type, author, category, date range, or status. Reads through the Imperal Bridge plugin if it's installed (core's own export_wp(), no extra plugin needed), or falls back to SSH + WP-CLI (`wp export --stdout`) if SSH is configured with add_ssh. Capped at ~2MB of XML text — narrow the filters if the export is refused as too large. WXR does not include site options/settings or the attachment FILES themselves, only their metadata.
Import Wxr40 tok
Import a WXR (WordPress eXtended RSS) document into the site — the same format Tools > Import's WordPress importer accepts. SSH-ONLY: this needs WP-CLI's own `wp import`, backed by the wordpress-importer plugin, which has no safe headless REST equivalent (its only entry point is a web-admin upload wizard). Requires SSH configured with add_ssh, AND the wordpress-importer plugin installed and active on the target site (install_plugin with slug_or_url='wordpress-importer' if it's missing) — reports a clear error rather than a silent no-op if either is missing.
Verify Core Checksums8 tok
Verify WordPress core files against the official WordPress.org checksums via WP-CLI (`wp core verify-checksums`). Read-only and SSH-only: it does not load WordPress during verification, which makes it useful when checking for modified core files. A mismatch is reported as a finding, never silently treated as a pass.
Verify Plugin Checksums8 tok
Verify one installed WordPress.org plugin's files against its official checksums via WP-CLI (`wp plugin verify-checksums <plugin>`). Pass an exact plugin slug from list_plugins. Premium, custom, or non-WordPress.org plugins may have no official checksum manifest; that response is reported honestly, not as a pass or a failure.
Send Test Email16 tok
Ask WordPress to send one fixed test message to an email address through its own wp_mail() path. Requires Imperal Bridge 2.15.0+ and an administrator Application Password. A success means WordPress accepted the message for sending — check the inbox/spam folder to confirm actual delivery.
Get Mail Configuration8 tok
Identify the WordPress mail mechanism without exposing credentials: reports active WP Mail SMTP when its plugin is detected, otherwise reports native/undetermined wp_mail() handling. Requires Imperal Bridge 2.15.0+ and an administrator Application Password.
Run Core Site Health Tests40 tok
Run WordPress core's own fixed Site Health REST checks: background updates, loopback requests, HTTPS status, WordPress.org communication, and Authorization-header handling. This is read-only and distinct from get_site_health's connectivity/count check; requires an administrator Application Password.
Get Core Site Health Directory Sizes8 tok
Read the directory and database size data calculated by WordPress core's Site Health API. Read-only; requires an administrator Application Password and WordPress 5.6+ for the documented directory-sizes REST endpoint.
List Active Sessions8 tok
List a WordPress user's active native login sessions: login time, expiry, IP address, and user-agent. Requires Imperal Bridge 2.16.0+ and an administrator Application Password.
Destroy User Sessions20 tok
Force-log out one WordPress user everywhere by destroying all of that user's native login sessions. Does not change their password or delete the account. Requires Imperal Bridge 2.16.0+.
List Network Sites8 tok
List subsites in a connected WordPress Multisite network: blog ID, domain, path, public/archived/spam/deleted state, and registered date. Requires Imperal Bridge 2.18.0+ and a WordPress super-administrator; returns a clear result on a normal single-site installation.
List Network Plugins8 tok
List installed plugins on a connected WordPress Multisite network, including each plugin's file, name, version, and network-wide activation state. Requires Imperal Bridge 2.18.0+ and a WordPress super-administrator.
Create Network SiteFree
Create one new subsite in a connected WordPress Multisite network using its domain, path, title, and the existing owner user's email. Requires Imperal Bridge 2.18.0+ and a WordPress super-administrator. This does not create users, install plugins, or alter other network sites.