Skip to main content
Glama
sabiertas

Bricks Builder MCP Server

by sabiertas

Bricks Builder MCP Server

A Model Context Protocol (MCP) server that provides AI assistants with full access to Bricks Builder page content, enabling programmatic page building, template management, and element manipulation through natural language.

Features

  • 29 tools for full Bricks Builder management

  • Read, write, search, and manipulate Bricks page elements

  • Template management with type filtering (header, footer, section, content, popup)

  • 14 section generators for common patterns (hero, features, pricing, FAQ, and more)

  • Snapshot system for rollback before destructive changes

  • Element tree view, bulk updates, move, and duplication

  • Global classes and custom CSS management

  • Multi-site support: manage multiple Bricks sites from one server instance

  • CPT support: works with any custom post type, not just pages/posts

  • Response trimming and pagination with totals

Related MCP server: Bricks MCP

Available Tools (29)

Element Manipulation (10 tools)

Tool

Description

bricks_get_page_elements

Get the Bricks elements array for a page/post by ID

bricks_set_page_elements

Set/replace the entire Bricks elements array

bricks_add_element

Add a single element with automatic parent-child linking and validation

bricks_update_element

Update a specific element's settings (shallow merge)

bricks_remove_element

Remove an element and all its descendants

bricks_find_element

Search elements by type, text content, or CSS class

bricks_bulk_update_elements

Update multiple elements at once with validation

bricks_move_element

Move element to a different parent or position

bricks_duplicate_element

Deep-clone element and descendants with new IDs

bricks_get_element_tree

Get hierarchical nested tree view of page structure

Snapshot / Rollback (4 tools)

Tool

Description

bricks_snapshot_page

Save page state before making changes

bricks_restore_snapshot

Restore page elements from a saved snapshot

bricks_list_snapshots

List available snapshots for a page

bricks_delete_snapshot

Delete a specific snapshot

Template Management (5 tools)

Tool

Description

bricks_list_templates

List templates with type filter (header/footer/section/content/popup) and search

bricks_get_template

Get template details including elements array

bricks_create_template

Create a new template with type and elements

bricks_update_template

Update template elements, title, or status

bricks_delete_template

Delete a template permanently

Page Management (3 tools)

Tool

Description

bricks_list_pages

List pages with Bricks content (or all pages with include_all). Supports search.

bricks_create_page

Create a new page with Bricks content

bricks_clone_page

Clone a page's Bricks content with regenerated IDs (respects source CPT)

CSS & Styling (3 tools)

Tool

Description

bricks_get_global_classes

Get Bricks global CSS classes

bricks_get_page_css

Get custom CSS for a page

bricks_set_page_css

Set custom CSS for a page

Local Helpers (3 tools -- no API calls)

Tool

Description

bricks_list_element_types

List 24 available element types with defaults and examples

bricks_generate_section

Generate a complete section from 14 predefined patterns

bricks_generate_element

Generate a single Bricks element JSON

Site Settings (1 tool)

Tool

Description

bricks_get_settings

Get Bricks global settings

Section Generator Patterns (14)

The bricks_generate_section tool creates complete, ready-to-use Bricks element structures:

Type

What it generates

hero

Heading + subtext + CTA button, centered layout

features

Section heading + grid of feature cards (configurable columns)

pricing

Pricing table with highlighted plan, features list, CTA buttons

cta

Dark background call-to-action with heading + text + button

testimonials

Grid of quote cards with author and role

faq

Heading + accordion with Q&A items

contact

Contact form with name, email, message fields

stats

Stats/numbers section (e.g., "10K+ Users", "99.9% Uptime")

team

Team grid with member cards (image + name + role)

logos

Logo cloud / client logos row

newsletter

Email signup with heading + input + button

comparison

Feature comparison table (2-3 columns with checkmarks)

steps

Process/how-it-works steps (numbered, with descriptions)

footer

Multi-column footer (about, links, contact, social)

All patterns accept overrides to customize texts, colors, and structure.

Requirements

  • Node.js 18+

  • WordPress site with Bricks Builder theme installed and active

  • WordPress Application Password

Quick Setup

1. Clone and build

git clone https://github.com/sabiertas/bricks-mcp-server.git
cd bricks-mcp-server
npm install
npm run build

2. Configure in Claude Code

Add to ~/.claude.json:

