Browse documentation +
Getting startedInstallationConnect a clientSafety profilesWordPress ChatPro licensingAntigravity CLIAntigravity IDETroubleshootingOAuth 2.1 setupApplication PasswordsPage builder workflowsLedger and rollbackApprovals and memoryAbility reference
Pro module21 abilities

Beaver Builder

These abilities register when Beaver Builder is detected on the site and a Pro licence is active. If either is missing the module stays absent rather than failing at call time.

At a glance

Beaver Builder registers 21 abilities: 8 that only read, 8 that write, and 5 marked destructive. That split is the practical answer to how much of this module can run unattended. Reads cost nothing and are safe to repeat, so discovery is the part to be generous with; the writes are where review belongs, and the destructive calls stop for an explicit confirmation every single time regardless of which profile is active.

What this module is for

Give AI clients typed operations for Beaver Builder layouts, nodes, modules, templates, structure schemas, global colors, and global typography.

Before you rely on it: Use the structure schema before moving nodes, and stage global design-token edits.

Typical workflows

  • Inspect a layout before inserting or moving a node
  • Create and apply a reusable builder template
  • Update a global color after reviewing affected pages

The Beaver Builder integration page covers the same module from the workflow side, with the capability map and the questions worth asking before a first write.

Availability on your site

The Beaver Builder module needs three things at once: WPPilot Free as the MCP foundation, an active Pro licence, and the companion plugin detected on the site. Miss any one and the module does not register, which is deliberate: an ability that appears in the tool list but fails at call time is worse than an ability that was never offered. What the connected agent can actually call is then narrowed twice more: by the safety profile active on the site, and by the WordPress capabilities of the user behind the credential. A read that succeeds for an administrator can be absent entirely for an editor.

Every write these abilities perform is recorded in the change ledger, and destructive calls can be routed through the approval queue so a person signs off before anything is applied. A successful tool result means the operation returned, not that the front end, the cache, and every dependent template are correct: that still needs a look.

Reads

Available in every safety profile, including Read Only. Inspection costs nothing and is not rate limited.

