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 Custom CSS edits stop reporting a false warning. update_module wrote the top-level css group correctly but flagged it unknown_attribute_group, which read as a silent drop. css is a universal Divi 5 group and is no
build_page no longer rejects real full pages. The 200-element limit blocked a typical multi-section page (a 14-section Divi page is ~200+ nodes). Raised to 1000 (still filterable)
Divi 5 Heading no longer renders "This content cannot be displayed." When a heading's text was supplied via a generic content field, the level detection grabbed that text and wrote it into the heading-level attribute (wh
Divi 5 no longer writes "Unknown Module" blocks from invented type names. When an AI described a page using made-up layout names (hero_section, feature_grid, cta_section) instead of real Divi types, Respira wrote them ve
In-place Divi 5 edits no longer collapse settings-shaped multi-element content. validate_render_critical_attrs is now settings-aware, so the validated inject path (used when an agent rebuilds an existing page) accepts th
FIX: Divi 5 builds collapsed to plain text / a raw code block instead of native editable sections and modules. A new normalization pass lifts loose content synonyms (heading text, button text + url, paragraph content, ne
FIX: native Divi 5 modules could render as empty containers. The normalized content is now written to the settings bucket (which the complexifier expands into the title.innerContent.desktop.value / content.innerContent.d
FIX: a build whose attributes.content was a scalar string (e.g. divi/text) could fatal in the Divi 5 attribute-group deep-merge. The merge now runs only when the existing group is itself an array.
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.
macOS Claude Desktop: this belongs in claude_desktop_config.json, not config.json. On some versions the "Edit Config" button opens config.json — a separate preferences file in the same folder that is not read for MCP servers — so the paste appears to do nothing. If the server doesn't show up after restarting, edit the right file directly: open -a TextEdit ~/Library/Application\ Support/Claude/claude_desktop_config.json
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.