The Complete Catalog

Every Respira tool your AI can call on WordPress

393 catalog entries below, drawn from a live surface of 320+ tools and abilities across WordPress core, the native Site Editor, 17 page builders, WooCommerce, and Advanced Custom Fields. 210+ tools and abilities ship out of the box, the WooCommerce add-on adds its own 105 storefront and store tools, and 270+ abilities from that surface are also exposed to browser AI through WebMCP. Write tools are backed by snapshots, approvals, and audit logs. Built so AI coding agents and MCP clients like Claude Desktop, Cursor, and the Respira CLI can operate on a WordPress site without an unsafe raw SQL path.

320+tools and abilities
22categories
17page builders + site editor
100%writes snapshot-backed
Filter catalog

Tools by page builder

elementor toolsdivi toolsbricks toolsgutenberg toolswoocommerce toolsacf tools

New in 8.7.4: the native Site Editor

Until 8.0 an agent could edit pages on a block theme but could not touch the things that decide how those pages look: the templates, the synced patterns, the navigation entity, the theme.json tokens. That surface is now addressable, with the same envelope as every other Respira write. These families are listed here rather than in the rows below because the catalog snapshot is regenerated on its own schedule.

Block templates and template parts

List and read native Full Site Editing templates with hierarchy, source, customization state, public route and a concurrency fingerprint. Writes are staged, snapshot-backed, read-back verified and server-render verified. Resetting a customization hands the route back to the theme.

wordpress_list_site_templateswordpress_get_site_templatewordpress_create_site_templatewordpress_update_site_templatewordpress_reset_site_template

Synced patterns

Create, read, update and delete native synced and unsynced user patterns, so an agent can change one pattern instead of every page that uses it.

wordpress_list_site_patternswordpress_get_site_patternwordpress_create_site_patternwordpress_update_site_patternwordpress_delete_site_pattern

Block navigation

The navigation block stores its menu as a separate entity, not as a classic menu. These tools address that entity directly, with the same approval-first and read-back envelope.

wordpress_list_site_navigationswordpress_get_site_navigationwordpress_create_site_navigationwordpress_update_site_navigationwordpress_delete_site_navigation

Design tokens

A first-class agent surface over theme.json: colour, typography, spacing and breakpoint tokens are readable and writable by name, so a restyle is a token change rather than a sweep of inline styles.

wordpress_list_design_tokenswordpress_create_design_tokenwordpress_update_design_tokenwordpress_delete_design_token

How this catalog works

01

Every tool is a discrete AI action

An agent calls one tool per decision. wordpress_update_page, respira_acf_update_field, wordpress_bricks_update_global_class. Names are stable, inputs are typed, outputs are structured. Write once, reuse everywhere.

02

Every write is safe by default

Writes snapshot the affected post before and after the change, route through the approval queue when the duplicate-before-edit setting is on, and land in an audit log by default. Rollback is a single tool call. Dry-run works on every ACF write.

03

Every tool has a clear license tier

Reads are free on Lite. Writes are Maker and above. Bulk operations are Builder and above. The plugin enforces each gate independently; the backend issues scopes on the API key based on the plan. No accidental billing surprises.

Browse the catalog

Category
Operation
Page builder
License tier
Safety feature
Showing 393 tools across 22 categories.

# Context & Site Intelligence (19)

Everything an AI agent needs to reason about a WordPress site before acting. Detect the page builder, active plugins, theme, WordPress version, capabilities, and quirks. Reliable site introspection is the foundation every other category builds on.

Get WordPress site context. By default this returns a compact summary to reduce token use; set detail="full" only when you need the full plugin/theme inventory.
read lite
List every site available in the current Respira multi-site configuration and show which one is active.
read lite
Return the currently active site in the Respira multi-site configuration.
read lite
List native Full Site Editing templates or template parts with hierarchy, source, customization state, public route, block count, and a concurrency fingerprint.
read lite
Read one FSE template or template part as normalized blocks. Returns its source, render route, supported targeted operations, and expected_fingerprint for safe updates.
read lite
Stage creation of a native FSE template customization. Structural writes are approval-first; pass dry_run=true to preview or edit_target=live only when Direct Editing is enabled.
write lite
Stage targeted path-addressed FSE block operations with stale-write protection. Operations: set_attributes, replace_block, insert_before, insert_after, insert_inside, remove_block, move_block.
write lite
Stage removal of a user FSE customization so the theme-provided template becomes active. Requires the current fingerprint and retains a structural rollback snapshot.
write lite
List native WordPress site patterns, distinguishing editable user patterns from immutable theme/plugin patterns. Returns sync status, source, block count, and fingerprints.
read lite
Read a user, theme, plugin, or core pattern as a path-addressed block tree. User patterns return an expected_fingerprint and references for safe targeted updates.
read lite
Stage creation of a native synced or unsynced user pattern. The write is approval-first, snapshot-backed, read-back verified, and server-render verified.\n\nApproval flow: the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the create.
write lite
Stage targeted path-addressed operations on an editable user pattern with stale-write, wrong-target, snapshot, and render protection.\n\nApproval flow: the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the update.
write lite
Stage deletion of an editable user pattern. Referenced patterns are refused unless allow_referenced_delete is explicitly approved; a rollback snapshot is retained.\n\nApproval flow: destructive — the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the delete.
destructive lite
List native block navigation entities with compact nested items, exact block paths, status, block count, and concurrency fingerprints.
read lite
Read one native block navigation entity as a compact menu tree plus its lossless path-addressed block document, references, and expected_fingerprint.
read lite
Stage creation of a native block navigation entity. The write is approval-first, snapshot-backed, read-back verified, and server-render verified.\n\nApproval flow: the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the create.
write lite
Stage exact path-addressed operations on a native block navigation entity while preserving unknown extension blocks and rejecting stale or wrong targets.\n\nApproval flow: the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the update.
write lite
Stage deletion of a native block navigation entity. Referenced navigation is refused unless allow_referenced_delete is explicitly approved; a rollback snapshot is retained.\n\nApproval flow: destructive — the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the delete.
destructive lite
Switch to a different WordPress site in the active Respira multi-site configuration.
read lite

# Pages (10)

Create, read, duplicate, edit, and delete WordPress pages. Every write is snapshot-backed and honors the duplicate-before-edit safety model so an agent can never permanently break a live page without explicit override.