AbilityWhat it does
wppilot/beaver-builder-check-setupCheck Beaver Builder SetupReports the Beaver Builder environment: plugin active/version/minimum status, Beaver Themer presence, supported post types, registered and enabled module counts, template mode, builder-enabled layout count, and current user management permission. Run this before building or editing Beaver Builder layouts.
wppilot/beaver-builder-get-global-typographyGet Beaver Builder Global TypographyReturns Beaver Builder's Global Styles typography — the site-wide default typography per element (text, h1-h6, link, button). This is Beaver's reusable type system (there is no global-font token list; typography is set per element here). Read it first to learn the exact typography object shape before edit-global-typography, and to set page styling that inherits global defaults instead of hardcoding font size/weight on every heading.
wppilot/beaver-builder-get-layoutGet Beaver Builder LayoutReads one Beaver Builder layout from _fl_builder_data (published) or _fl_builder_draft (draft). Returns a compact flat node list with id, type, parent, position, children, module slug, global/dynamic flags, and optional settings. Accepts the post id as post or post_id; use include_settings sparingly because module settings can be large and are byte-capped.
wppilot/beaver-builder-get-structure-schemaGet Beaver Builder Structure SchemaReturns the settings schema for a Beaver Builder structural node — a row or a column — so an agent can set the exact keys (background, padding/margin, column size, borders, visibility) instead of guessing them. Rows and columns are NOT modules, so get-module does not cover them; this is their counterpart. Given type (row|column) it reports the typed fields walked from Beaver's settings form (key, type, label, tab, section, options, default). Progressive disclosure: narrow with search (key/label substring, case-insensitive), tab ("style"/"advanced"), or section instead of reading the whole form — a row form is ~80 fields, so a background lookup is type=row search="bg", spacing is search="padding" or search="margin", and column width is type=column search="size"; the filters AND-combine and fields_total/fields_matched report the match count. Background keys: set bg_type (color|gradient|photo|video|parallax) PLUS the matching key — bg_color, or bg_gradient {type,angle,position,colors,stops}, or bg_image/bg_image_url; bg_type defaults to "none", so a bg_color with no bg_type renders nothing. include_defaults (the flat get_row_defaults/get_col_defaults map) defaults to false because each field row already carries its own default.
wppilot/beaver-builder-list-global-colorsList Beaver Builder Global ColorsLists Beaver Builder Global Colors — the reusable color design tokens (Global Styles). Each token has a uid, a label, the color value (hex without #, or rgb/rgba), and the css_var it generates (e.g. --fl-global-brand). Prefer referencing a token over hardcoding a hex on every node; discover them here first and create-global-color when a needed token is missing. To bind a node setting to a token, write a connection on the node (settings.connections.<field> = {object:"site", property:"global_color_<uid>", field:"<field>"}) via edit-node/set-layout.
wppilot/beaver-builder-list-layoutsList Beaver Builder LayoutsLists posts and Beaver Builder templates where the builder is enabled (_fl_builder_enabled=1). Returns compact post rows with layout node counts so an agent can pick a target before calling get-layout. Defaults to all Beaver-supported post types and post_status=any; filter by post_type, status, or search.
wppilot/beaver-builder-list-modulesList Beaver Builder ModulesLists the Beaver Builder modules and aliases registered in this install. Rows are compact: slug (module or alias key), module (underlying module slug), name, category, group, enabled, alias, and description. Filter by category, group, search, and include_disabled. Use this before adding content so the agent picks real native modules instead of raw HTML. This is the catalog (slugs only); fetch a single module settings fields with get-module before writing its node settings.
wppilot/beaver-builder-list-templatesList Beaver Builder TemplatesLists reusable Beaver Builder user templates — full-page layout templates and saved row/column/module nodes. Each row gives the post_id (apply/delete target), template_id (for node templates), name, type, and is_global. Use this to find a template to apply-template into a page so you build once and reuse. Filter by type; row/column/module (saved nodes) require Beaver Builder's node-templates feature (not Lite).

Writes

Gated by the active profile and your WordPress capabilities. Rate limited to 120 per minute per credential.

AbilityWhat it does
wppilot/beaver-builder-add-nodeAdd Beaver Builder NodeAdds one row, column-group, column, or module node to an existing Beaver Builder layout. Use get-layout first to choose the parent id. Module nodes must set module or settings.type. Defaults to writing both published and draft layouts. The HTML (raw-code) module is gated: it is rejected unless you pass allow_html_module: true, which is only for a real code snippet the user explicitly asked to embed — never for layout, styling, CSS, or content.
wppilot/beaver-builder-create-global-colorCreate Beaver Builder Global ColorCreates a new Beaver Builder Global Color token. Pass a label (display name; also the basis for the generated CSS var) and a color (hex with or without #, or rgb/rgba). Returns the minted uid and the css_var. Use list-global-colors first to avoid duplicates.
wppilot/beaver-builder-create-templateCreate Beaver Builder TemplateCreates a reusable Beaver Builder template from an existing page's content. type=layout saves the whole page; type=row|column|module saves a single node (pass its node_id) as a saved row/column/module. Set global=true to save a node as a GLOBAL template — every place it is applied stays linked, so editing the template propagates everywhere (node templates and global require the non-Lite node-templates feature). Returns the new template post_id / template_id. Apply it later with apply-template.
wppilot/beaver-builder-edit-global-colorEdit Beaver Builder Global ColorEdits an existing Beaver Builder Global Color by uid. Pass label and/or color to change them; omitted fields are preserved. Changing a token updates every node bound to it. Find the uid with list-global-colors.
wppilot/beaver-builder-edit-global-typographyEdit Beaver Builder Global TypographySets the Global Styles typography for one element (text, h1-h6, link, button). Pass element and a typography object in Beaver's typography shape — call get-global-typography first to read the exact current shape (font_family, font_weight, font_size, line_height, etc.) and send it back modified. The change applies site-wide to every page that inherits global typography.
wppilot/beaver-builder-edit-nodeEdit Beaver Builder NodeEdits one Beaver Builder node settings object. By default settings are merged at the top level; pass replace=true to replace the whole settings object. Node type, id, and parent are immutable here; use move-node for parent/position. If the edit would make the target an HTML (raw-code) module, it is rejected unless you pass allow_html_module: true, which is only for a real code snippet the user explicitly asked to embed — never for layout, styling, CSS, or content.
wppilot/beaver-builder-get-moduleGet Beaver Builder ModuleReturns one Beaver Builder module settings schema so an agent can set the exact keys instead of guessing them. Given a module slug from list-modules, it reports the typed fields walked from the module registered form (key, type, label, tab, section, options, default). Use this before set-layout/add-node/edit-node to learn a heading text key, a button link key, or a post-grid query key. Progressive disclosure: narrow with search (key/label substring, case-insensitive), tab, or section instead of reading the whole module — a post-grid has ~96 fields, so a query lookup is get-module slug=post-grid search="post" and a style lookup is search="color" or tab="style" (the filters combine with AND, and fields_total/fields_matched then report the match count). include_defaults (the flat get_module_defaults map) defaults to false because each field row already carries its own default; turn it on only for the exhaustive/responsive keys. Fields and defaults are bounded and large values are byte-capped.
wppilot/beaver-builder-move-nodeMove Beaver Builder NodeMoves a Beaver Builder node to a new parent and sibling position.

Destructive

Marked destructive in the source, so each call needs an explicit confirmation flag, every time.

AbilityWhat it does
wppilot/beaver-builder-apply-templateApply Beaver Builder TemplateApplies a saved template (from list-templates) into a target page. scope=layout replaces the page with a layout template (or append=true to add its rows after the existing content); scope=node inserts a saved row/column/module under parent_id at position. Node ids are regenerated on apply. Applying a GLOBAL node template inserts a linked instance (only the root node is copied; it renders from the template). Pass the template by its post_id from list-templates.
wppilot/beaver-builder-delete-global-colorDelete Beaver Builder Global ColorDeletes a Beaver Builder Global Color by uid. Nodes that were bound to this token lose the binding and fall back to their stored plain value. Find the uid with list-global-colors.
wppilot/beaver-builder-delete-nodeDelete Beaver Builder NodeDeletes one Beaver Builder node and its descendant subtree.
wppilot/beaver-builder-delete-templateDelete Beaver Builder TemplateDeletes a Beaver Builder user template by its post_id (from list-templates). By default it trashes the template (recoverable) and, for a global node template, first unlinks it from every page using it. Pass force=true to delete permanently.
wppilot/beaver-builder-set-layoutSet Beaver Builder LayoutReplaces a Beaver Builder layout atomically. nodes is a flat list of row, column-group, column, and module nodes. Each node has {id?, type, parent?, position?, module?, settings?}. IDs are generated when omitted, but parents must reference explicit IDs. Module nodes must set module or settings.type to a real Beaver module slug discovered with list-modules. Defaults to writing both published and draft layouts and enables Beaver Builder for the post. The HTML (raw-code) module is gated: if any node in the tree is an HTML module the whole write is rejected unless you pass allow_html_module: true, which is only for a real code snippet the user explicitly asked to embed — never for layout, styling, CSS, or content.