Divi 4 shortcodes and Divi 5 blocks, side by side. 60+ module schemas, 13-point payload validation, auto-wrapped Section → Row → Column.
Respira gives AI coding agents a structure-aware way to read and write Divi content through a duplicate-first workflow. Page and element writes are snapshotted, and changes can be reviewed before going live.
Everything below is read from this repo at build time: tool registrations come from the MCP server adapter files; changelog entries are filtered from the same source the /releases timeline uses.
Divi 5: a blurb's image was written to a group the renderer ignores, so it never appeared. Divi 5 reads the blurb image from imageIcon.innerContent.desktop.value.src and shows it only when useIcon is off; Respira wrote s
Divi 5: the bar counter targeted a module slug Divi 5 does not register. The number/percent → barProgress routing was keyed on divi/bar-counter / divi/bar-counters-item, which do not exist, so a counter rendered at 0%. I
Divi 5: an image's click-through link did not apply. image_url on divi/image wrote to …value.url, but Divi 5 reads the link from …value.linkUrl. It now writes linkUrl
Divi 5.7 Visual Builder opens blank after Respira writes. Divi 5.7 changed its VB initialisation to read content from the WordPress autosave revision ({post_id}-autosave-v1) rather than the _et_pb_page_content meta. Page
Duplicated Divi 5.7 page appears empty in Visual Builder. Same root cause: newly duplicated pages have no autosave revision. Respira now seeds the revision at duplication time so the VB opens with the correct content
Divi code module becomes inaccessible after a CSS or HTML update. The same autosave-revision gap applied to targeted element updates: updating a code module's content wrote the new post_content but left the autosave revi
Globals are now versioned. Deleting a Bricks global class, a Divi preset, or an Elementor kit color now leaves a recovery point. "The agent deleted my global class" used to be unrecoverable; now you can roll it back. Res
Divi 5 builds with rich native modules by default. The agent now advertises divi/heading, divi/text, divi/image, divi/button, and divi/blurb alongside the structural blocks. Before this, the only content block offered by
Dropped Divi 5 styling now fails loudly. When a style attribute is not supported on a Divi 5 module, the write still saves the content but now returns a clear dropped_settings summary naming exactly which styles did not
Divi 5 column nodes now appear as columns[n] in path strings instead of modules[n]. build_path_string() previously used modules[n] for every node at depth 2 or deeper, making columns and leaf modules indistinguishable. A
WebMCP input size limit raised from 100 KB to 10 MB. The wmcp_max_input_size default was set in 2023 before Divi 5 adoption. Pages with > ~50 KB of builder content failed silently with Tool execution failed. Raised to 10
Concrete features in the current MCP server release. Tool names link directly to the adapter.
Divi 5 block-based layouts (divi/* blocks) read and write through native block tools.
Divi 4 shortcode pages: parser walks post_content, _et_pb_page_layout, _et_pb_layout_content, _et_pb_page_content — four meta sources for maximum compatibility.
13-point payload validation: context checks, nesting rules, flexColumnStructure counts, variable references, 16 common mistake patterns caught BEFORE write.
Auto-wraps bare modules in Section → Row → Column so the Visual Builder never sees invalid nesting.
Color tokens map to Divi 5's native et_global_colors option. Typography / spacing / breakpoints use Respira-managed options (respira_divi_typography_variables, etc) since Divi has no native equivalents.
Divi Migrator (Divi's own D4→D5 converter) is detected and surfaced through the Migration Copilot at /divi-5-migration-copilot.
Known limits
Where you still need a human pass
Honest list of edges. If you hit one of these, the snapshot workflow gives you a clean rollback path.
Respira does NOT convert Divi 4 to Divi 5 on its own. Use Divi's native Migrator; Respira helps plan and validate.
Divi 4 shortcode pages with deeply nested third-party shortcodes can lose attributes on round-trip. Run a duplicate first.
Theme Builder global layouts (header, footer, body) are read-only in the current release; per-page edits work normally.
Tools
Divi uses the universal toolset
Divi edits run through Respira's universal tools: respira_find_element, respira_update_element, respira_update_page (for full-page replacement only), respira_get_snapshot, and respira_create_page_duplicate. See the complete tool catalog.
Example prompts
Three prompts you can paste right now
Each one assumes Respira is connected to your WordPress site through the MCP server below. Copy a prompt, paste into your MCP client, run.
Sync color palette across pages
Read the Divi 5 global color palette. Find every page where a heading uses a custom hex color instead of a palette reference. Suggest the closest palette entry for each and show me the list before changing anything.
Update CTAs on Divi 4 landing pages
For every Divi 4 page in the "/offers/" path, find the et_pb_button shortcodes and replace the button text "Buy now" with "Start free trial". Snapshot each page first.
Migrate a single Divi 4 page to Divi 5
Run the Migration Copilot dry-run for the page slug "pricing". Report what would convert cleanly, what needs review, and what would fail.
Setup
Connect Respira's MCP server
Drop this into your MCP client config (Claude Desktop, Cursor, Codex, Windsurf — any MCP-compatible client). Generate an API key from your Respira dashboard first.
cookies. the legal kind. one click and i'll get out of your way.
what you'd actually be saying yes to
tune your cookie preferences
essentials stay on regardless. the rest is opt-in. nothing fires until you tap save.
essentials
the cookies that make logging in work and remember which partner sent you. switching these off would just break the site, so the law does not let me make you opt out.
first-touch source on a /respira_acq cookie, plus a flag if an ai chatbot referred you. helps me figure out what is working without turning you into a tracking pixel statue.
messaging
customer.io for in-app notes, chatwoot when you click the support bubble. off by default. on means i can actually answer you in the app.