List all pages with optional filtering.
read snapshotapproval maker
Get full content of a specific page including meta data and builder information.
read snapshotapproval maker
Create an approval-gated duplicate of a page for staged editing. Optional, NOT required before edits: every write already auto-captures a snapshot, and the write response returns a snapshot_uuid for one-call rollback via respira_restore_snapshot. Use a duplicate only when you want a separate copy the user reviews and approves in WordPress admin (Respira → Page Approvals) before it replaces the original. After creating it, edit the duplicate with wordpress_update_page.
write snapshotapproval maker
Update PAGE-LEVEL fields (title, status, slug, full HTML content replacement, custom CSS). For editing SPECIFIC elements WITHIN a page (text widgets, images, buttons, headings), use respira_update_element instead — it is element-aware, builder-aware, snapshot-safe, and works across all 17 page builders. Use respira_update_page only when you need to replace the entire content body, change the page title/slug/status, or set page-level metadata. When direct editing is enabled and you target an original page, Respira returns a confirmation_required preflight by default so you can choose live/original or duplicate.
write snapshotapproval maker
Delete a page. IMPORTANT: By default, this only works on Respira-created duplicates. To delete an original: pass `force=true` AND `confirm_live_edit=true`. The "Allow Direct Editing" setting in Respira must also be enabled (disabled by default for safety).\n\nApproval flow (added v6.14.2): the first call returns `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the delete. Pre-v6.14.2 the schema did not expose `approval_token` so agents could see the token in the response but had no way to pass it back — leaving every agent-driven cleanup of its own duplicates stuck.
destructive snapshotapproval maker
Row-level outline of a builder page. Lighter than extract_builder_content; one entry per top-level row with { index, type, kind, primary_heading, child_count, child_types } so you can answer "what is the structure of this page" without walking the full tree client-side. Works on every supported builder; adapters with a dedicated outline implementation (WPBakery + Uncode today) return a richer per-row child-type histogram.
read snapshotapproval maker
Run a real PageSpeed Insights v5 audit against a public URL. Returns Lighthouse lab data (scores for performance/accessibility/best-practices/seo, lab metrics FCP/LCP/TBT/CLS/SI/TTI, opportunities ranked by savings_ms, diagnostics) plus CrUX field data (real-user p75 metrics over the trailing ~28 days, when Google has enough traffic to publish them for the URL). Cached for 1 hour per (url, strategy). Pass `fresh=true` to bypass the cache. `strategy="both"` runs mobile + desktop in series. Set the `respira_pagespeed_api_key` WordPress option to lift the 1 req/sec free-tier rate limit to 200 req/min.
readwrite snapshotapproval maker
Analyzer-envelope wrapper around the PSI audit. Returns the standard `{success, score, grade, issues, recommendations, metrics, data_source, measured_at}` shape that the Reports → Health tab consumes. Score = Lighthouse performance score (0-100). Grade A≥90, B≥75, C≥60, D≥40, F<40. Issues derived from Lighthouse opportunities, ranked by savings_ms. CrUX p75 field-data surfaces as an info-priority recommendation when available.
read snapshotapproval maker
Create a complete page from a declarative structure. Accepts builder-specific widget definitions and creates the page with all elements in one call. Returns page_id, edit_url, and preview_url.\n\nNested shape (Divi 5 / any nesting builder): use `children: [...]` at every container level, e.g. `structure: [{ type: "section", children: [{ type: "row", children: [{ type: "column", children: [{ type: "heading", settings: { title: "Hi", tag: "h1" } }] }] }] }]`. Divi also accepts `rows/cols/columns/modules/elements/innerBlocks` as `children` aliases. Flat shape also works: pass leaf modules at the top level and the builder auto-wraps them in section > row > column.
readwrite snapshotapproval maker
Apply an operation across up to 100 pages. Supports strip_inline_styles, find_and_replace, and custom operations. Each page gets a snapshot for rollback. Rate limited to 3/hr.\n\nApproval flow: destructive — the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the operation.
write snapshotapproval maker

# Posts (5)

Read and write native WordPress posts with the same safety envelope used for pages. Covers every standard post lifecycle operation.

List all blog posts with optional filtering.
read snapshotapproval maker
Get full content of a specific post. Response includes author object ({id, login, display_name}), taxonomies map ({category, post_tag, ...} each with term {id, name, slug}), and featured_media ({id, url}) alongside title/content/slug/status/date/url/meta.
read snapshotapproval maker
Create an approval-gated duplicate of a post for staged editing. Optional, NOT required before edits: every write already auto-captures a snapshot, and the write response returns a snapshot_uuid for one-call rollback via respira_restore_snapshot. Use a duplicate only when you want a separate copy the user reviews and approves in WordPress admin (Respira → Page Approvals) before it replaces the original. After creating it, edit the duplicate with wordpress_update_post.
write snapshotapproval maker
Update a post. Supports author reassignment, taxonomy terms (categories/tags/custom), and featured media. When direct editing is enabled and you target an original post, Respira returns a confirmation_required preflight by default so you can choose live/original or duplicate.
write snapshotapproval maker
Delete a post. IMPORTANT: By default, this only works on Respira-created duplicates. The force parameter only works if "Allow Direct Editing" is enabled in Respira settings (disabled by default for safety).\n\nApproval flow: destructive — the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the delete.
destructive snapshotapproval maker

# Custom Post Types (6)

Read and write any registered custom post type. Essential for themes and plugins that store content in non-default types (testimonials, case studies, products, team members).

List every Custom Post Type Respira created via wordpress_create_post_type. Different from wordpress_list_post_types — that one enumerates EVERY registered post type (core, theme, third-party, Respira-created). This one shows only Respira-owned ones, with their full definition + creation timestamp.
read snapshotapproval maker
List posts of a custom post type. Each row includes author ({id, login, display_name}), taxonomies map, and featured_media alongside id/title/slug/status/date/url.
read snapshotapproval maker
Get custom post details.
read snapshotapproval maker
Create a new post. Supports author, taxonomy terms (categories/tags/custom), and featured media inline so the full "same category and author as X" pattern works in a single call.
write snapshotapproval maker
Update a custom post. Supports author reassignment, taxonomy terms (categories/tags/custom), and featured media. When direct editing is enabled and you target an original item, Respira returns a confirmation_required preflight by default so you can choose live/original or duplicate.
write snapshotapproval maker
Delete a custom post.\n\nSafety flow (N9 fix, v6.19.0): destructive. By default this only works on Respira-created duplicates. To delete an original: pass `force=true` AND `confirm_live_edit=true` (the latter requires "Allow Direct Editing" enabled in Respira settings). Approval gate may also fire — if response is `respira_approval_required`, pass the returned `approval_token` back to complete the delete. Pre-v6.19.0 the schema lacked `force`, `confirm_live_edit`, and `approval_token` so agents could not complete the flow at all.
destructive snapshotapproval maker

# Media (6)

Upload, read, update, delete, and sideload media. Supports alt text, captions, descriptions, and bulk metadata updates.

List all media files (images, videos, etc.).
read snapshot maker
Upload a media file (image, document, video) to WordPress. Supports base64 encoded files, file URLs, file paths, or raw SVG markup strings (starting with <svg or <?xml). Fails fast with a clear error if the file exceeds 50MB (override via RESPIRA_MAX_UPLOAD_MB) or the upload does not complete within 120 seconds (override via RESPIRA_UPLOAD_TIMEOUT_MS).
write snapshot maker
Get single media item details.
read snapshot maker
Update media metadata (title, alt text, caption).
write snapshot maker
Batch update media items (alt text, title, caption). Up to 50 items per call. Useful for fixing missing alt text across multiple images.
write snapshot maker
Delete a media file. Approval-gated since v7.1.0-beta.1 — the first call returns `code: respira_approval_required` with an `approval_token`; pass that token in the second call to confirm. Same flow as `delete_page` / `delete_user` / `delete_plugin`.
destructive snapshot maker

Full menu and menu-item CRUD plus location assignment. Build and modify site navigation programmatically.

Build a complete Divi mega menu in one call. Creates (or reuses) a nav menu, adds a top-level item carrying Divi\
readwrite snapshot maker
List all navigation menus. Includes WPML translation info if available.
read snapshot maker
Get a navigation menu with all its items. Includes WPML translation info if available.
read snapshot maker
Create a new navigation menu.
write snapshot maker
Update a navigation menu.
write snapshot maker
Delete a navigation menu.\n\nApproval flow (N9 fix, v6.19.0): destructive — first call returns `respira_approval_required` with `approval_token`; pass it back to complete the delete.
destructive snapshot maker
List all registered menu locations and their assigned menus.
read snapshot maker
Assign a menu to a theme location.
write snapshot maker
List all items in a menu with their hierarchy.
read snapshot maker
Create a new menu item. Can link to pages, posts, custom URLs, or categories.
write snapshot maker
Get a single menu item by ID.
read snapshot maker
Update a menu item.
write snapshot maker
Delete a menu item.
destructive snapshot maker
Add a navigation menu widget to a page.
write snapshot maker

# Taxonomies & Terms (11)

Read and write categories, tags, and custom taxonomies. Term creation, hierarchy, and assignment.

List all registered taxonomies.
read snapshot maker
Get taxonomy details.
read snapshot maker
List terms in a taxonomy.
read snapshot maker
Get term details.
read snapshot maker
Create a new term.
write snapshot maker
Update a term.
write snapshot maker
Delete a term.\n\nApproval flow: destructive — the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the delete.
destructive snapshot maker
Create a new taxonomy registered against WordPress core via register_taxonomy() on init. Stored in wp_option respira_custom_taxonomies. Slug rules same as CPT (lowercase, letters/digits/underscore, 1-20 chars, must start with letter). Attach to one or more post types via the post_types array. After creation, wordpress_create_term lands new terms inside the taxonomy.
write snapshot maker
Update a Respira-owned taxonomy. Slug is immutable. Use this to add/remove post type attachments or change labels.
write snapshot maker
Delete a Respira-owned taxonomy. Existing terms stay in the database (wp_terms + wp_term_taxonomy rows are preserved) but stop appearing until the taxonomy is re-registered. Response includes orphaned_term_count.
destructive snapshot maker
List every taxonomy Respira created. Different from wordpress_list_taxonomies — that one enumerates every registered taxonomy site-wide.
read snapshot maker

# Users (5)

Create, read, update, and delete WordPress users and roles. Respects capability checks.

List all users with optional filtering by search term.
read maker
Get user details by ID.
read maker
Create a new user.\n\nApproval flow (N9 fix, v6.19.0): destructive — the first call returns `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the create. Pre-v6.19.0 the schema did not expose `approval_token` so agents could see the token in the response but had no way to complete the flow.
write maker
Update user information.\n\nApproval flow (N9 fix, v6.19.0): destructive — first call returns `respira_approval_required` with `approval_token`; pass it back to complete the update.
write maker
Delete a user.\n\nApproval flow (N9 fix, v6.19.0): destructive — first call returns `respira_approval_required` with `approval_token`; pass it back to complete the delete.
destructive maker

# Comments (5)

Full comment moderation and management. Read, create, edit, approve, spam, and delete comments.

List all comments with optional filtering.
read lite
Get comment details by ID.
read lite
Create a new comment.
write lite
Update a comment.
write lite
Delete a comment.\n\nApproval flow: destructive — the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the delete.
destructive lite

# Options & Settings (4)

Read and write wp_options. The lowest-level settings store in WordPress. Every plugin and theme setting lives here.

List WordPress options (with optional search filter).
read approval maker
Get option value by name.
read approval maker
Update an option value.
write approval maker
Delete an option.\n\nApproval flow: destructive — the first call may return `code: respira_approval_required` with `data.approval_request.approval_token`. Pass that token back via the `approval_token` param on the next call to complete the delete.
destructive approval maker

# Plugins (6)

Experimental plugin lifecycle tools: list, install, activate, deactivate, update, delete. Higher-risk operations routed through approval by default.