{
  "mcpServers": {
    "bricks": {
      "command": "node",
      "args": ["/path/to/bricks-mcp-server/dist/bricks-mcp-server.js"],
      "env": {
        "BRICKS_SITES": "main,staging",
        "BRICKS_MAIN_URL": "https://your-domain.com",
        "BRICKS_MAIN_USERNAME": "your-wp-username",
        "BRICKS_MAIN_PASSWORD": "your-application-password",
        "BRICKS_STAGING_URL": "https://staging.your-domain.com",
        "BRICKS_STAGING_USERNAME": "admin",
        "BRICKS_STAGING_PASSWORD": "your-application-password"
      }
    }
  }
}

3. Configure in Cursor / other MCP clients

Same config pattern -- see your client's MCP documentation.

Authentication

Uses WordPress Application Passwords (Basic Auth). Create one at: WordPress Admin > Users > Profile > Application Passwords

Multi-site Support

This server supports managing multiple Bricks Builder sites simultaneously:

  1. BRICKS_SITES: Comma-separated list of site identifiers (e.g., main,staging,client)

  2. Per-site variables: For each site ID, set BRICKS_{ID}_URL, BRICKS_{ID}_USERNAME, and BRICKS_{ID}_PASSWORD

  3. Tool usage: Every tool accepts a site parameter. If omitted, the first configured site is used as default.

CPT Support

All element and CSS tools accept a post_type parameter that defaults to pages but works with any registered custom post type (e.g., posts, product, portfolio).

Response Format

List endpoints return paginated responses:

{
  "data": [...],
  "total": 25,
  "total_pages": 1
}

Changelog

v2.0.0

  • 29 tools (was 20): element search, snapshots, bulk update, move, duplicate, tree view, delete snapshot

  • 14 section generators (was 6): contact, stats, team, logos, newsletter, comparison, steps, footer

  • Enhanced list_pages (include_all, search) and list_templates (template_type filter, popup)

  • Snapshot rollback system (save, restore, list, delete)

  • Element validation with warnings

  • Response trimming and pagination with totals

  • CPT support for all element/CSS tools

  • clonePage respects source post type

  • createTemplate writes template_type to meta

v1.0.0

  • Initial release: 20 tools, multi-site support, 6 section generators

Contributing

PRs welcome. Please open an issue first to discuss changes.

License

MIT

Available Tools

28 tools
bricks_add_elementA

Add a single element to a page. Appends to existing elements. If the element has a parent, it will be added to the parent's children array automatically. Includes validation warnings.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
elementYesBricks element object with name, settings, parent. ID will be auto-generated if not provided.
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It mentions auto-appending to parent's children and validation warnings, but does not disclose write behavior, permissions, or potential side effects beyond the minimal stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences front-loaded with purpose, each providing distinct value: purpose, behavior, and warnings. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks return value information (no output schema), which is a gap for an action tool. It covers parameter context well via schema, but the absence of output details and limited behavioral context leaves completeness moderate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the input schema for parameters; it merely restates appending behavior which is contextually relevant but not parameter-specific.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Add a single element to a page' with specific verb and resource, and distinguishes from siblings like bricks_bulk_update_elements and bricks_update_element by focusing on adding and appending.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for adding new elements via 'Appends to existing elements', but lacks explicit guidance on when to use this tool vs alternatives like bricks_bulk_update_elements, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_bulk_update_elementsB

Update settings on multiple elements at once. Accepts an array of {element_id, settings} objects. Includes validation warnings.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".
updatesYesArray of updates, each with element_id and settings to merge

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It only mentions 'Includes validation warnings' but lacks details on atomicity, partial failure, side effects, or return format, leaving significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, no redundancy, front-loaded with action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a bulk operation tool, the description omits crucial details like response structure, error handling, and partial update behavior. No output schema to compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline is 3. The description restates the array structure but adds no new semantic context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Update' and resource 'settings on multiple elements at once', distinguishing it from sibling bricks_update_element which updates a single element.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for bulk updates ('multiple elements at once') but does not explicitly specify when to choose this over bricks_update_element or other alternatives, nor when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_clone_pageB

Clone a page's Bricks content to a new page. All element IDs are regenerated to avoid conflicts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
source_post_idYesSource page/post ID to clone from
new_titleYesTitle for the new cloned page
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It mentions ID regeneration but does not disclose other behavioral traits like whether the source page remains unchanged, required permissions, or what happens to other page metadata. The return value (e.g., new page ID) is not mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste. The main action and a key behavioral detail are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so the description should explain return values or side effects. It does not mention what the tool returns, prerequisites (e.g., source page must have Bricks content), or error conditions. The description is insufficient for a tool with 4 parameters and no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Clone' and the resource 'page's Bricks content'. It distinguishes itself from sibling tools like bricks_create_page or bricks_duplicate_element by specifying that it clones content to a new page and regenerates IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as bricks_create_page followed by manual copying. No exclusions or context are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_create_pageB

