Page buildersPro
GoBuildWP Etch integration: requirements and coverage
Etch MCP abilities reach three layers at once: block markup in post_content for pages and templates, a set of etch_ option rows for styles, loops, post types, taxonomies and field groups, and post meta for field values. This reference groups GoBuildWP's Etch calls by layer, notes which rows are read-only to an agent, and says what a rollback returns.
Etch requires PHP 8.1, above GoBuildWP’s baseline; check the active setup report before using stored fields.
Give blog posts a subtitle field and print it under the title in the single post template.
wppilot/etch-list-field-groupsReadChecks whether a group is already assigned to posts, so the field joins it rather than a duplicate group.
wppilot/etch-add-fieldWriteAdds a text field keyed subtitle to that group in the etch_cfs row.
wppilot/etch-list-dynamic-fieldsReadSamples a real post and shows the new path under etch, confirming the binding name before it is used.
wppilot/etch-add-nodeWriteInserts a dynamic text node bound to that path under the title in the single template's markup.
- Edition
- Pro
- Abilities
- 60
- Requires
- WordPress 6.9+, PHP 8.1+ (the plugin's own floor; GoBuildWP needs 8.0+), Etch 1.4.19+, Etch (stored custom-field values only) 1.5.0+
Requirements and coverage
What this integration needs, and where the detail lives
- Edition
- Pro
- WordPress and PHP
- 6.9+ and 8.1+ (the plugin's own floor; GoBuildWP needs 8.0+)
- Version floor
- Etch 1.4.19+
- Version floor
- Etch (stored custom-field values only) 1.5.0+
- Abilities
- 60, listed in the reference
Etch MCP guide: setup and worked tasks Etch ability reference (etch)
Data model
Block markup for layout, option rows for everything reusable
Etch writes a page as Gutenberg block markup: etch/element, etch/text, etch/component and friends, with core blocks allowed alongside. GoBuildWP parses it into nodes of block, attrs, children and html. When a post has freeform HTML between child blocks that this compact tree cannot represent, the read reports it as lossy and a node write or whole-tree replace refuses, instead of dropping those fragments.
Reusable pieces are stored in two ways. Components are wp_block posts carrying etch_component_properties and etch_component_html_key meta, and templates are wp_template posts. Styles, global stylesheets, loops, custom post types, taxonomies and field groups are option rows: etch_styles, etch_global_stylesheets, etch_loops, etch_cpts, etch_taxonomies and etch_cfs. Saved queries sit in etch_queries, which GoBuildWP only reads. Field values are post meta, written through Etch's own REST route.
Worked example
Adding a subtitle field and showing it on posts
Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.
Posts gain an editable subtitle that the template prints. Until a post has a value it renders nothing, which set-field-values can fill from the chat on Etch 1.5 and later.
If no field group exists, create one through the supported fallback before discovery and add a sample field value. Check the actual rendered subtitle after binding it.
etch-list-field-groupsChecks whether a group is already assigned to posts, so the field joins it rather than a duplicate group.
etch-add-fieldAdds a text field keyed subtitle to that group in the etch_cfs row.
etch-list-dynamic-fieldsSamples a real post and shows the new path under etch, confirming the binding name before it is used.
etch-add-nodeInserts a dynamic text node bound to that path under the title in the single template's markup.
Questions
Etch questions
Why does an Etch write fail with a lossy overwrite error?
The page has freeform HTML between child blocks that the node tree cannot hold, so writing the tree back would delete it. Read the page, decide whether that HTML should survive, and rebuild it as nodes if so.
Can the agent create an Etch query?
No. Saved queries in etch_queries are listed, read and previewed, but not written. Loops, which are stored separately, can be created and edited.
Where does an Etch component live?
As a wp_block post with its properties and key in post meta. Editing it changes every instance, so duplicate-component exists for making a variant without touching the original.
Etch documents its own connector. This page concerns the Etch WordPress builder and GoBuildWP's node, component, style and data operations; unrelated products named Etch do not share that model. Etch Connector usage documentation
Limits
Etch limits and permanent actions
- The module needs the version of Etch its setup check names as minimum; stored field values need Etch 1.5 or later. Etch itself requires PHP 8.1.
- Deleting a component or template cannot be undone from the change log.
- Deleting a field, field group, post type or taxonomy is confirmed because stored values and posts depend on it.
- A page with interleaved freeform HTML must be tidied, or rewritten on purpose, before node writes are accepted.
Where these facts come from
GoBuildWP behaviour is taken from the plugin source and the ability reference; third-party details from the vendor documentation below, checked by the GoBuildWP team.
Etch is a separate product; no partnership or endorsement is implied.