EXPERIMENTAL: List all installed plugins with their status, version, and update availability. Requires plugin management to be enabled in Respira settings.
read approval studio
EXPERIMENTAL: Install a plugin from WordPress.org or a ZIP URL. Requires plugin management to be enabled in Respira settings. Approval-gated: first call returns `respira_approval_required` with an `approval_token`; call again with that token to complete the install. Use with caution.
write approval studio
EXPERIMENTAL: Safely activate a plugin. Respira checks declared PHP, WordPress, dependency and companion-plugin compatibility, activates in a fresh loopback request, probes REST and frontend boot, and automatically deactivates the plugin if the site fails. Approval-gated. Use force_without_probe only after explicit operator approval on a host that blocks loopback requests.
write approval studio
EXPERIMENTAL: Deactivate a plugin. Requires plugin management to be enabled in Respira settings. Approval-gated: first call returns `respira_approval_required` with an `approval_token`; call again with the same `slug` plus that token to complete deactivation.
write approval studio
EXPERIMENTAL: Update a plugin to the latest version. Requires plugin management to be enabled in Respira settings. Approval-gated: first call returns `respira_approval_required` with an `approval_token`; call again with the same `slug` plus that token to complete the update. Make sure you have backups before updating.
write approval studio
EXPERIMENTAL: Permanently delete a plugin. Requires plugin management to be enabled in Respira settings. The plugin must be deactivated first. Approval-gated: first call returns `respira_approval_required` with an `approval_token`; call again with the same `slug` plus that token to confirm deletion.
destructive approval studio

# Page Builder Core (17)

Cross-builder element operations. Target elements by selector or ID, extract content, inject content, patch pages, find builder-specific targets. The intelligence layer under every builder-native tool.

Detect which page builder is active on the site and get its version, support level (Full Intelligence / Smart Defaults / Basic), available modules/widgets, and capabilities. Call this first before working with builder content to understand what format to use. Pass debug=true to bypass the cache and include per-builder detection_signals (constants, classes, active plugin slugs, plugin headers, theme) — use this when a builder is installed but reports detected=false.
read snapshotdry-run maker
List the Divi Theme Builder global templates on the site (headers, footers, and body layouts). Each entry carries a layout_id you pass to update_theme_builder_template or apply_builder_patch to edit it, its kind (header/footer/body), name, and where it is assigned. Use this to find a global header before editing it (e.g. to build a mega menu). Works on Divi 4 and Divi 5.
read snapshotdry-run maker
Create a Divi global header, footer, or body Theme Builder template, with optional page assignments. Snapshot-protected (reversible within a session). Pass structure as a Divi 4 shortcode string, or a Divi 5 block/node array. Works on Divi 4 and Divi 5.
write snapshotdry-run maker
Replace the content of an existing Divi Theme Builder layout (a global header, footer, or body) by its layout_id (from list_theme_builder_templates). This rewrites the layout on EVERY page that uses it, and unlike a page edit it goes live immediately: there is no staged duplicate and no approval step, because Divi resolves a global layout by id and a second copy would compete with the original. A snapshot is taken first, so it is reversible with restore_snapshot. The first call is refused unless confirm_live_edit is true. For a targeted single-module edit, use apply_builder_patch on the same layout_id instead. Works on Divi 4 and Divi 5.
write snapshotdry-run maker
Extract the full structured content from a page as builder-native JSON. Use this to see the complete page layout with all sections, columns, and widgets. For targeted searches, prefer find_element (faster). For a lightweight overview, prefer find_builder_targets. Returns the raw builder data structure that can be modified and passed back to inject_builder_content. Works on any post type (pages, posts, custom post types). The `builder` arg is optional — if omitted, the active site builder is auto-detected via get_builder_info.
read snapshotdry-run maker
List all editable builder modules/blocks on a page with their types, labels, and text content — without returning the full builder JSON. Use this for a quick overview of what is on a page. For finding a specific element by text or class, use find_element instead. Returns `total_matches` (true total independent of limit), `offset`, `has_more`, and `next_offset` for pagination. WPBakery / Uncode targets now surface a populated `label` / `admin_label` / `text` so you do not have to grep the raw shortcode preview.
read snapshotdry-run maker
Per-shortcode / per-block inline attribute schemas for the requested builder. Currently populated for WPBakery + Uncode + TagDiv via vc_map() at runtime (cached as a transient for 1h). Other builders return `schemas: {}` + `supported: false` + a structured hint. Use this to discover what attributes a specific `vc_*` / `uncode_*` shortcode accepts before writing.
read snapshotdry-run maker
REPLACE (or append to) the entire page builder layout. WARNING: By default this REPLACES all existing content (use mode:"append" to add content without destroying existing elements). For editing a single module, use wordpress_update_module instead. Use exactly: gutenberg, divi, elementor, bricks, beaver, oxygen, breakdance, brizy, thrive, visual-composer, wpbakery, flatsome, spectra, kadence, generateblocks, greenshift. For Divi, divi_version is required ("4" or "5"). Replacing a page that already has content with mode="replace" requires confirm_replace=true, else returns 409 respira_replace_confirmation_required. Alternatives: mode="append" to add to existing content, or edit_target="live" to overwrite the live page directly. The gate prevents silent data loss.\n\nCanonical Divi 5 nested shape: `content: [{ type: "section", children: [{ type: "row", children: [{ type: "column", children: [{ type: "heading", settings: {...} }] }] }] }]` (rows/cols/columns/modules/elements/innerBlocks also accepted as `children` aliases). Each Divi module needs its render-critical attr in `settings` (e.g. heading→title, text→content, button→button_text); the plugin names any missing one via `respira_divi_required_attrs_missing`.
write snapshotdry-run maker
Update a specific module within a page builder page. Supports finding modules by admin_label, path, or type. Only updates the specified module while preserving all other content.
write snapshotdry-run maker
Apply a list of targeted builder patch operations. Each operation is { identifier: { id|admin_label|path|type [+match_content] }, updates: { content?, attributes?, ...flat_settings? } }. The identifier block follows the same shape as wordpress_find_element\
write snapshotdry-run maker
Find an element in a page by ID, type, CSS class, text content, or uncode_shortcode_id. This is the PRIMARY tool for locating content to edit — use it instead of searching the database or reading PHP files. Works with all 17 page builders. Use identifier_type "content" to search by visible text (e.g. find a heading containing "2025" to update a year). On WPBakery + Uncode pages, prefer identifier_type "uncode_shortcode_id" — the id is stable across saves and theme updates while class lists and admin labels drift. Returns matching element(s) with their position, settings, and element ID for use with update_element.
read snapshotdry-run maker
Update settings or content on a specific element in a page. This is the PRIMARY tool for making content changes (text edits, style changes, image swaps, link updates, etc.). Works with all 17 page builders. First use find_element to locate the element, then pass the same identifier here with the updates object containing the new values. On WPBakery + Uncode pages, prefer identifier_type "uncode_shortcode_id" for stable round-trip matching. Response includes target_id, original_id, edit_target ("live" or "duplicate"), is_duplicate, duplicate_created and post_status so the caller can never mistake a duplicate-routed write for a live-page change.\n\nLive-edit confirmation: when respira_allow_direct_edit=1 AND the post is a published original, the first call returns `status: "confirmation_required"` with a `next_call_examples` payload. Re-call with the suggested `edit_target` (and `confirm_live_edit: true` for the live path) to acknowledge. Both params are exposed at the top level here so autonomous flows can complete the handshake through MCP without polluting the `updates` object.
write snapshotdry-run maker
Move an element to a different container or position within the page. Locate the element using the same identifier_type/identifier_value pattern as respira_find_element / respira_remove_element. The destination is a container PATH (e.g. "0.1" for sections[0].rows[1], or "root"/empty for top level), not a container element id.\n\nLive-edit confirmation: when writing to a published original, the first call can return `status: "confirmation_required"` with a `next_call_examples` payload. Re-call with `edit_target` (and `confirm_live_edit: true` for the live path) to acknowledge. Both params are exposed at the top level here; earlier schemas omitted them, so agents saw the handshake but could never complete it (C.Y., Elementor, bug: infinite confirmation loop).
write snapshotdry-run maker
Duplicate an element in a page. The copy is inserted immediately after the original. Uses the same identifier_type / identifier_value contract as find_element / update_element / remove_element — first locate the element, then pass the matching identifier here. Builders with no stable element IDs (WPBakery, Uncode, Flatsome, Visual Composer) should use identifier_type="text" / "css_class" / "widget_type" / "path" instead of "id".
readwrite snapshotdry-run maker
Remove an element from a page. Use the same identifier_type/identifier_value pattern as find_element and update_element — first locate the element, then pass the matching identifier to remove it.
destructive snapshotdry-run maker
Reorder child elements within a container. The container is identified by its PATH inside the page (e.g. "0.1" for sections[0].rows[1], or "root"/"" for the top level).\n\nLive-edit confirmation: when writing to a published original, the first call can return `status: "confirmation_required"`. Re-call with `edit_target` (and `confirm_live_edit: true` for the live path) to acknowledge. Both params are exposed at the top level here; earlier schemas omitted them, so agents could never complete the handshake.
write snapshotdry-run maker
Convert HTML into native page builder content. Extracts CSS styles, maps sections to builder widgets, and creates a page with a fidelity report showing conversion accuracy.
write snapshotdry-run maker

# Widget Shortcuts (27)

Convenience tools for adding common page-builder widgets (heading, button, image, section, etc.) without needing the full element schema. Accepts natural prompts like "add a hero with title X".