Create a new WordPress page with Bricks content. The page will use Bricks Builder for rendering.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
titleYesPage title
elementsNoArray of Bricks elements (optional)
statusNoPage status (default: "draft")
slugNoPage slug (optional)
parentNoParent page ID (optional)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It only mentions the page will use Bricks Builder, but does not disclose any side effects, permissions needed, or response behavior. Minimal behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, clear sentences with no fluff. Front-loaded with the key purpose, and efficient in structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no output schema, and no annotations, the description is too brief. It omits important context such as default status (draft), optionality of elements, and error handling. Not fully informative for a creation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters adequately. The description adds no parameter-specific details beyond the schema, but also does not contradict it. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Create'), resource ('WordPress page'), and context ('with Bricks content', 'Bricks Builder for rendering'), distinguishing it from siblings like bricks_clone_page and bricks_create_template.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., bricks_clone_page for duplication, bricks_create_template for templates). The description only states what it does, not when or why to choose it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_create_templateC

Create a new Bricks template with elements.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
titleYesTemplate title
elementsNoArray of Bricks elements
statusNoPost status (default: "publish")
template_typeNoTemplate type: header, footer, section, content

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must fully disclose behavior. It states 'create a new template' implying mutation, but does not mention side effects, required permissions, or whether templates are immediately available. The description is too brief to convey behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. However, it could be slightly more structured to include key parameters or usage hints, but it remains concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, and the presence of 5 parameters (including enums and a nested array), the description is too minimal. It does not mention what the tool returns, how elements are structured, or any post-creation behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (all 5 parameters have descriptions in the input schema). The description adds no additional meaning beyond what is already in the schema, so it meets the baseline of 3 but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create' and the resource 'Bricks template', and mentions 'with elements', indicating what the tool does. However, it does not differentiate from sibling tools like bricks_update_template or bricks_create_page, which share similar wording.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., bricks_update_template for modifications, bricks_generate_section for generating sections). There is no mention of prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_delete_snapshotB

Delete a specific snapshot from a page.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".
snapshot_keyYesThe snapshot key to delete (e.g. _bricks_snapshot_1234567890)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It states the deletion action but does not disclose permanence, required permissions, or side effects. Basic transparency, insufficient for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that clearly communicates the core action without extraneous words. Perfectly concise and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity and absence of output schema, the description is minimally adequate. It lacks details on return values or consequences, but covers the essential purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with existing parameter descriptions. The tool description adds no additional meaning beyond what the schema provides, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Delete a specific snapshot from a page' uses a specific verb (delete) and resource (snapshot), clearly distinguishing it from sibling tools like restore or snapshot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as restore or list. The description only states the action, leaving the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_delete_templateB

Delete a Bricks template permanently.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
template_idYesThe template ID to delete

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It states 'permanently' but does not disclose effects on pages using the template, reversibility, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It is appropriately sized for a simple delete operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and lack of output schema, the description is minimal. It does not explain side effects, return values, or differentiation from siblings beyond the basic action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for both parameters. The tool description adds no extra meaning beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Delete' and the resource 'a Bricks template permanently.' It is specific and distinguishes from sibling tools like bricks_create_template or bricks_update_template.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives. It does not mention prerequisites, consequences, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_duplicate_elementA

Duplicate an element and all its descendants within the same page. New IDs are generated for all duplicated elements.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".
element_idYesThe element ID to duplicate
new_parent_idNoOptional new parent for the duplicated element (defaults to same parent)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states that new IDs are generated and duplication is within the same page, but does not disclose potential side effects (e.g., overwriting, permissions required) or limitations (e.g., cannot duplicate across pages).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, no fluff, front-loaded with the key action and outcome. Every word is necessary and contributes to understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter tool with no output schema and no annotations, the description is adequate but not complete. It covers the core behavior but lacks details on return values, error conditions, or post-duplication state. The schema handles parameter documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning beyond the schema; it provides general context but no per-parameter details beyond what is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Duplicate an element and all its descendants within the same page') and distinguishes it from siblings like 'bricks_move_element' or 'bricks_add_element' by specifying duplication with new IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives, such as when to duplicate versus copy across pages or when to use 'bricks_add_element' instead. The description does not mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_find_elementA

