Skip to content

Your EMCP guide

Answers from our docs

YOUR CHAT, YOUR CHOICE

Before we chat

MSR Builds processes your question and up to four recent messages on our server to answer from the EMCP docs. AI is optional and needs your separate permission.

The chat is kept in this page's memory, not saved as a conversation in our database or browser storage. Our hosting and security services process connection information, such as your IP address, to prevent abuse.

Cloudflare Turnstile checks your browser and connection to prevent automated abuse when you send a question. No login is required.

Please leave out personal, sensitive or confidential information, passwords and API keys.

You can withdraw consent and clear this page's chat at any time. This cannot undo a request already sent or erase provider/security records.

Chat privacy, retention & your rights ↗ · Privacy contact

Starting chat consents to this processing. You can browse our docs without using the chat.

Bricks MCP tools

Available in EMCP 3.17.0. A Bricks page is a flat list of elements linked by parents and children. EMCP Pro gives your MCP client access to that structure, the live element catalog and native controls, so a heading remains a Bricks heading you can edit in the builder.

  1. Check installed versions. Bricks 2.3.13 through 2.4.x (EMCP 3.18.0+; EMCP 3.20.0 was tested on Bricks 2.4.2). EMCP Pro is required.
  2. Select the builder. Open EMCP Tools → Page Builders, pick the Bricks card under 1. Standalone builder and choose Save changes in the save bar. A card marked Not detected cannot be picked and lists what it needs, such as the supported version and an EMCP Pro licence. Gutenberg stays on beside it, with any block packs you enable.
  3. Switch on its tools. Open EMCP Tools → Tools and select the Bricks tab, which appears once the builder is saved. Write tools start disabled. On a new EMCP install the read tools start disabled too, as every Pro tool does. Switch on the tools the task needs and choose Save changes.
  4. Connect and inspect. Reconnect your MCP client, then read context and schemas. Start with a draft and inspect the native editor.

Read global classes, variables, palettes, theme styles and breakpoints before building. Existing local templates can be inspected and their content, header or footer elements edited in the correct area. Global design data is available for reference; this adapter does not change it.

Read the exact settings accepted by the installed heading, container and image elements.

Add a flat element tree with valid IDs and parent-child relationships.

Read the tree and inspect desktop and mobile layouts in Bricks before publishing.

Bricks sets html { font-size: 62.5% } by default, so 1rem is 10px, not 16px. A design authored for a 16px base renders at about 60% size. Since EMCP 3.20.0, bricks-get-context returns root_font_size with the value (for example 62.5%), its source (the Bricks default or the theme style that changes it) and rem_px, the pixel size of 1rem. Read it before writing rem values.

Bricks 2.4 and later ship their own WordPress abilities. bricks-get-context reports them under native_abilities: whether they are available and enabled, how to enable them (an administrator turns them on in Bricks → Settings → AI), and which abilities cover what EMCP leaves out, such as color palettes, global classes and variables, theme styles, templates with conditions and popups.

Universal settings, global classes and custom CSS

Section titled “Universal settings, global classes and custom CSS”

Since EMCP 3.20.0 the element write tools accept these settings, which Bricks edits in its own panels rather than through an element’s controls:

SettingWhat EMCP checks
_interactionsA list of interaction objects, each with a string trigger and action. JavaScript interactions (action: "javascript" or a jsFunction) are refused as executable code, and so are attribute interactions that set an event handler (on*), srcdoc, or a javascript:, vbscript: or data: URL.
_conditionsA list of condition groups (element display conditions).
_cssGlobalClassesA list of global class IDs. Each ID must already exist on the site; EMCP does not create classes.

Other changes on save:

  • %root% in custom CSS. Bricks 2.4 resolves the builder’s %root% token when the builder saves and no longer resolves it on the frontend. EMCP now stores it the same way, as the element’s persisted selector: #{cssId} when the element has a custom CSS ID, otherwise #brxe-{id}, and .brxe-{id} inside a component. Bricks versions before 2.4 are left unchanged.
  • Checkboxes set to false are removed. Bricks reads checkbox controls with isset(), so a stored false switched the option on (for example slider pagination). EMCP removes false checkbox values on every breakpoint and state.
  • Images from Bricks’ HTML converter. An image element carrying _importImage (with no image of its own) gets it as an external image, as Bricks’ own import does.

The emcp-bricks agent skill includes an HTML-to-Bricks import guide covering how to prepare HTML and CSS for Bricks’ converter, the fixes its output needs, native widgets, Theme Style mapping and verification.

All names use the emcp-tools/ namespace. Read the live input schema for optional fields, enums, limits and confirmation requirements; this table lists required inputs only.

ToolAccessPurposeRequired inputs
bricks-get-contextReadRead Bricks version, capabilities, breakpoints, the root font size, the status of Bricks’ own Abilities API and the supported editing workflow. Start here.None
bricks-list-elementsReadDiscover registered Bricks elements, including addons, and their nesting support.None
bricks-get-element-schemaReadRead runtime Bricks controls, defaults, control groups and nestable child presets. Use exact keys and value shapes from these controls.name
bricks-list-pagesReadList editable WordPress pages with their Bricks editor status; includes drafts and pages ready for conversion.None
bricks-get-pageReadRead raw page/template elements, their area and content_hash. Component definitions are not expanded.post_id
bricks-create-pageWriteCreate an empty draft page for Bricks. Returns its ID and content_hash for adding elements.title
bricks-set-page-elementsWriteReplace all elements in the page/template area with a validated flat tree. Requires expected_hash; use [] to clear. Components and executable-code changes are unsupported.post_id, expected_hash, elements
bricks-add-elementWriteInsert one native element with id/name/parent/settings and no children. Use a unique six-character lowercase ID. Query its schema first.post_id, expected_hash, element
bricks-update-elementWriteMerge top-level settings keys, replacing nested values in full. Preserves other settings, internal classes and tree links. unset_settings removes named keys.post_id, expected_hash, element_id, settings
bricks-move-elementWriteMove an element and its subtree to a parent and sibling position. Cycles and non-nestable parents are rejected.post_id, expected_hash, element_id, parent
bricks-remove-elementWriteRemove an element and all descendants from its page/template. Requires the current content_hash.post_id, expected_hash, element_id
bricks-list-templatesReadDiscover editable local Bricks templates and their types. Read/edit existing template elements with the page tools; template creation and conditions are not included.None
bricks-get-design-systemReadRead existing global classes, variables, palettes, theme styles and actual breakpoints. Reference existing class IDs; this tool does not modify global data.None

For a completed example with screenshots, follow Build a Bricks page with AI. It records a 98-element native draft built with EMCP Pro 3.18.0 and Bricks 2.4.1, including a mobile image-crop revision and frontend checks.

Create a draft Bricks services page using native sections, headings and buttons. Reuse the existing palette, preserve global styles, and show me the draft and mobile preview.

Read current state before editing and re-read after each save. If a hash is stale, inspect the changed document before rebuilding the request. A successful save is not proof of correct visual output: inspect the native editor and frontend.

  • Requires the active Bricks theme, EMCP Pro and Bricks selected in Page Builders.
  • Component instances, executable-code changes (including JavaScript interactions), template creation and template conditions, popups and global design writes are outside this adapter. On Bricks 2.4+, use Bricks’ own abilities for those when they are enabled.

If tools are missing, check versions, dependencies, integration selection, tool switches and user capabilities. Reconnect long-lived MCP clients after plugin updates or selection changes. If output differs after saving, inspect the native document and styles before retrying; do not bypass the adapter with direct metadata writes.

See the Bricks integration overview, builder setup guide and agent skills.