Add a heading widget to a page.
write snapshot maker
Add a text/paragraph widget to a page.
write snapshot maker
Add a button widget to a page.
write snapshot maker
Add an image widget to a page.
write snapshot maker
Add a section container to a page.
write snapshot maker
Add a video widget to a page.
write snapshot maker
Add a divider/horizontal rule to a page.
write snapshot maker
Add vertical spacing to a page.
write snapshot maker
Add an icon widget to a page.
write snapshot maker
Add an icon list widget to a page.
write snapshot maker
Add social media icons to a page.
write snapshot maker
Add a contact form to a page.
write snapshot maker
Add a Google Maps widget to a page.
write snapshot maker
Add a number counter widget to a page.
write snapshot maker
Add a progress bar widget to a page.
write snapshot maker
Add a testimonial widget to a page.
write snapshot maker
Add a tabbed content widget to a page.
write snapshot maker
Add an accordion/FAQ widget to a page.
write snapshot maker
Add a toggle (collapsible content) widget to a page.
write snapshot maker
Add an alert/notice widget to a page.
write snapshot maker
Add a raw HTML widget to a page.
write snapshot maker
Add a sidebar widget area to a page.
write snapshot maker
Add an image/content slider to a page.
write snapshot maker
Add a pricing table widget to a page.
write snapshot maker
Search for a stock image, download it to the Media Library, and add it as an image widget to a page — all in one call. Builder-agnostic: works with Elementor, Bricks, Beaver Builder, etc. Saves 3 separate tool calls.
write snapshot maker

# Elementor Intelligence (7)

Elementor-native tools: widget registry, widget schemas, global colors and typography, design-system introspection, JSON validation, custom JS. Operates on the real Elementor data structures.

List all registered Elementor widgets with metadata (name, title, icon, categories, keywords). Optionally filter by category. Use this to discover available widgets before building pages or to find the correct widget_type for get_widget_schema.
read snapshotdry-run maker requires elementor
Get the full JSON Schema for a specific Elementor widget type — every setting/control it accepts, with types, descriptions, defaults, and allowed values. Use this before update_element to know exactly what settings a widget supports. Example: get schema for "heading" to learn it accepts title, tag, alignment, etc.
read snapshotdry-run maker requires elementor
Export the Elementor design system: global colors (system + custom) and typography (system + custom). Single-call context for AI agents — use this to understand the site\
readwrite snapshotdry-run maker requires elementor
Add or update global colors in the Elementor active kit. Merges by _id — existing colors with matching _id are updated, new _ids are appended. Does not delete existing colors.
write snapshotdry-run maker requires elementor
Add or update global typography styles in the Elementor active kit. Merges by _id — existing entries with matching _id are updated, new _ids are appended.
write snapshotdry-run maker requires elementor
Add custom JavaScript to an Elementor page by inserting an HTML widget containing a <script> tag into a container. Use for analytics, tracking, animations, or custom interactivity. The JS is stripped of any <script> tags (auto-wrapped).
write snapshotdry-run maker requires elementor
Validate Elementor JSON for rendering fidelity. Catches common conversion issues: missing _margin (causes WordPress default margin injection), missing typography_typography:"custom" flag (causes Elementor to silently ignore fonts), column width collapsing, boxed-vs-fullwidth confusion, and missing mobile breakpoints. Use this to validate JSON from any pipeline (HTML-to-Elementor, manual builds, or external converters) before injection.
read snapshotdry-run maker requires elementor

# Bricks Intelligence (25)

Bricks Builder-native tools: global classes, color palette, theme styles, typography variables, and the bricks_template component library. Full ACSS awareness.

List all Bricks global CSS classes with their settings (CSS properties). Returns array of {id, name, settings, category}. Use this to discover existing design tokens before creating new ones.
read snapshotdry-run maker requires bricks
Create a new Bricks global CSS class. Settings use Bricks composite key format (e.g. "_padding", "_margin", "_typography"). Returns the created class with its generated ID.
write snapshotdry-run maker requires bricks
Update an existing Bricks global class. Merges provided fields into the existing class — omitted fields are preserved. Returns previous and current state for rollback.
write snapshotdry-run maker requires bricks
Delete a Bricks global class by ID. Returns the deleted class data for rollback. Warning: elements referencing this class will lose its styling.
destructive snapshotdry-run maker requires bricks
Get the Bricks theme styles configuration. Returns an object keyed by style ID, each containing label, settings (with element-type groups like "heading", "text-basic", "button"), and conditions.
read snapshotdry-run maker requires bricks
Update Bricks theme styles (full replace). Pass the complete styles object. Returns previous and current values for rollback. Affects site-wide typography, colors, and element defaults.
write snapshotdry-run maker requires bricks
Get the Bricks color palette. Returns array of palette groups, each with {id, name, colors: [{id, raw, name}]}. Colors use raw hex values or CSS variable references.
read snapshotdry-run maker requires bricks
Update the Bricks color palette (full replace). Pass the complete palette array. Returns previous and current values for rollback.
write snapshotdry-run maker requires bricks
Get Bricks global CSS variables and typography scales. Returns {variables: [{id, name, value, category}], categories: [{id, name, scale?}]}. Categories with a "scale" property are typography scales.
read snapshotdry-run maker requires bricks
Update Bricks global CSS variables and typography. Pass variables array and optionally categories. Returns previous and current values for rollback.
write snapshotdry-run maker requires bricks
List all Bricks saved templates/components (reusable element groups). Returns array of {id, title, type, modified}. Components are stored as bricks_template custom post type.
read snapshotdry-run maker requires bricks
Get a Bricks component/template by ID. Returns the full element structure ({id, title, type, elements}) that can be inspected or applied to a page.
read snapshotdry-run maker requires bricks
Insert a Bricks component/template into a page. Clones the component elements with new IDs and inserts them at the specified position. Creates a snapshot before writing.
write snapshotdry-run maker requires bricks
Search across ALL pages and templates for Bricks elements by type, global class, or setting value. Finds every instance of a specific element type, class usage, or setting across your entire site.
read snapshotdry-run maker requires bricks
Run a health check on a Bricks page. Detects orphaned elements, duplicate IDs, broken parent/child references, invalid global class references, empty containers, and heading hierarchy issues. Returns issues sorted by severity.
read snapshotdry-run maker requires bricks
Detect if Automatic.css (ACSS) is installed and active. Returns ACSS version, utility class count, color variables, and spacing variables. Use before importing ACSS classes into the Bricks global class registry.
readwrite snapshotdry-run maker requires bricks
Import Automatic.css utility classes into the Bricks global class registry. Skips classes that already exist. Imported classes are tagged with an ACSS source marker. Run detect_acss first to preview what will be imported.
write snapshotdry-run maker requires bricks
Import a design-token file into the Bricks colour palette and global CSS variables. Accepts a Tailwind theme object, a Figma Tokens Studio export, or a Style Dictionary / DTCG file. Colours land as palette swatches plus `--color-*` variables; spacing, typography, radius and shadow tokens land as grouped CSS variables. Aliases (e.g. {colors.primary}) are resolved and names are deduped against existing palette colours and variables, so re-running imports nothing new. Set dry_run to preview what would be imported.
write snapshotdry-run maker requires bricks
List the curated Bricks section presets (hero, features, CTA, testimonials, pricing, stats, FAQ, ...). Returns each preset slug with title, description, category and tags. Use a slug with wordpress_bricks_insert_section_preset to drop a production-ready section onto a Bricks page.
read snapshotdry-run maker requires bricks
Insert a curated section preset into a Bricks page as a new section. Elements get fresh ids and are appended (or placed at a position). Multi-column presets use flex rows, so a follow-up wordpress_make_responsive call makes them fully responsive. Run wordpress_bricks_list_section_presets first to pick a slug.
readwrite snapshotdry-run maker requires bricks
Scaffold a BEM block as Bricks global classes. Given a block name plus element and modifier lists, it creates block, block__element, and block--modifier global classes (skipping any that already exist) and returns the name->id map so you can assign them to elements via _cssGlobalClasses. Set dry_run to preview the names without creating them.
readwrite snapshotdry-run maker requires bricks
Audit the existing Bricks global-class registry against the BEM convention. Returns only the offending class names, each with the reasons it is not BEM-shaped (uppercase, whitespace, single underscore, multiple element/modifier segments, wrong order) and a normalised suggestion.
readwrite snapshotdry-run maker requires bricks
Find all Bricks elements that use query loops across the site. Filter by object type (post, term, user) or queried post type (product, page, etc.). Essential for auditing dynamic content and WooCommerce product loops.
readwrite snapshotdry-run maker requires bricks
Analyze a Bricks page and extract its design patterns: colors used (with frequency), spacing values, typography (fonts, sizes, weights), and global class usage. Use this to learn a page's design system before creating new content that matches.
readwrite snapshotdry-run maker requires bricks
Export the complete Bricks design system in a single call: global classes, color palette, theme styles, typography/variables, components, element types, and Bricks version. Optimized for AI agent context — use this to understand the full design system before building pages.
readwrite snapshotdry-run maker requires bricks

# Advanced Custom Fields (54)

Advanced Custom Fields (ACF) powers flexible content models across approximately 2 million WordPress sites. Respira’s 54 ACF tools cover field reads and writes, field group management, repeater and flexible content operations, options pages, and relationship fields. Every write creates a snapshot and routes through your approval settings, so bulk ACF updates never corrupt a site.