Search elements within a page by type, text content, or CSS class. Returns matching elements with their IDs, settings summary, and parent chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".
element_typeNoFilter by element type name (e.g., "heading", "button")
text_searchNoSearch for text content within element settings
css_classNoFilter by CSS class name

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should fully disclose behavior. It states the tool is a search operation and mentions return fields, but doesn't explicitly confirm it's read-only or describe performance considerations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first states purpose and search criteria, second describes return data. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers search criteria and return structure (IDs, settings summary, parent chain). Lacks mention of pagination or limits, but sufficient for a query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds minimal extra meaning beyond the schema parameter descriptions, simply grouping the search criteria.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for elements within a page by type, text, or CSS class, and specifies the return data. It distinguishes itself from related tools like bricks_get_page_elements by focusing on search functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus siblings (e.g., bricks_get_page_elements, bricks_update_element). The description lacks context on prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_generate_elementA

Generate a single Bricks element JSON from parameters. LOCAL helper — no API call. Returns a ready-to-use element object with auto-generated ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesElement type name (e.g., "heading", "text-basic", "button", "container", "section")
parentNoParent element ID or 0 for root (default: 0)
childrenNoChild element IDs (optional)
settingsNoElement settings (merged with defaults for the element type)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses it is local, no API call, and returns an object. With no annotations, it covers key behavioral traits well, though no mention of state modification or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste, front-loading key information (generation, local, no API, ready-to-use, auto-generated ID).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description explains return value sufficiently. Lacks error handling or side-effect details, but generation tools are straightforward.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 100%, baseline 3. Description adds 'auto-generated ID' and implies merging with defaults, adding value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it generates a single Bricks element JSON, is a local helper with no API call, and returns a ready-to-use object. Distinguishes from sibling tools that likely involve API calls or mutations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions 'LOCAL helper — no API call', indicating when to use for generating without side effects. No explicit when-not or alternatives, but sibling context provides cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_generate_sectionA

Generate a complete section structure from a type. Returns a ready-to-use Bricks elements array. LOCAL helper — no API call. Types: hero, features, pricing, cta, testimonials, faq, contact, stats, team, logos, newsletter, comparison, steps, footer.

ParametersJSON Schema
NameRequiredDescriptionDefault
section_typeYesSection type to generate
headingNoCustom heading text (optional)
textNoCustom body text (optional, for hero/cta/contact/newsletter)
buttonTextNoCustom button text (optional, for hero/cta/newsletter/contact)
buttonUrlNoCustom button URL (optional, for hero/cta)
featuresNoCustom features array for "features" section type
testimonialsNoCustom testimonials for "testimonials" section type
faqsNoCustom FAQ items for "faq" section type
plansNoCustom pricing plans for "pricing" section type
statsNoCustom stats for "stats" section type
membersNoCustom team members for "team" section type
stepsNoCustom steps for "steps" section type
columnsNoColumn headers for "comparison" section type
rowsNoRow data for "comparison" section type
linksNoFooter links for "footer" section type
logosNoLogo URLs for "logos" section type
logoCountNoNumber of logo placeholders for "logos" section (default: 5)
backgroundColorNoBackground color (for cta, newsletter, footer sections)
numberColorNoColor for stat numbers (for stats section)
stepColorNoColor for step circles (for steps section)
siteNameNoSite/brand name for footer section
aboutTextNoAbout text for footer section
emailNoEmail for footer contact section
phoneNoPhone for footer contact section
socialTextNoSocial media text for footer section
placeholderNoInput placeholder text for newsletter section

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, placing the burden on the description. The description discloses it is a local helper with no API call, which is a key behavioral trait. It also states it returns an array of elements. This provides useful context beyond the schema, though more details on error handling or side effects could be added.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. The first front-loads the core purpose and key trait (local, no API), and the second lists available types. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (26 parameters, but 1 required) and lack of output schema, the description adequately covers the tool's purpose and return type. It could benefit from more detail about the structure of the returned array, but the generation context makes it understandable. Sibling tools are well-differentiated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add additional meaning beyond the schema; the listed types are already in the enum. No extra guidance is provided on how parameters interact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates a complete section structure from a type, returning a ready-to-use Bricks elements array. It distinguishes from siblings like bricks_generate_element by highlighting it's a full section, not a single element. The mention 'LOCAL helper — no API call' further clarifies its scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for generating full sections, contrasting with single-element tools. However, it does not explicitly state when to use this vs alternatives or when not to use it. Without explicit exclusions or alternate tool names, some ambiguity remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_get_element_treeA