Read a single ACF field value from a post. Works for all field types. Returns null if the field is not set.
readwrite snapshotdry-run maker requires acf
Read every ACF field value attached to a post. Returns a map of field_name to value.
readwrite snapshotdry-run maker requires acf
Update a single ACF field value on a post. Creates a before/after snapshot for rollback. Supports dry_run.
write snapshotdry-run maker requires acf
Bulk-update multiple ACF fields on a single post in one snapshot. Fields is a map of field_key to value.
write snapshotdry-run maker requires acf
Remove a single ACF field value from a post. Does not delete the field definition, only the stored value.
destructive snapshotdry-run maker requires acf
List every ACF field group registered on the site, with title, location rules, and status.
read snapshotdry-run maker requires acf
Fetch a single ACF field group by key, including every field definition inside it.
readwrite snapshotdry-run maker requires acf
Create a new ACF field group. Provide name, location_rules, and an array of fields.
write snapshotdry-run maker requires acf
Update properties on an existing ACF field group. Changes is a partial field group object.
write snapshotdry-run maker requires acf
Delete an ACF field group. The group definition is removed; existing field values on posts are retained.
destructive snapshotdry-run maker requires acf
Export a field group as JSON. Useful for moving a group between staging and production.
read snapshotdry-run maker requires acf
Import a field group from JSON. Auto-generates a new group key if none provided.
write snapshotdry-run maker requires acf
Duplicate an existing field group under a new name. Field keys are regenerated to avoid collisions.
write snapshotdry-run maker requires acf
Validate a value against a field definition without writing. Returns {valid, message}.
read snapshotdry-run maker requires acf
Fetch the full field definition object for a given field key.
readwrite snapshotdry-run maker requires acf
Full-text search across every registered ACF field definition (name, label, instructions).
read snapshotdry-run maker requires acf
Read the same ACF field keys from multiple posts in one call. Max 500 post IDs.
readwrite snapshotdry-run maker requires acf
Diff ACF field values between two posts. Returns per-field {a, b, equal}.
read snapshotdry-run maker requires acf
Get every row from a repeater field. ACF Pro only.
readwrite snapshotdry-run maker requires acf_pro
Get a single row by zero-based index from a repeater field. ACF Pro only.
readwrite snapshotdry-run maker requires acf_pro
Append a new row to a repeater field. Values is a map matching the repeater sub-fields. ACF Pro only.
write snapshotdry-run maker requires acf_pro
Update values on a specific row of a repeater field by zero-based index. ACF Pro only.
write snapshotdry-run maker requires acf_pro
Remove a row from a repeater field by zero-based index. ACF Pro only.
destructive snapshotdry-run maker requires acf_pro
Reorder repeater rows by providing new_order: the list of old indexes in new sequence. ACF Pro only.
write snapshotdry-run maker requires acf_pro
Count how many rows are stored in a repeater field. ACF Pro only.
read snapshotdry-run maker requires acf_pro
Get every layout (block) from a flexible content field. ACF Pro only.
readwrite snapshotdry-run maker requires acf_pro
Get a single layout from a flexible content field by zero-based index. ACF Pro only.
readwrite snapshotdry-run maker requires acf_pro
Append a new layout to a flexible content field. Layout_type must match one of the layouts defined on the field. ACF Pro only.
write snapshotdry-run maker requires acf_pro
Update values inside a specific layout of a flexible content field. ACF Pro only.
write snapshotdry-run maker requires acf_pro
Remove a layout from a flexible content field by zero-based index. ACF Pro only.
destructive snapshotdry-run maker requires acf_pro
Reorder layouts inside a flexible content field. ACF Pro only.
write snapshotdry-run maker requires acf_pro
List every ACF options page registered on the site. ACF Pro only.
read snapshotdry-run maker requires acf_pro
Read a single option value from an ACF options page. ACF Pro only.
readwrite snapshotdry-run maker requires acf_pro
Read every option stored on an ACF options page. ACF Pro only.
readwrite snapshotdry-run maker requires acf_pro
Update a single option on an ACF options page. ACF Pro only.
write snapshotdry-run maker requires acf_pro
Bulk-update multiple options on an ACF options page. ACF Pro only.
write snapshotdry-run maker requires acf_pro
Remove a single option value from an ACF options page. ACF Pro only.
destructive snapshotdry-run maker requires acf_pro
Register a new ACF options page at runtime. page_config must include page_title. ACF Pro only.
write snapshotdry-run maker requires acf_pro
Export every option value from an ACF options page as JSON. ACF Pro only.
read snapshotdry-run maker requires acf_pro
Read the related post IDs stored in a relationship field.
readwrite snapshotdry-run maker requires acf
Set the related post IDs on a relationship field. Fully replaces existing relationships.
write snapshotdry-run maker requires acf
Find every post that references the given post ID through any ACF field (relationship, post object, post object array).
readwrite snapshotdry-run maker requires acf
Read a post object field, returning a normalized {ID, post_title, post_type} structure.
readwrite snapshotdry-run maker requires acf
Read an ACF field attached to a user profile.
readwrite snapshotdry-run maker requires acf
Update an ACF field attached to a user profile.
write snapshotdry-run maker requires acf
Read an ACF field attached to a taxonomy term.
readwrite snapshotdry-run maker requires acf
Update an ACF field attached to a taxonomy term.
write snapshotdry-run maker requires acf
Copy selected ACF field values from a source post to a target post. Requires Builder tier or above (bulk scope).
write snapshotdry-run maker requires acf
Apply the same field updates across up to 500 posts. Each post gets its own snapshot. Requires Builder tier or above.
write snapshotdry-run maker requires acf

# WooCommerce (105)

Products, variations, categories, tags, orders, stock, and sales reporting. WooCommerce intelligence for storefront automation through AI.

List WooCommerce products with status/search/pagination filters.
read snapshotapproval maker requires woocommerce
Get detailed information for a single WooCommerce product.
readwrite snapshotapproval maker requires woocommerce
Create a WooCommerce product.
write snapshotapproval maker requires woocommerce
Update an existing WooCommerce product.
write snapshotapproval maker requires woocommerce
Duplicate a WooCommerce product to a draft copy.
readwrite snapshotapproval maker requires woocommerce
List WooCommerce product categories.
read snapshotapproval maker requires woocommerce
Get detailed information for a single WooCommerce product category.
readwrite snapshotapproval maker requires woocommerce
Create a WooCommerce product category.
write snapshotapproval maker requires woocommerce
Update a WooCommerce product category.
write snapshotapproval maker requires woocommerce
Delete a WooCommerce product category.
destructive snapshotapproval maker requires woocommerce
List WooCommerce product tags.
read snapshotapproval maker requires woocommerce
Get detailed information for a single WooCommerce product tag.
readwrite snapshotapproval maker requires woocommerce
Create a WooCommerce product tag.
write snapshotapproval maker requires woocommerce
Update a WooCommerce product tag.
write snapshotapproval maker requires woocommerce
Delete a WooCommerce product tag.
destructive snapshotapproval maker requires woocommerce
List WooCommerce orders.
read snapshotapproval maker requires woocommerce
Get detailed information for a single WooCommerce order.
readwrite snapshotapproval maker requires woocommerce
Update WooCommerce order status.
write snapshotapproval maker requires woocommerce
Get inventory overview with low-stock and out-of-stock counts.
readwrite snapshotapproval maker requires woocommerce
Update stock quantity or stock status for a product.
write snapshotapproval maker requires woocommerce
Deprecated compatibility alias for woocommerce_revenue_summary. Retained for two minor releases.
read snapshotapproval maker requires woocommerce
Bounded HPOS-compatible revenue summary with currency, store timezone, exact date boundaries, included statuses, pagination coverage, and explicit gross/discount/refund/tax/shipping/net definitions.
readwrite snapshotapproval maker requires woocommerce
Revenue timeseries grouped by day, week, or month in the WooCommerce store timezone.
readwrite snapshotapproval maker requires woocommerce
Rank products by bounded net sales with quantity, gross sales, net sales, and order counts.
readwrite snapshotapproval maker requires woocommerce
Order count, status distribution, revenue metrics, coverage, currency, timezone, and date definitions.
readwrite snapshotapproval maker requires woocommerce
Privacy-safe active, repeat-in-range, one-time, and guest customer counts. Never returns names or emails.
readwrite snapshotapproval maker requires woocommerce
Read sanitized WooCommerce currency, timezone, tax, units, checkout, page, and HPOS configuration. Credentials and secrets are never returned.
readwrite snapshotapproval maker requires woocommerce
List payment gateway IDs, public titles, enabled state, and supported features without settings, credentials, or tokens.
read snapshotapproval maker requires woocommerce
List WooCommerce shipping zones, locations, and public method state.
read snapshotapproval maker requires woocommerce
List WooCommerce tax rates for a tax class without exposing sensitive configuration.
read snapshotapproval maker requires woocommerce
List native WooCommerce webhooks. Secrets are never returned.
read snapshotapproval maker requires woocommerce
Read one native WooCommerce webhook without its secret.
readwrite snapshotapproval maker requires woocommerce
Create a native WooCommerce webhook. Requires an approval-token round trip, an allowlisted topic, and a public HTTPS target. Secret is write-only.
write snapshotapproval maker requires woocommerce
Update a native WooCommerce webhook through an approval-token round trip. Targets must remain HTTPS and secrets remain write-only.
write snapshotapproval maker requires woocommerce
Delete a native WooCommerce webhook through an approval-token round trip.
destructive snapshotapproval maker requires woocommerce
Send a rate-limited redacted test payload to a webhook target through an approval-token round trip. Test payloads are not stored.
readwrite snapshotapproval maker requires woocommerce
List product brands (WooCommerce 9.4+ product_brand taxonomy).
read snapshotapproval maker requires woocommerce
Get a single product brand.
readwrite snapshotapproval maker requires woocommerce
Create a product brand.
write snapshotapproval maker requires woocommerce
Update a product brand.
write snapshotapproval maker requires woocommerce
Delete a product brand.
destructive snapshotapproval maker requires woocommerce
List products with advanced filters: category, tag, stock status, on-sale, featured, price range.
read snapshotapproval maker requires woocommerce
Find products by natural-language query across titles, descriptions, SKUs, and categories, ranked by relevance.
read snapshotapproval maker requires woocommerce
Audit the catalog: missing images, thin descriptions, uncategorized products, missing prices, stock inconsistencies. Returns a 0-100 health score.
readwrite snapshotapproval maker requires woocommerce
Update up to 100 products in one call (name, descriptions, status, featured, visibility). Snapshots before/after; dry_run supported.
write snapshotapproval maker requires woocommerce
Bulk-change prices (percentage, absolute delta, or set value) for up to 100 products by IDs or category. Snapshots; dry_run supported.
write snapshotapproval maker requires woocommerce
Schedule sale prices with start/end dates for up to 100 products. Snapshots; dry_run supported.
readwrite snapshotapproval maker requires woocommerce
Revert a product\
readwrite snapshotapproval maker requires woocommerce
Set, increase, or decrease stock for up to 100 products in one call. Snapshots; dry_run supported.
write snapshotapproval maker requires woocommerce
List products at or below a stock threshold (defaults to the WooCommerce low-stock setting), sorted by urgency.
read snapshotapproval maker requires woocommerce
Analyze the shop page: product grids, hierarchy score, issues, recommendations. Works on a block theme by reading the native archive-product template (Product Collection / Product Template blocks), and falls back to the page-builder layer on builder-built shops. A pure FSE storefront is supported, not a fallback.
read snapshotapproval maker requires woocommerce
Quality-score a single product page: images, gallery, description depth, price, category.
read snapshotapproval maker requires woocommerce
Change product grid layout (columns, rows, ordering) on archive pages. On a block theme this edits the native archive-product template by exact block path, fingerprint-guarded and verified after the write; on builder-built shops it falls back to the page-builder layer. Snapshots; dry_run supported.
write snapshotapproval maker requires woocommerce
Preview or add a low-stock badge to WooCommerce product cards. Block themes only: this writes into the native archive-product template and has no page-builder path. Use dry_run=true to inspect affected products without writing. A non-dry-run call succeeds only after the badge is inserted and verified; an unsupported template returns an explicit error and never reports a false success.
write snapshotapproval maker requires woocommerce
Preview or add a sale badge to WooCommerce product cards. Block themes only: this writes into the native archive-product template and has no page-builder path. Requires the WooCommerce sale-badge block to be registered on the site. Use dry_run=true to inspect on-sale products. A non-dry-run call succeeds only after the template is changed and verified; an unsupported template returns an explicit error without mutation.
write snapshotapproval maker requires woocommerce
Report the field composition of the WooCommerce product card on a block theme: which canonical blocks it is built from (woocommerce/product-image, product-title, product-price, product-button, and so on), their exact block paths, and their render order. Read-only. Call this before update_storefront_card_field so you address a field that actually exists.
read snapshotapproval maker requires woocommerce
Set attributes on one named field of the WooCommerce product card, addressed by its CANONICAL block name (for example woocommerce/product-image or woocommerce/product-price), on a block theme. Requested attributes are intersected with the attributes the installed block actually registers, so an unknown key is refused rather than written and reported as success. Snapshot, fingerprint guard, dry_run and render verification all apply.
write snapshotapproval maker requires woocommerce
Preview or apply targeted checkout layout changes. Use dry_run=true first. The tool never reports success for intent-only or no-op writes; unsupported layouts return respira_woo_fse_write_not_supported without changing checkout content.
write snapshotapproval maker requires woocommerce
Set global (taxonomy) or custom attributes on a product; missing terms are created. Mark variation: true to use for variations. Snapshots.
write snapshotapproval maker requires woocommerce
Create all missing variations from the product\
readwrite snapshotapproval maker requires woocommerce
Create one variation with explicit attribute values, price, SKU, stock, and image. Snapshots.
write snapshotapproval maker requires woocommerce
Create a global product attribute with terms. Supports the WooCommerce 10.9 wc-visual type for per-term color/image swatches.
write snapshotapproval maker requires woocommerce
List coupons with optional search.
read snapshotapproval maker requires woocommerce
Create a coupon: percent or fixed discount, expiry, usage limits, product and email restrictions.
write snapshotapproval maker requires woocommerce
Update any coupon field by coupon ID.
write snapshotapproval maker requires woocommerce
Create a WooCommerce customer with optional billing/shipping addresses. Passwords auto-generate when omitted and are never returned.
write snapshotapproval maker requires woocommerce
Update a customer\
write snapshotapproval maker requires woocommerce
Add a note to an order. Private by default; customer_note: true emails the customer.
write snapshotapproval maker requires woocommerce
List refunds on an order with total refunded and remaining refundable amounts.
readwrite snapshotapproval maker requires woocommerce
Refund an order. DRY-RUN BY DEFAULT: pass dry_run: false to execute. Gateway money movement is opt-in via refund_payment: true.
write snapshotapproval maker requires woocommerce
List WooCommerce Subscriptions, filterable by status, customer, or product. Requires the WooCommerce Subscriptions extension on the site.
read snapshotapproval maker requires woocommerce
Get one subscription with items, dates, and payment method.
readwrite snapshotapproval maker requires woocommerce
Pause (on-hold), reactivate, or cancel a subscription. DRY-RUN BY DEFAULT: pass dry_run: false to apply. Transitions are validated against Subscriptions rules; snapshots taken.
write snapshotapproval maker requires woocommerce
Move a subscription\
write snapshotapproval maker requires woocommerce
Add a note to a subscription. Private by default; customer_note: true emails the customer.
write snapshotapproval maker requires woocommerce
List WooCommerce Bookings, filterable by status or product. Requires the WooCommerce Bookings extension on the site.
read snapshotapproval maker requires woocommerce
Get one booking with times, persons, resource, and order linkage.
readwrite snapshotapproval maker requires woocommerce
Confirm, mark paid, complete, or cancel a booking. DRY-RUN BY DEFAULT: status changes can trigger customer emails.
write snapshotapproval maker requires woocommerce
Move a booking to a new time window. DRY-RUN BY DEFAULT with a conflict scan against other bookings on the same product; overlapping windows need force: true.
readwrite snapshotapproval maker requires woocommerce
All membership plans with member counts. Requires the WooCommerce Memberships extension on the site.
read snapshotapproval maker requires woocommerce
List user memberships, filterable by plan, customer, or status.
read snapshotapproval maker requires woocommerce
Get one user membership with plan, dates, and order linkage.
readwrite snapshotapproval maker requires woocommerce
Pause, resume, or cancel a member\
write snapshotapproval maker requires woocommerce
Move or clear a membership\
write snapshotapproval maker requires woocommerce
Orders and revenue that arrived through agent cart links over a period, with a per-source breakdown.
read snapshotapproval maker requires woocommerce
Which product configurator is active (STAGGS) plus how many products and attribute groups use it. Start here before any configurator work.
readwrite snapshotapproval maker requires woocommerce
Read a product's STAGGS configurator state: the enabled flag and all sgg_ meta (steps, attributes, themes).
readwrite snapshotapproval maker requires woocommerce
Enable or disable the STAGGS configurator on a product. Supports dry_run. Snapshots the product before and after.
write snapshotapproval maker requires woocommerce
List STAGGS attribute groups (the reusable option sets a configurator is built from): id, title, type.
read snapshotapproval maker requires woocommerce
Read a STAGGS attribute's option items. The workflow is read, edit the returned array, then write it back with set_configurator_attribute_items, so STAGGS' internal sub-field names never have to be guessed.
readwrite snapshotapproval maker requires woocommerce
Replace a STAGGS attribute's option items, written through the STAGGS/Carbon Fields helpers so storage stays consistent. Supports dry_run. Snapshots the attribute.
write snapshotapproval maker requires woocommerce
Read allow-listed options and post meta for a known third-party plugin (currently: staggs). Keys outside the allow-list are ignored on read.
readwrite snapshotapproval maker requires woocommerce
Write allow-listed options and post meta for a known third-party plugin (currently: staggs). Any key outside the allow-list refuses the whole request. Supports dry_run. Snapshots the post.
write snapshotapproval maker requires woocommerce
The catalog AI-readiness scan as an ordered work queue: weakest products first, each failing check paired with the tool and params that fix it. Work it top-down to raise the catalog score.
readwrite snapshotapproval maker requires woocommerce
Set alt text on a product\
write snapshotapproval maker requires woocommerce
Read or update product feed settings (formats, cadence, countries, llms.txt) and get the public feed URLs. Call with no params to read.
readwrite snapshotapproval maker requires woocommerce
Build the enabled product feeds now (batched in the background; the first batch runs immediately, so this works even when wp-cron is dead). Idempotent while a build is running.
readwrite snapshotapproval maker requires woocommerce
Per-format feed URLs, row counts, generation times, running build progress, Action Scheduler health, last successful build, pending/failed/overdue actions, and stale-lock state. This tool is read-only.
readwrite snapshotapproval maker requires woocommerce
Safely clear a confirmed-stale Respira feed lock and idempotently resume the existing build. Does not delete Action Scheduler history. Returns a verified mutation envelope; returns a non-success response when no stale lock exists.
readwrite snapshotapproval maker requires woocommerce
Check a catalog sample against one feed format\
read snapshotapproval maker requires woocommerce
Map WooCommerce product categories to Google product categories for the feeds. Call with no params to list mapped and unmapped categories with product counts.
write snapshotapproval maker requires woocommerce
Score how well one product is described for AI shopping assistants: description depth, images/alt text, price, SKU, GTIN, brand, attributes, availability.
readwrite snapshotapproval maker requires woocommerce
Score the whole catalog for AI shopping readiness: average score, distribution, top issues, weakest products.
readwrite snapshotapproval maker requires woocommerce