Get a hierarchical tree representation of page elements (nested, not flat array). Useful for understanding page structure.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It indicates the tool returns a nested tree (non-destructive read), but lacks details on error cases, permissions, or rate limits. For a simple getter, this is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. It is front-loaded with the primary action and quickly adds a key differentiator ('nested, not flat array').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description compensates by clarifying the return format (hierarchical tree). It provides sufficient information for an agent to understand the tool's purpose and output structure, though more detail on what elements contain would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all three parameters thoroughly. The description adds no additional meaning beyond what the schema provides, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: retrieving a hierarchical tree of page elements. It explicitly contrasts with a flat array, differentiating it from siblings like bricks_get_page_elements.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions it is 'useful for understanding page structure,' providing a use case, but does not explicitly state when to use this tool over alternatives or provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_get_global_classesA

Get Bricks global CSS classes (stored in wp_options as bricks_global_classes). May require a custom REST endpoint if not exposed by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must convey behavioral traits. It adds storage location and endpoint requirement, but lacks details on auth, rate limits, or response behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with core purpose, no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequately complete for a simple retrieval tool with one optional parameter, though missing return format details; acceptable given simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds no additional parameter information beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Get Bricks global CSS classes' with specific verb and resource, and distinguishes from siblings by specifying the data source (wp_options as bricks_global_classes).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions potential need for custom REST endpoint but does not explicitly guide when to use this tool vs alternatives like bricks_get_page_css or bricks_get_template.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_get_page_cssC

Get custom CSS for a page (stored in _bricks_page_css_2 post meta).

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It only mentions the meta key storage but omits behavioral traits like read-only nature, return value format (string or empty?), error behavior if post doesn't exist, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single concise sentence, front-loaded with the core action. No wasted words, but could be slightly more structured (e.g., bullet points for separate facets).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with 3 parameters and no output schema, the description is minimally adequate. It identifies the meta key but lacks details about return behavior, defaults, or edge cases. Given the complexity, it could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with descriptions, so baseline is 3. The tool description adds no extra semantic value beyond the schema, not even reinforcing parameter roles or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves custom CSS for a page, with a specific storage location. However, it does not explicitly distinguish from the sibling `bricks_set_page_css`, though the verb 'get' implies opposite intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, e.g., `bricks_get_page_elements` for element tree, or `bricks_set_page_css` for writing. No context on prerequisites or typical workflows.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_get_page_elementsB

Get the Bricks elements array for a page/post by ID. Returns the structured JSON of all elements on that page.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It states the tool returns 'all elements' but does not clarify whether this includes nested or hidden elements, or if there are performance implications for large pages. Basic read behavior is implied but not elaborated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, with no filler or redundant information. Every word adds value, front-loading the core action and return type.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, so the description should provide more context about the return value structure or limitations. It mentions 'structured JSON' and 'all elements', which is functional but minimal. Sibling tools like 'bricks_get_element_tree' are not mentioned, so completeness is only moderate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all three parameters have descriptions). The description adds minimal extra meaning—'by ID' and 'page/post' are already in the schema. No additional format or usage examples are given, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'Bricks elements array for a page/post', making the tool's action unambiguous. It distinguishes itself from siblings like 'bricks_add_element' by focusing on retrieval, and explicitly mentions returning 'structured JSON'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'bricks_get_element_tree' or 'bricks_set_page_elements'. The description implies usage for retrieving elements but offers no exclusions or context about optimal scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_get_templateC

Get template details including its Bricks elements array.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
template_idYesThe Bricks template ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It states the tool gets details including elements, but it does not disclose that it is a read-only operation, any authentication requirements, or potential performance implications. The behavioral traits are only implicitly suggested.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no extraneous words. It efficiently communicates the core action and the key content returned (elements array). Could be slightly more structured but is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should explain return values. It mentions 'template details including its Bricks elements array' but omits other fields, error handling, or prerequisites. For a simple get tool with two parameters, this is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters (site with defaults, template_id required). The description adds 'including its Bricks elements array' to the purpose but does not elaborate on the parameters themselves. Baseline of 3 is appropriate since the schema already documents parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and resource 'template details including its Bricks elements array'. It clearly differentiates from similar siblings like bricks_list_templates (list all) and bricks_create_template (create). However, it could be more explicit in distinguishing from bricks_get_element_tree or other get tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With many sibling tools (e.g., bricks_list_templates, bricks_get_element_tree), the description lacks context for choosing the right tool. There is no discussion of prerequisites or scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_list_element_typesA

List available Bricks element types with their default settings structure and examples. LOCAL tool — no API call. Use this to learn which elements and properties are available.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoOptional filter by element name (e.g., "heading", "container")

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that this is LOCAL and makes no API call, implying a safe, read-only operation. It could be more explicit about side effects, but 'list' and 'no API call' sufficiently convey behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words, front-loaded with purpose. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with one optional parameter and no output schema, the description is sufficient. It explains the purpose and hints at the output (default settings structure and examples). Could be more detailed about output format, but not required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for the single optional filter parameter. The description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists available Bricks element types with default settings and examples, distinguishing it from sibling tools that add, update, or delete elements. Mentioning it's a LOCAL tool with no API call further clarifies its scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use this to learn which elements and properties are available, providing a clear use case. While it doesn't explicitly state when not to use or give alternatives, the context among siblings makes it clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_list_pagesA

List pages. By default only shows pages with Bricks content. Set include_all=true to include all pages. Supports search. Returns pagination totals.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
per_pageNoResults per page (default: 100)
pageNoPage number (default: 1)
include_allNoInclude pages without Bricks content (default: false)
searchNoSearch pages by title

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description effectively communicates the default filtering behavior (only Bricks content) and the ability to include all pages. It also mentions pagination totals, which is helpful context. However, it does not disclose any potential side effects, though none are expected for a list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences that convey all key information. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description mentions pagination totals, which is useful. It also covers the main parameters' effects. However, it could be more explicit about the response structure, especially regarding pagination details beyond totals.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the default behavior of 'include_all' and specifying that search supports title matching and returns pagination totals, which goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('List pages') and distinguishes from siblings by focusing on pages with Bricks content and supporting search. Sibling tools like bricks_get_page_elements are for different purposes, so there is no confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool is for listing pages, but it does not explicitly state when to use it vs alternatives (e.g., for filtered listings). No exclusions or alternative tool references are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_list_snapshotsB

List all available snapshots for a page, sorted by most recent first.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool is a read-only list operation, but it does not explain what data is returned (e.g., snapshot IDs, timestamps), pagination behavior, or any limits. Without annotations, this is insufficient for an agent to understand the tool's full behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence with no fluff. It immediately conveys the purpose and key property (sorted by most recent).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description should compensate by detailing return values or usage patterns. It does not mention whether snapshot IDs are included, how to interpret the list, or any pagination. This leaves the agent underinformed for subsequent calls like bricks_restore_snapshot.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage with descriptions for all parameters. The tool description adds no additional meaning beyond reinforcing that snapshots are 'for a page'. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all available snapshots for a page, sorted by most recent first. It uses a specific verb ('list') and resource ('snapshots for a page'), differentiating from sibling tools like bricks_snapshot_page (create) and bricks_delete_snapshot (delete).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as when to list snapshots vs. creating or restoring them. It does not mention prerequisites, expected context, or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_list_templatesA

List Bricks templates (headers, footers, sections, content templates). Supports filtering by template_type and search. Returns pagination totals.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
per_pageNoResults per page (default: 100)
pageNoPage number (default: 1)
template_typeNoFilter by template type
searchNoSearch templates by title

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries full burden. It states the tool returns pagination totals, which is useful behavioral context for a list operation. However, it does not mention read-only nature, authorization needs, or any side effects, making it adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: first clearly defines purpose, second adds feature details. Every sentence adds value with no wasted words. It is appropriately front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with 5 parameters and no output schema, the description covers what it does, example types, filtering, and pagination. Minor gaps exist (e.g., no mention of default ordering or behavior when no filters applied), but it is largely complete for the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all 5 parameters described. The description adds 'Supports filtering by template_type and search' but this is already covered by schema descriptions. It does not provide additional semantic meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists Bricks templates and gives specific examples (headers, footers, sections, content templates). This immediately distinguishes it from sibling tools like bricks_create_template or bricks_get_template, which have different actions or resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide guidance on when to use this tool versus alternatives. It mentions filtering capabilities but lacks explicit when-to-use or when-not-to-use information relative to siblings like bricks_get_template or bricks_create_template.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_move_elementB