# Audits & Analysis (11)

Read-only diagnostics: SEO audits, AEO (answer-engine optimization), Core Web Vitals, accessibility scans, performance reports, structured-data checks, image analysis, security validation.

Validate content for security issues before saving.
read lite
Analyze page performance metrics including load time, image optimization, CSS/JS optimization, caching, and plugin performance impact.
read lite
Get Core Web Vitals metrics (LCP, FID, CLS) for a page.\n\n**Deprecated path** (v6.19.0+, Phase E Tier 1): the current implementation returns a HEURISTIC estimate from static page analysis, NOT real Lighthouse / CrUX data. The response includes `data_source: "respira_heuristic_v1"` and a `_deprecation` field. For real measurements use `respira_run_pagespeed_audit` (Phase E Tier 2).
read lite
Analyze image optimization opportunities including missing alt text, large files, and unoptimized formats.
read lite
Check for common SEO issues and get quick recommendations.
read lite
Analyze content readability including Flesch Reading Ease score, sentence length, and paragraph structure.
read lite
Check schema markup and structured data (JSON-LD, microdata) for AI parsing.
read lite
List previous accessibility scans with scores and violation counts. Pass `summary_only=true` (default) for a compact response that omits violations[].nodes and the per-violation AI fix prompts — those add up to ~30KB per scan and blow past the MCP response cap with 5+ entries. Use `summary_only=false` only when you genuinely need the full payload.
read lite
Get detailed results of a specific accessibility scan including all violations, scores, and AI fix prompts.
read lite
Run a WCAG accessibility scan on a page. The scanner runs an axe sweep against the page\
read lite
Auto-apply accessibility fixes for a scan. Fixes supported: image-alt, color-contrast, label, heading-order, document-title, html-lang-valid.
write lite

# Safety & Approvals (4)

The rollback layer under every write. List snapshots, diff two snapshots, restore from any point. The approval queue for duplicate-before-edit and high-risk writes.

List Respira v2 snapshots with optional filters.
read approval lite
Get one Respira v2 snapshot by UUID. Defaults to metadata-only (kind, label, hashes, timestamps, actor). Pass `include=content` to fetch the full builder payload — that adds ~50-100KB per snapshot, so opt in only when you actually need the bytes (e.g. building a content-level diff, restoring partial data).
read approval lite
Diff two Respira v2 snapshots and return structured fidelity deltas.
read approval lite
Restore content and allowlisted meta from a Respira v2 snapshot UUID.
destructive approval lite

# Theme Docs (2)

Read theme documentation from the site, with builder-aware parsing so the AI gets the actual theme conventions.

Get theme documentation and available template files.
read anonymous
Search the Respira documentation for a query. Use this BEFORE offering to file a bug report: many "bugs" are documented known issues with workarounds (Cloudflare allowlists, builder-specific gotchas, Divi 5 preset endpoints, Beaver Builder font-field shapes, the rest_route fallback, etc.). Returns top matches as { path, url, title, excerpt }. Open the URL with a fetch or surface it to the user. If a doc covers the symptom, apply the fix and skip the bug-filing step. The corpus mirrors webmyc/Respira.press-Documentation-and-Community via a nightly index. Public, unauthenticated, free to call.
read anonymous

# Stock Imagery (1)

Search and sideload stock imagery without leaving the agent loop.

Search for free stock images via Openverse (Creative Commons). Returns image URLs, titles, authors, and licenses.
read lite

# Other Analysis (49)

Specialized analyzers and diagnostics that do not fit a single builder or content type.

Generate a Divi 5 migration readiness report for the active WordPress site.
read lite
Search the curated WordPress Abilities directory and classify each result as Respira-native, inhaled, unavailable, or replaced by a safer Respira workflow.
read lite
Compare the active plugins on this WordPress site against the curated list of plugins known to expose abilities via the WordPress Abilities API (wp_register_ability).
read lite
Invoke an inhaled WordPress Abilities API ability through the Respira safety wrapper.
read lite
Duplicate a WPML-linked page or post together with all its language translations into a new independent translation group. Use this when a site uses WPML and you need a safe copy of a multilingual page (e.g. an EN+RO report page) to edit without touching the original. Each language copy is duplicated, WPML metadata is cleared, and all duplicates are re-linked under a new translation group. Returns a map of language_code → {original_id, duplicate_id, url}. On non-WPML sites falls back to a single-language duplicate. Call respira_get_site_context first to check whether WPML is active.
read lite
List every language copy of a page/post in its WPML translation group. Returns each translation with its id, language code, status, title, and url. Call this before create_translation (to see what already exists) or update_translation (to find the translated post id).
read lite
Create a WPML translation of a source page/post in a target language, JOINING the source\
write lite
Update an existing WPML translation of a source post: set its title and/or raw post_content. Resolves the translated post within the source\
write lite
Make a desktop-only page mobile-correct in one call. Auto-detects the page builder, then generates tablet + mobile breakpoint overrides deterministically: scales font sizes (and injects a fluid clamp() for headings where the builder supports raw CSS), scales padding/margin with a sensible mobile floor, scales gaps, collapses multi-column grids toward 1 column on mobile, and switches horizontal flex layouts to vertical on mobile when they hold several children. Idempotent and non-destructive — it NEVER overwrites a responsive value you already set, so re-running is a no-op and hand-tuned breakpoints are preserved. Build the desktop layout first, then call this. Supported today: Bricks (full, incl. fluid clamp) and Elementor v3 (breakpoint overrides). Pass dry_run=true to preview the exact change list without writing. A snapshot is taken before any write, so the change is one-click reversible.
read lite
Cascade rollback: undo an entire session of changes in ONE call. Restores every distinct object the session touched (pages, ACF field groups, post types, taxonomies, options) to its pre-session state. Pass the session_id surfaced as recovery_session_id on a destructive response (or returned by wordpress_begin_session). Use this to recover from a destructive multi-step mess instead of restoring snapshots one at a time.
destructive lite
Begin an explicit snapshot session. Every change made after this (until wordpress_end_session) is grouped under one session_id, so the whole batch can be rolled back together with wordpress_restore_session. Returns the session_id. Without an explicit session, changes are auto-grouped by a time window.
read lite
End the explicit snapshot session started by wordpress_begin_session. Later changes fall back to automatic time-window grouping.
read lite
List privacy-safe Respira activity with site/resource/tool/outcome/date filters and pagination.
read lite
Get one activity record with compact before/after/diff and links to related snapshots, structural proposals, approvals, and rollback recovery.
read lite
List native Gutenberg theme.json color, typography, spacing, or breakpoint tokens. This is the first-class agent surface over Respira’s existing theme.json variable store.
read lite
Create a user-managed native Gutenberg theme.json design token through approval and structural snapshot protection.
write lite
Update a user-managed native Gutenberg theme.json design token with document revision, approval, snapshot, and render verification.
write lite
Delete a user-managed native Gutenberg theme.json design token through approval and structural snapshot protection.
destructive lite
Read the contents of a theme stylesheet on disk. ONLY these extensions are accepted: `.css`, `.scss`, `.less`, `.json`. Any other extension (`.php`, `.html`, `.twig`, `.js`, `.svg`, `.md`, `.txt`, etc.) returns `respira_theme_file_extension_not_allowed` and the tool does NOT support reading them. PHP/HTML theme files are out of scope on purpose; ask the human to edit those by hand or via a code editor over SFTP. Path is relative to wp-content/themes, e.g. `vds/css/custom.css`. Useful for diffing before a write and for handing the existing stylesheet to an LLM as context. Requires plugin v7.0.42+ and the user behind the API key must have the WP `edit_themes` capability. Returns content, content_md5, byte_size, mtime, theme_role (active_stylesheet | active_template | other), is_writable.
read lite
Replace (or create) a theme stylesheet on disk with the given content. CSS / SCSS / LESS / JSON only. Creates any missing parent directories under the theme. Path is relative to wp-content/themes, e.g. `vds/css/custom.css`. Use this when the agency source-controls a shared child theme stylesheet and the agent needs to push CSS edits to the same file their human devs commit, not to the Customizer Additional CSS post. Requires plugin v7.0.42+ and the user behind the API key must have the WP `edit_themes` capability. Hard cap: 1 MiB per file. Returns bytes_written, content_md5, theme_role, mtime.
read lite
Append content to a theme stylesheet on disk. CSS / SCSS / LESS / JSON only. Adds a leading newline if the existing file did not end in one so two appended blocks do not fuse on the seam. If the file does not exist yet, behaves identically to write (creates it + any missing parent directories). Path is relative to wp-content/themes, e.g. `vds/css/custom.css`. Useful for adding per-page CSS to a shared theme stylesheet without rewriting the whole file. Requires plugin v7.0.42+ and the user behind the API key must have the WP `edit_themes` capability. Hard cap: post-append file size cannot exceed 1 MiB. Returns appended_bytes, total_bytes, content_md5, theme_role, mtime.
read lite
Run a connection-fingerprint diagnostic for the active site. Combines the plugin\
read lite
File a structured bug report from inside the chat when something breaks: a tool failed, an edit produced wrong output, a step timed out, or the MCP behaved differently than its description. Goes directly to the maintainer with live MCP context and shows up at https://www.respira.press/dashboard/bug-reports. Required: title (8-120 chars), brief (20-280 chars), steps_to_reproduce (>=12 chars). Optional but encouraged: severity (blocker|major|minor|cosmetic), expected, actual, error_messages (verbatim), last_tool. Auto-attached: site_url, mcp_version, builder, builder_version. If you ran respira_diagnose_connection, pass its full result as diagnostics. Privacy: never sends prompts, tool args, tool results, or WordPress content, only the structured fields you put in.
read lite
Redeem a one-time Respira install token to provision the local config file. The user obtains the token by clicking "Open in Cowork" on respira.press/dashboard/mcp, which mints a 5-minute token and opens a new Cowork session with a pre-filled prompt containing it. Calling this tool exchanges the token for the user\
read lite
Comprehensive SEO analysis including meta tags, heading structure, image alt text, internal linking, content quality, and schema markup.
read lite
Analyze a page against Rank Math SEO scoring. Returns detailed checks, current score, and ready-to-apply meta_updates. To apply fixes: use respira_update_page with the seo_title, seo_description, and focus_keyword fields from the meta_updates response.
read lite
Analyze content for AI Engine Optimization (optimizing for AI search engines like Perplexity, ChatGPT). Checks structured data, content clarity, semantic HTML, entities, content depth, and FAQ opportunities.
read lite
Run a bounded, read-only WordPress security evidence pass. Returns authoritative WordPress/WooCommerce versions, official core checksum mismatches, administrators, standard and must-use plugins, WordPress cron hooks, known advisory indicators, scan coverage and explicit host-level limitations. Set deep_scan=true to inspect uploads and must-use plugin paths for executable files. This tool never deletes or rewrites anything.
read lite
Update WordPress core to an exact, catalog-approved security release on the current release branch. Requires a recent recoverable backup, then explicit two-step approval. The first call returns respira_approval_required and an approval_token; repeat the same arguments with that token. The result verifies the running version, REST/frontend boot and official checksums. WordPress core has no automatic rollback, and the receipt says so.
write lite
List all registered post types.
read lite
Get post type details.
read lite
Create a new Custom Post Type that the site will register on every request. Stored in wp_option respira_custom_post_types and registered via register_post_type() on init. Slug rules: lowercase letters/digits/underscores, must start with a letter, 1-20 chars, not a reserved WP/WooCommerce slug. Use case: agent provisions structure for a new content type (case studies, reviews, products) without writing PHP. After this call the type appears in wp-admin's left-nav and is queryable via wordpress_list_custom_posts and the existing post CRUD.
write lite
Update a Respira-owned Custom Post Type. Only works on types created via wordpress_create_post_type (the option store remembers ownership). Use cases: change label, toggle public/hierarchical, add/remove taxonomy attachments. Slug is immutable — delete + recreate if you need a different slug.
write lite
Delete a Respira-owned Custom Post Type. Posts of this type are NOT deleted — they stay in the database as orphans. The response includes orphaned_post_count so the agent knows how many posts to clean up via wordpress_delete_post (each requires its own approval round-trip). Refuses on slugs Respira didn't create.
destructive lite
Create an ACF (Advanced Custom Fields) field group. Requires ACF (free or Pro) active on the site — call wordpress_get_site_context first to confirm. Stored in wp_option respira_custom_acf_field_groups and registered via acf_add_local_field_group() on acf/init. Use to bind structured fields (text, number, image, post relation) to specific post types via the location rules. Note: groups created this way are registered locally, so they are read-only in the ACF admin UI and editable only via these tools. The response includes `field_hints` when a field looks like it picked the wrong type or width.
write lite
Update a Respira-owned ACF field group. Use to add/remove fields, change location rules, or rename the group.
write lite
Delete a Respira-owned ACF field group. Existing field values on posts stay in postmeta but stop appearing in edit screens. Restore by recreating the group with the same key.
destructive lite
List every ACF field group Respira created. Requires ACF active. Refuses with respira_acf_not_active otherwise.
read lite
Author a Playbook — a typed JSON workflow that registers itself as a WordPress Ability and becomes a callable MCP tool. Use this to crystallize a repeatable workflow (\
write lite
List every Playbook stored on this site, with id / ability_id / label / description / step count / invocation_count / last_invoked_at. Useful for "what playbooks are available" discovery before authoring a new one.
read lite
Get one Playbook\
read lite
Modify an existing Playbook. Id is immutable — to change it, delete + recreate. Validation re-runs on the merged payload, so the same destructive-tool refusal applies to updates.
write lite
Delete a Playbook. The corresponding Ability drops out of the MCP catalog on the next handshake. Existing posts/data created by past invocations are NOT touched.
destructive lite
Save a durable memory about this site to its persistent Site Memory. Use when the user states a preference (\
read lite
Remove a stale entry from this site\
read lite
List everything stored in this site\
read lite
Apply multiple element operations to a page in a single atomic transaction. Extracts content once, applies all operations, and injects once. Per-operation identifier shape: {identifier_type, identifier_value} (NOT {identifier: {...}} — that\
write lite
Download a stock image from an allowed domain and add it to the WordPress Media Library. Auto-generates CC attribution caption. Allowed domains: openverse.org, wordpress.org, unsplash.com, pexels.com, pixabay.com.
write lite
Check version compatibility between the MCP server and the WordPress plugin. Returns plugin version, supported version range, and available features.
read lite

Respira + the official WordPress Abilities API

Respira\u2019s tools and the WordPress Abilities API are complementary, not competing. The Abilities API covers what every WordPress site exposes natively: posts, pages, media, users, taxonomies. Respira extends that with builder-native intelligence for Elementor, Divi, Bricks, WPBakery, Beaver, Oxygen, Breakdance, Brizy, Thrive and Flatsome, plus Gutenberg and the native Site Editor, and wraps every write in the Respira safety model (snapshot, dry-run, approval queue, audit log).

Capability areaAbilities API + MCP AdapterRespira
Core content (posts, pages, media)YesYes
Users and role managementYesYes
Taxonomies and termsYesYes
Comments and moderationYesYes
Block (Gutenberg) contentYes \u2014 nativeYes + builder-native intelligence
FSE block templates and template partsNot supportedRead, stage, update, reset to theme
Synced patterns and block navigationNot supportedFull CRUD on the native entities
theme.json design tokensNot supportedNamed colour, type, spacing, breakpoint tokens
Elementor page contentRaw JSON onlyFull schema, 7 dedicated tools
Divi 4 shortcode contentRaw shortcode onlyShortcode pipeline + validation
Divi 5 block contentPartial via blocksFull 60+ module schemas
Bricks element treeNot supported20 dedicated tools, ACSS aware
WPBakery shortcodesNot supportedShortcode intelligence
Beaver, Oxygen, Breakdance, Brizy, Thrive, FlatsomeNot supportedNative support, round-trip editing
ACF field operationsCore post-meta only54 tools: repeaters, flex, options pages, relationships
WooCommerce storefront designNot supportedStorefront intelligence, FSE-first with page-builder fallback
Duplicate-before-edit safetyPlugin-by-pluginEvery write
Snapshot + rollbackPlugin-by-pluginEvery site, every write
Approval queuePlugin-by-pluginBuilt-in

Comparison reflects the WordPress 6.9 Abilities API and the current MCP Adapter releases. WordPress 7.0 is expected to extend the core API surface. Respira will continue to register its tools as WordPress Abilities where appropriate so both surfaces benefit from the same underlying capabilities.

Start building

The community · building in public

You're not the only one talking to WordPress.

The Respira community is where agency owners debug Divi migrations at 11pm, where vibe coders swap prompts that actually ship, and where the roadmap gets written out loud. Breathe with us.

Lines of code pushed through Respira
12,892,811
Live from the Respira ecosystem · updates as the agent ships
Slack
Async threads, release-day huddles, and the #show-your-work channel that never sleeps.
Join
Discord
Live voice on release days, screenshare debugging, and the vibe-coder corner that's always buzzing.
Join
Reddit
Questions, answers and build logs in the open, where the thread is still there months later.
Join
GitHub Discussions
Long-form Q&A, bug reports, feature requests, and the public roadmap.
Open