Move an element to a different parent or position within parent's children array.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".
element_idYesThe element ID to move
new_parent_idYesThe new parent element ID or 0 for root
positionNoPosition index in new parent's children (optional, defaults to end)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It states it 'moves' an element, but does not disclose side effects such as whether position bounds are validated, whether child indices are adjusted, or if any re-rendering occurs. Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence front-loaded with action and resource. No unnecessary words. Highly efficient and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 6 parameters and no output schema, the description is too brief. It does not explain success behavior (e.g., void return or updated tree), error conditions, or prerequisites (e.g., element and parent must exist). Incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed descriptions for each parameter. The tool description adds no additional semantic value beyond reinforcing the overall purpose. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Move' and the resource 'element', and differentiates between moving to a different parent or repositioning within the same parent. This distinguishes it from siblings like bricks_add_element (add) or bricks_duplicate_element (copy).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like bricks_update_element (which might modify element properties) or bricks_remove_element. Lacks explicit context for agent decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_remove_elementA

Remove an element by its element ID from a page. Also removes all descendant elements.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
element_idYesThe Bricks element ID to remove
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of disclosure. It does mention the removal of descendants, which is a critical behavioral detail beyond the schema. However, it omits information about reversibility, required permissions, or error scenarios.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, front-loading the core action and a critical side effect. Every word is meaningful with no unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description adequately covers the primary behavior and descendant removal. It is missing potential error handling, but for a simple remove tool it meets minimum viability without major gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all four parameters, each with clear descriptions. The tool description adds no additional parameter-level insights, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (remove), the resource (element by ID from a page), and includes a key side effect (removes all descendant elements). This distinguishes it from sibling tools like bricks_duplicate_element or bricks_move_element.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, nor any conditions or prerequisites. The description simply states what it does without contextualizing its role among the many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_restore_snapshotB

Restore page elements from a previously saved snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".
snapshot_keyYesThe snapshot key (e.g., "_bricks_snapshot_1234567890")

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only says 'restore' without explaining side effects (e.g., overwriting current elements, merge behavior, reversibility). Insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. However, it could benefit from slightly more detail without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description should provide more context on the restore process, required preconditions, and relationship to snapshot-related siblings. It is too minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains each parameter. The description adds no additional meaning beyond the schema, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Restore') and the resource ('page elements from a previously saved snapshot'). It distinguishes itself from siblings like bricks_snapshot_page (create) and bricks_delete_snapshot (delete).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites mentioned (e.g., snapshot must exist), and no context on typical use cases or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_set_page_cssA

Set custom CSS for a page (stored in _bricks_page_css_2 post meta).

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
cssYesCSS code to set for the page
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description partially fulfills the transparency burden by noting the storage meta key. However, it omits behavioral details such as whether CSS is overwritten or appended, required permissions, or side effects (e.g., clearing existing CSS). This leaves uncertainty about the tool's full impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that efficiently conveys the core function and storage detail with no superfluous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and the description covers the essential purpose and storage. Without an output schema, some behavioral details (e.g., return value, success/error indication) are missing, but for a setter tool with full schema coverage, it is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no additional semantic value beyond the schema's parameter descriptions; it merely repeats the action. Parameters are adequately documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Set custom CSS) and the target resource (a page), with specific mention of storage location (_bricks_page_css_2 post meta). It effectively distinguishes from siblings like bricks_get_page_css and bricks_set_page_elements.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for setting page CSS but provides no explicit guidance on when to use versus alternatives (e.g., bricks_set_page_elements) or when not to use. No exclusion criteria or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_set_page_elementsB

Set/replace the entire Bricks elements array for a page/post. Takes the full elements JSON array.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
elementsYesFull array of Bricks elements to set
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so description carries full burden. It only says 'Set/replace' but omits behavioral traits like destructive nature, permission requirements, or error handling. Minimal disclosure for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with action, no redundant information. Every word is meaningful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 100% schema coverage, no output schema or explanation of return values. For a destructive tool, missing details on what happens to existing elements (overwrite) and success/failure responses.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all 4 parameters (100%), so description adds little beyond reinforcing 'Takes the full elements JSON array.' No additional syntax or format details beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Set/replace the entire Bricks elements array for a page/post.' It uses specific verb and resource, and distinguishes from siblings like bricks_add_element (adds single) and bricks_update_element (updates specific).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description does not provide guidance on when to use this tool vs alternatives. No mention of prerequisites, when not to use, or comparisons with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_snapshot_pageA

Save a snapshot of all page elements before making changes. Stored in post meta. Use bricks_restore_snapshot to roll back.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".
labelNoOptional label/description for this snapshot

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description adds useful behavioral context ('Stored in post meta'), but does not disclose potential side effects like overwriting existing snapshots.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words, effectively communicating purpose and key additional information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given full schema and no output schema, the description covers purpose, storage, and sibling usage; it lacks confirmation of return value but is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3 applies; the description adds no parameter-specific meaning beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Save' and resource 'snapshot of all page elements', distinguishing it from complementary tools like bricks_restore_snapshot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Specifies to use 'before making changes' and references bricks_restore_snapshot for rollback, but does not explicitly list conditions when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_update_elementA

Update a specific element's settings on a page (by element ID). Merges new settings with existing ones.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
post_idYesThe page/post ID
element_idYesThe Bricks element ID to update
settingsYesSettings to merge into the element's existing settings
post_typeNoPost type slug. Use "pages" for pages, "posts" for posts, or any registered CPT slug (e.g., "product", "portfolio"). Defaults to "pages".

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the key behavioral trait of merging new settings with existing ones, which is important. However, with no annotations provided, it lacks details on error handling, required permissions, or side effects if the element is not found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: the first states the purpose, the second explains the merge behavior. No unnecessary words, well front-loaded, and every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, nested settings object, no output schema), the description is incomplete. It does not explain the output format, error scenarios, prerequisites (e.g., element must exist), or how it differs from related siblings like bricks_set_page_elements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description reinforces the merge behavior for the 'settings' parameter but does not add additional semantic meaning beyond what the schema already provides for the other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates a specific element's settings by element ID and emphasizes the merge behavior, which distinguishes it from siblings like bricks_set_page_elements that replace all elements. The verb 'update' and resource 'element settings' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for partial updates via the merge behavior but does not explicitly state when to use this tool over alternatives like bricks_bulk_update_elements or bricks_set_page_elements. No exclusions or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bricks_update_templateB

Update a Bricks template's elements, title, or status.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite key for multi-site support. Available: main. Defaults to "main".
template_idYesThe template ID to update
titleNoNew title (optional)
elementsNoNew elements array (optional)
statusNoNew status (optional)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description only states basic update capability without disclosing side effects, permissions, destructive nature, rate limits, or response behavior. For a mutation tool, more transparency is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff, directly communicates the tool's purpose. Every word is relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has 5 parameters and no output schema. Description is minimal; lacks behavior details for partial updates, error conditions, or what happens when multiple fields are provided. Adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 5 parameters with descriptions. Description adds no extra detail beyond listing 'elements, title, or status'. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Update', resource 'Bricks template', and specific fields 'elements, title, or status'. It distinguishes from sibling tools like bricks_create_template and bricks_delete_template.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Does not mention prerequisites, when not to use, or suggest other tools for different update scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 28 tool updatesv2.0.0
    • First observedbricks_add_element
    • First observedbricks_bulk_update_elements
    • First observedbricks_clone_page
    • First observedbricks_create_page
    • First observedbricks_create_template
    • First observedbricks_delete_snapshot
    • First observedbricks_delete_template
    • First observedbricks_duplicate_element
    • First observedbricks_find_element
    • First observedbricks_generate_element
    • First observedbricks_generate_section
    • First observedbricks_get_element_tree
    • First observedbricks_get_global_classes
    • First observedbricks_get_page_css
    • First observedbricks_get_page_elements
    • First observedbricks_get_template
    • First observedbricks_list_element_types
    • First observedbricks_list_pages
    • First observedbricks_list_snapshots
    • First observedbricks_list_templates
    • First observedbricks_move_element
    • First observedbricks_remove_element
    • First observedbricks_restore_snapshot
    • First observedbricks_set_page_css
    • First observedbricks_set_page_elements
    • First observedbricks_snapshot_page
    • First observedbricks_update_element
    • First observedbricks_update_template

TDQS

A3.7/5.0

Scored across 28 tools

Disambiguation5/5

Each tool targets a distinct operation on a specific resource (elements, pages, templates, snapshots, CSS, global classes). There is no overlap; for instance, add_element vs create_page vs create_template are clearly different.

Naming Consistency5/5

All tools follow the consistent pattern of bricks_<verb>_<noun> (e.g., bricks_add_element, bricks_create_page, bricks_list_templates). No mixing of conventions or inconsistent verb tenses.

Tool Count4/5

28 tools is slightly above the ideal range but still reasonable for a comprehensive page builder MCP. Each tool serves a distinct purpose, and the count reflects the necessary operations for managing pages, templates, elements, snapshots, and CSS.

Completeness4/5

The tool surface covers core CRUD for pages, templates, elements, and snapshots. Advanced features like managing global classes (only get, no set/update), breakpoints, or conditions are missing, but the set is complete for basic builder workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers