a19508ec8477eee48e756723af5bce2d7609fefcsource_git · developer2013/bricks-mcp-open · current release
Observed 2026-08-25T08:34:57.485Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.
{
"tools": {}
}| Tool | Category | Annotations | Risk |
|---|---|---|---|
bricks_active_siteShow the currently active WordPress site (key, label, URL, user).Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_add_menu_itemAdd a single item to an existing menu. Supports custom links, pages, posts, and categories. Use parent for submenus.Input schema{
"type": "object",
"properties": {
"menu_id": {
"type": "number",
"description": "Menu ID to add item to"
},
"title": {
"type": "string",
"description": "Menu item display text"
},
"url": {
"type": "string",
"description": "URL for custom links"
},
"type": {
"type": "string",
"description": "Link type: custom (default), post_type, taxonomy",
"default": "custom"
},
"object": {
"type": "string",
"description": "Object type when type=post_type: page, post. When type=taxonomy: category, post_tag"
},
"object_id": {
"type": "number",
"description": "Post/page/category ID when linking to existing content"
},
"parent": {
"type": "number",
"description": "Parent menu item ID for creating submenus (0 = top level)"
},
"position": {
"type": "number",
"description": "Menu order position (1-based)"
},
"target": {
"type": "string",
"description": "\"_blank\" to open in new tab"
},
"classes": {
"type": "array",
"items": {
"type": "string"
},
"description": "CSS classes for styling"
}
},
"required": [
"menu_id",
"title"
]
} | — | — · — | — |
bricks_append_elementsAppend elements to an existing page without replacing existing content. Elements are added after existing elements. Automatically creates a backup before writing (plugin-side, cannot be skipped). THEME-FIRST: before generating elements, call bricks_get_theme_styles and bricks_list_global_classes — reuse existing tokens (button styles, utility classes, color palette) instead of inline styling. For buttons prefer settings.style: "primary"|"secondary" over manual _background/_typography. For links use the text-link element, not a styled text-basic.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"elements": {
"type": "array",
"items": {
"type": "object"
},
"description": "Array of Bricks elements to append"
},
"parent_id": {
"type": "string",
"description": "Parent element ID to append under (optional, appends at root level if omitted)"
},
"regenerate_css": {
"type": "boolean",
"default": true,
"description": "Whether to regenerate CSS after appending (default: true)"
}
},
"required": [
"page_id",
"elements"
]
} | — | — · — | — |
bricks_apply_bem_componentApply BEM component classes to page elements. Maps element IDs to their BEM roles (_root, title, price, cta, etc.) and assigns the corresponding global classes. Optionally adds a modifier class to the root element.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "Page ID containing the elements"
},
"block": {
"type": "string",
"description": "BEM block name (must match a previously generated component)"
},
"mapping": {
"type": "object",
"description": "Map of Bricks element IDs to BEM element names. Use \"_root\" for the block element. Example: { \"rt0074\": \"_root\", \"rt0075\": \"title\", \"rt0076\": \"price\" }"
},
"modifier": {
"type": "string",
"description": "Optional modifier to apply to the root element (e.g., \"featured\", \"dark\")"
}
},
"required": [
"page_id",
"block",
"mapping"
]
} | — | — · — | — |
bricks_apply_class_to_elementApply or remove global CSS classes on page elements. Supports single element or bulk operations.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "Page ID containing the element(s)"
},
"element_id": {
"type": "string",
"description": "Element ID (for single operation)"
},
"class_id": {
"type": "string",
"description": "Global class ID (for single operation)"
},
"operations": {
"type": "array",
"description": "Bulk operations: [{ element_id, class_ids: [...], action: \"add\"|\"remove\" }]",
"items": {
"type": "object",
"properties": {
"element_id": {
"type": "string"
},
"class_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"action": {
"type": "string",
"enum": [
"add",
"remove"
]
}
},
"required": [
"element_id",
"class_ids"
]
}
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_batchExecute multiple API operations in a single request. Reduces HTTP roundtrips for multi-step workflows. Max 20 operations per batch.Input schema{
"type": "object",
"properties": {
"operations": {
"type": "array",
"description": "Array of operations to execute. Max 20.",
"items": {
"type": "object",
"properties": {
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"DELETE"
]
},
"endpoint": {
"type": "string",
"description": "API endpoint path (e.g., /pages/3)"
},
"body": {
"type": "object",
"description": "Request body (for POST/PUT)"
}
},
"required": [
"method",
"endpoint"
]
}
}
},
"required": [
"operations"
]
} | — | — · — | — |
bricks_build_pageBuild a complete page from section presets and/or raw elements in a single request. Combines multiple sections into a full page layout. Automatically creates a backup before writing (plugin-side, cannot be skipped). THEME-FIRST: before generating raw elements, call bricks_get_theme_styles and bricks_list_global_classes — reuse existing tokens (button styles, utility classes, color palette) instead of inline styling. For buttons prefer settings.style: "primary"|"secondary" over manual _background/_typography. For links use the text-link element, not a styled text-basic.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"sections": {
"type": "array",
"description": "Array of sections to build. Each can be a preset name or raw elements.",
"items": {
"type": "object",
"properties": {
"preset": {
"type": "string",
"description": "Preset name (e.g., \"hero-dark\", \"features-grid\")"
},
"elements": {
"type": "array",
"items": {
"type": "object"
},
"description": "Raw Bricks elements (used if no preset)"
},
"overrides": {
"type": "object",
"description": "Settings overrides to apply to the preset"
}
}
}
},
"regenerate_css": {
"type": "boolean",
"default": true,
"description": "Whether to regenerate CSS (default: true)"
}
},
"required": [
"page_id",
"sections"
]
} | — | — · — | — |
bricks_bulk_create_global_classesCreate or update multiple global CSS classes in one request. Upserts by ID.Input schema{
"type": "object",
"properties": {
"classes": {
"type": "array",
"description": "Array of class objects: [{ id, name, settings }]",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"settings": {
"type": "object"
}
},
"required": [
"id",
"name",
"settings"
]
}
}
},
"required": [
"classes"
]
} | — | — · — | — |
bricks_bulk_media_seoFind all media items missing SEO texts and auto-generate alt_text + title from filename context. Optionally apply changes. Shows a preview table first.Input schema{
"type": "object",
"properties": {
"apply": {
"type": "boolean",
"description": "If true, write the generated SEO texts. If false (default), only preview.",
"default": false
},
"per_page": {
"type": "number",
"description": "How many media items to scan (default: 100, max: 100)",
"default": 100
},
"overrides": {
"type": "object",
"description": "Manual overrides by media ID, e.g. {\"1707\": {\"alt_text\": \"Custom alt\", \"title\": \"Custom title\"}}",
"additionalProperties": {
"type": "object",
"properties": {
"alt_text": {
"type": "string"
},
"title": {
"type": "string"
},
"caption": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
}
}
} | — | — · — | — |
bricks_call_logQuery the structured MCP call log — every tool call with its args, status, duration, and (for page-mutating calls) a before/after element diff (count delta + added/removed element IDs). Use this to trace which call changed or corrupted a page and what input triggered it, instead of guessing from a snapshot. Filters: limit, page_id, failures_only, mutating_only.Input schema{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Max entries to return, newest first (default 30)."
},
"page_id": {
"type": "number",
"description": "Only calls that targeted this page ID."
},
"failures_only": {
"type": "boolean",
"description": "Only calls that errored."
},
"mutating_only": {
"type": "boolean",
"description": "Only page-mutating calls (update/patch/append/build/scripts/assets)."
}
}
} | — | — · — | — |
bricks_check_linksCheck all links on a Bricks page for broken URLs (404, timeouts, DNS failures). Tests both content links and element links via HTTP HEAD requests.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_clone_pageClone a page with all Bricks data and scripts.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "Page ID to clone"
},
"new_title": {
"type": "string",
"description": "Optional title for the clone"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_clone_templateClone a template with all Bricks data.Input schema{
"type": "object",
"properties": {
"template_id": {
"type": "number",
"description": "Template ID to clone"
},
"new_title": {
"type": "string",
"description": "Optional title for the clone"
}
},
"required": [
"template_id"
]
} | — | — · — | — |
bricks_competitor_extractExtract SEO meta tags, OG/Twitter data, JSON-LD schemas, and H1 headings from any external URL. Useful for benchmarking against competitors.Input schema{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to extract SEO data from"
}
},
"required": [
"url"
]
} | — | — · — | — |
bricks_connection_testTest the WordPress connection, verify credentials, and check plugin status. Use this to diagnose connection issues.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_create_full_backupCreate a full-state backup of the entire Bricks layer (all pages incl. drafts, templates, global styles/classes/fonts/colors, navigation menus, and curated WordPress core settings) as a single JSON file on the server. Use before risky bulk operations. Does NOT back up media files or the database — pair with a host snapshot for full disaster recovery.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_create_global_classCreate a new Bricks Builder global CSS class with settings.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Class name (e.g., \"btn-primary\", \"card-hover\")"
},
"settings": {
"type": "object",
"description": "Bricks settings object (e.g., _background, _typography, _padding)"
}
},
"required": [
"name",
"settings"
]
} | — | — · — | — |
bricks_create_menuCreate a new WordPress navigation menu. Returns the new menu ID.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Menu name (e.g. \"Main Navigation\", \"Footer Menu\")"
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Theme locations to assign (e.g. [\"primary\", \"footer\"]). Use bricks_get_menus to see available locations."
}
},
"required": [
"name"
]
} | — | — · — | — |
bricks_create_pageCreate a new WordPress page with Bricks Builder data in one call. No need for separate WP page creation + Bricks data push. THEME-FIRST: before generating elements, call bricks_get_theme_styles and bricks_list_global_classes — reuse existing tokens (button styles, utility classes, color palette) instead of inline styling. For buttons prefer settings.style: "primary"|"secondary" over manual _background/_typography. For links use the text-link element, not a styled text-basic.Input schema{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Page title"
},
"slug": {
"type": "string",
"description": "URL slug (optional, auto-generated from title)"
},
"status": {
"type": "string",
"enum": [
"publish",
"draft",
"private"
],
"description": "Post status (default: draft)",
"default": "draft"
},
"elements": {
"type": "array",
"description": "Bricks elements array (optional)",
"items": {
"type": "object"
}
},
"parent": {
"type": "number",
"description": "Parent page ID (optional)",
"default": 0
},
"post_type": {
"type": "string",
"description": "Post type (default: page)",
"default": "page"
}
},
"required": [
"title"
]
} | — | — · — | — |
bricks_create_redirectCreate a 301/302/307 redirect. Hits are tracked automatically on the frontend.Input schema{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Source path (e.g. /old-page)"
},
"target": {
"type": "string",
"description": "Target URL (e.g. https://example.com/new-page)"
},
"type": {
"type": "number",
"description": "Redirect type: 301 (permanent), 302 (temporary), 307 (temporary preserve method). Default: 301"
}
},
"required": [
"source",
"target"
]
} | — | — · — | — |
bricks_create_snapshotCreate a named snapshot of the current page state. Use for milestones like "client-approved", "before-redesign", etc.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"name": {
"type": "string",
"description": "Snapshot name (e.g. \"client-approved\", \"before-redesign\")"
},
"description": {
"type": "string",
"description": "Optional description of this snapshot"
}
},
"required": [
"page_id",
"name"
]
} | — | — · — | — |
bricks_create_templateCreate a new Bricks Builder template with the given content.Input schema{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Template title"
},
"template_type": {
"type": "string",
"description": "Template type (default: section)",
"default": "section",
"enum": [
"header",
"footer",
"section",
"content",
"single",
"archive",
"popup",
"search",
"error"
]
},
"content": {
"type": "array",
"description": "Array of Bricks elements",
"items": {
"type": "object"
}
},
"conditions": {
"type": "array",
"description": "Template conditions, e.g. [{\"main\":\"entireWebsite\"}] for site-wide header/footer",
"items": {
"type": "object"
}
}
},
"required": [
"title",
"content"
]
} | — | — · — | — |
bricks_delete_full_backupDelete one stored full-state backup file by its filename (as listed by bricks_list_full_backups).Input schema{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "Backup filename, e.g. bricks-fullstate-20260611-120000-a1b2c3.json"
}
},
"required": [
"file"
]
} | — | — · — | — |
bricks_delete_global_classDelete a global CSS class by ID.Input schema{
"type": "object",
"properties": {
"class_id": {
"type": "string",
"description": "Class ID to delete"
}
},
"required": [
"class_id"
]
} | — | — · — | — |
bricks_delete_menuDelete a WordPress navigation menu and all its items.Input schema{
"type": "object",
"properties": {
"menu_id": {
"type": "number",
"description": "Menu ID to delete"
}
},
"required": [
"menu_id"
]
} | — | — · — | — |
bricks_delete_menu_itemRemove a single item from a menu.Input schema{
"type": "object",
"properties": {
"item_id": {
"type": "number",
"description": "Menu item ID to remove"
}
},
"required": [
"item_id"
]
} | — | — · — | — |
bricks_delete_presetDelete a section preset by name.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Preset name to delete"
}
},
"required": [
"name"
]
} | — | — · — | — |
bricks_delete_redirectDelete a redirect by ID.Input schema{
"type": "object",
"properties": {
"redirect_id": {
"type": "string",
"description": "Redirect ID (from bricks_list_redirects)"
}
},
"required": [
"redirect_id"
]
} | — | — · — | — |
bricks_delete_snapshotDelete a named snapshot. Accepts snapshot ID or name.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"snapshot_id": {
"type": "string",
"description": "Snapshot ID (snap_...) or name to delete"
}
},
"required": [
"page_id",
"snapshot_id"
]
} | — | — · — | — |
bricks_delete_templateDelete a Bricks Builder template.Input schema{
"type": "object",
"properties": {
"template_id": {
"type": "number",
"description": "Template ID to delete"
},
"force": {
"type": "boolean",
"description": "Permanently delete instead of trash (default: false)",
"default": false
}
},
"required": [
"template_id"
]
} | — | — · — | — |
bricks_elementor_to_bricksConvert an Elementor page/template into a Bricks Builder element array. Input is an Elementor JSON export (Elementor UI → Templates → Export, or raw _elementor_data). Maps Elementor widgets/containers to native Bricks elements structurally — no HTML rendering. Returns the Bricks element array + a coverage report (which widgets mapped, which need manual work). Does NOT write to WordPress: review the output, then push with bricks_update_page or bricks_import_page.Input schema{
"type": "object",
"properties": {
"json": {
"type": "string",
"description": "Elementor export JSON as a string. Either an export wrapper { content: [...] } or a raw element array."
},
"file_path": {
"type": "string",
"description": "Absolute path to an Elementor .json export file. Used if `json` is not provided."
}
}
} | — | — · — | — |
bricks_generate_bem_componentGenerate a complete BEM component as global CSS classes. Creates block, element (__), and modifier (--) classes in one call. Uses bulk upsert so it is safe to re-run. Example: block="pricing-card" with elements title, price, cta creates: pricing-card, pricing-card__title, pricing-card__price, pricing-card__cta.Input schema{
"type": "object",
"properties": {
"block": {
"type": "string",
"description": "BEM block name (e.g., \"pricing-card\", \"hero\", \"testimonial\")"
},
"elements": {
"type": "object",
"description": "Map of element names to Bricks settings. Use \"_root\" for the block-level styles. Example: { \"_root\": { _padding: {...} }, \"title\": { _typography: {...} } }"
},
"modifiers": {
"type": "object",
"description": "Optional map of modifier names to Bricks settings. Example: { \"featured\": { _borderColor: {...} }, \"dark\": { _background: {...} } }"
}
},
"required": [
"block",
"elements"
]
} | — | — · — | — |
bricks_get_backupGet the backup of a page's Bricks data. Supports multi-slot backups (1-5, newest first).Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"slot": {
"type": "number",
"description": "Backup slot (1-5, default: 1 = most recent)",
"default": 1
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_get_breakpointsGet all active Bricks Builder breakpoints with pixel values and setting suffixes. Returns default breakpoints (Desktop, Tablet Portrait <992px, Mobile Landscape <768px, Mobile Portrait <478px) plus any custom breakpoints.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_get_color_paletteGet the Bricks Builder color palette. Returns all defined color variables with their values.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_get_css_variablesGet all CSS variables (design tokens) from Bricks Global Variables Manager. Returns variable names and values (colors, spacing, z-index, container sizes, etc.).Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_get_full_stateReturn the live full-state of the Bricks layer as JSON WITHOUT writing a file (all pages incl. drafts, templates, globals, menus, curated WP settings). Use to inspect or to save a backup snapshot locally on the client.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_get_global_class_usageGet usage report: which global classes are used on which pages/elements. Optionally filter by class_id.Input schema{
"type": "object",
"properties": {
"class_id": {
"type": "string",
"description": "Filter to a specific class ID (optional)"
}
}
} | — | — · — | — |
bricks_get_global_cssGet the global custom CSS from Bricks Builder settings.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_get_menu_locationsList all registered theme menu locations and which menus are assigned to them.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_get_pageGet the complete Bricks Builder JSON data for a specific page. Returns the full element tree with all settings, styles, and content. Use content_area to read header or footer template data instead of main content.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"summary": {
"type": "boolean",
"description": "If true, show element tree overview instead of raw JSON (default: false)",
"default": false
},
"content_area": {
"type": "string",
"enum": [
"content",
"header",
"footer"
],
"description": "Which content area to return (default: content). Header/footer return their respective template elements.",
"default": "content"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_get_page_assetsGet structured per-page assets. Returns { css, js_deps, js, raw_footer } — CSS is output in wp_head, JS deps via wp_enqueue_script, JS in wp_footer. Requires Bricks API Bridge v2.3+.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_get_page_schemaGet JSON-LD structured data (Schema.org) for a page. Returns all schema objects stored for this page.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_get_page_seoGet SEO meta data for a WordPress page. Returns title, description, OG/Twitter tags, canonical URL, robots directives, focus keyword, and more.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_get_page_settingsGet Bricks page-level settings (metaRobots, custom header/footer assignment, per-page overrides).Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_get_post_typesList all public WordPress post types with their Bricks support status, REST API base, and post count.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_get_scriptsGet per-page scripts for a WordPress page. Returns custom JS/CSS injected via Bricks API Bridge in wp_footer.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_get_settingsGet Bricks Builder global settings (container width, builder mode, post types, disabled features, custom header scripts, etc.).Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_get_statsGet site-wide statistics: total pages, templates, elements, global classes, fonts, colors, presets, media, PHP/WP/Bricks versions.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_get_templateGet the full Bricks Builder data for a specific template. Returns element tree with all settings.Input schema{
"type": "object",
"properties": {
"template_id": {
"type": "number",
"description": "Template ID"
}
},
"required": [
"template_id"
]
} | — | — · — | — |
bricks_get_theme_stylesGet Bricks Builder global Theme Styles. Returns all styles or a single named style.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of a specific theme style to retrieve (optional)."
}
}
} | — | — · — | — |
bricks_html_to_bricksConvert HTML/CSS to Bricks Builder JSON elements. Tries Bricks 2.3 native converter first, falls back to our local converter. Handles flex→container, grid→_cssCustom, px stripping, and all Bricks conventions automatically.Input schema{
"type": "object",
"properties": {
"html": {
"type": "string",
"description": "HTML markup to convert. Can be a full page or a fragment."
},
"css": {
"type": "string",
"description": "Optional CSS stylesheet to apply. Class-based rules will be matched to elements."
},
"wrap_in_section": {
"type": "boolean",
"description": "Whether to wrap top-level non-section elements in section > container. Default: true."
},
"prefer_native": {
"type": "boolean",
"description": "Try Bricks 2.3 native HTML converter first (default: true). Falls back to local converter if unavailable.",
"default": true
},
"resolve_classes": {
"type": "boolean",
"description": "Resolve HTML CSS class names against the site's global class registry. Matches are added as _cssGlobalClasses. Default: true.",
"default": true
}
},
"required": [
"html"
]
} | — | — · — | — |
bricks_import_full_stateImport a full-state backup supplied as JSON (e.g. a file downloaded from another site) rather than a server-stored file. Same safety guarantees as bricks_restore_full_backup (auto safety backup, infra protection).Input schema{
"type": "object",
"properties": {
"backup": {
"type": "object",
"description": "A full-state backup object (must contain a manifest, pages, etc.)"
},
"pages": {
"type": "boolean",
"description": "Restore pages (default: true)"
},
"templates": {
"type": "boolean",
"description": "Restore templates (default: true)"
},
"globals": {
"type": "boolean",
"description": "Restore globals (default: true)"
},
"wp_settings": {
"type": "boolean",
"description": "Restore WP settings (default: true; infra protected)"
},
"create_missing": {
"type": "boolean",
"description": "Create missing pages/templates (default: true)"
},
"force_infra": {
"type": "boolean",
"description": "DANGER: overwrite infra options (default: false)"
}
},
"required": [
"backup"
]
} | — | — · — | — |
bricks_import_templateImport a Bricks Builder JSON template file. Accepts the full Bricks export format with content array.Input schema{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Template title"
},
"template_type": {
"type": "string",
"description": "Template type (default: section)",
"default": "section",
"enum": [
"header",
"footer",
"section",
"content",
"single",
"archive",
"popup",
"search",
"error"
]
},
"json_data": {
"type": "object",
"description": "Complete Bricks template JSON with content array"
}
},
"required": [
"title",
"json_data"
]
} | — | — · — | — |
bricks_instantiate_sectionCreate an instance of a section preset with optional overrides. Returns the Bricks elements ready to be added to a page.Input schema{
"type": "object",
"properties": {
"preset_name": {
"type": "string",
"description": "Name of the preset to instantiate"
},
"overrides": {
"type": "object",
"description": "Settings overrides to apply by element key or index (e.g., { \"0\": { \"_background\": {...} } })"
},
"variables": {
"type": "object",
"description": "Variable substitutions for {{placeholder}} values in the preset (e.g., { heading: \"Hello\", button_text: \"Click\" })"
},
"use_learned_styles": {
"type": "boolean",
"description": "If true, fill unfilled {{placeholders}} with learned site preferences (top colors, fonts, spacing). Explicit variables always take priority."
}
},
"required": [
"preset_name"
]
} | — | — · — | — |
bricks_internal_linksGet internal linking suggestions for a page based on keyword overlap with other published pages. Returns top 10 most relevant pages to link to.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_list_backupsList all available backup slots for a page. Shows slot number, timestamp, and element count for each backup.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_list_fontsList all custom fonts registered in Bricks Builder.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_list_full_backupsList all stored full-state backups (file name, date, size). Created via bricks_create_full_backup or the WordPress admin Backup section.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_list_global_classesList all Bricks Builder global CSS classes. Returns class names, settings, and usage count.Input schema{
"type": "object",
"properties": {
"search": {
"type": "string",
"description": "Search term to filter classes by name"
}
}
} | — | — · — | — |
bricks_list_mediaList media attachments from the WordPress Media Library. Use to find existing images and their attachment IDs.Input schema{
"type": "object",
"properties": {
"search": {
"type": "string",
"description": "Search term to filter media (optional)"
},
"per_page": {
"type": "number",
"description": "Number of results (default: 10, max: 100)",
"default": 10
},
"mime_type": {
"type": "string",
"description": "Filter by MIME type, e.g. \"image/jpeg\" or \"image\" (optional)"
}
}
} | — | — · — | — |
bricks_list_pagesList all WordPress pages/posts that have Bricks Builder data. Returns page ID, title, slug, status, element count, and URL.Input schema{
"type": "object",
"properties": {
"post_type": {
"type": "string",
"description": "Post type to query (default: page)",
"default": "page"
},
"status": {
"type": "string",
"description": "Post status filter (publish, draft, any)",
"default": "any"
}
}
} | — | — · — | — |
bricks_list_presetsList all available section presets. Presets are reusable section templates that can be instantiated on any page.Input schema{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Filter by category (e.g., \"hero\", \"features\", \"cta\", \"footer\")"
}
}
} | — | — · — | — |
bricks_list_redirectsList all 301/302/307 redirects with hit counters.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_list_sitesList all configured WordPress sites. Shows which site is currently active.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_list_snapshotsList all named snapshots for a page. Shows name, description, element count, and timestamp.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_list_templatesList all Bricks Builder templates. Can filter by template type (header, footer, section, content).Input schema{
"type": "object",
"properties": {
"template_type": {
"type": "string",
"description": "Filter by template type",
"enum": [
"header",
"footer",
"section",
"content",
"single",
"archive",
"popup",
"search",
"error"
]
}
}
} | — | — · — | — |
bricks_patch_pageApply partial updates to a page. Only sends changed elements instead of full page data. More efficient than bricks_update_page for small changes. Automatically creates a backup before writing (plugin-side, cannot be skipped). Supports optimistic locking via content_hash. Use content_area to patch header or footer. THEME-FIRST: when adding or restyling elements, reuse existing theme tokens and global classes (bricks_get_theme_styles / bricks_list_global_classes) instead of inline styling; prefer settings.style and _typography over _cssCustom, and the text-link/button elements over styled divs.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "Page ID"
},
"add": {
"type": "array",
"items": {
"type": "object"
},
"description": "New elements to add"
},
"update": {
"type": "array",
"items": {
"type": "object"
},
"description": "Elements to update (must include id, only changed settings needed)"
},
"remove": {
"type": "array",
"items": {
"type": "string"
},
"description": "Element IDs to remove"
},
"regenerate_css": {
"type": "boolean",
"default": true,
"description": "Whether to regenerate CSS after patching (default: true)"
},
"content_hash": {
"type": "string",
"description": "Content hash from bricks_get_page for optimistic locking. If provided, patch fails with 409 if page was modified since read."
},
"content_area": {
"type": "string",
"enum": [
"content",
"header",
"footer"
],
"description": "Which content area to patch (default: content).",
"default": "content"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_purge_cachePurge all caches: Bricks CSS, WP object cache, BAB transients, and any active cache plugins (LiteSpeed, WP Rocket, W3TC, WP Super Cache). Optionally target a specific page.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "Target specific page (optional, omit for site-wide purge)"
}
}
} | — | — · — | — |
bricks_readabilityAnalyze page content readability using Flesch-Kincaid (English) and Flesch-Amstad (German) scores. Returns word count, sentence length, syllable stats, and readability grade.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_register_fontRegister a custom font in Bricks Builder. Supports Google Fonts, custom uploaded fonts, and Adobe Fonts.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Font family name (e.g., \"Inter\", \"PP Neue Montreal\")"
},
"type": {
"type": "string",
"enum": [
"google",
"custom",
"adobe"
],
"description": "Font source type"
},
"variants": {
"type": "array",
"items": {
"type": "string"
},
"description": "Font variants to load (e.g., [\"300\", \"400\", \"500\", \"600\", \"700\"])"
},
"url": {
"type": "string",
"description": "URL for custom font files (for type \"custom\")"
}
},
"required": [
"name",
"type"
]
} | — | — · — | — |
bricks_restore_backupRestore a page's Bricks data from a backup slot.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"slot": {
"type": "number",
"description": "Backup slot to restore (1-5, default: 1 = most recent)",
"default": 1
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_restore_full_backupRestore the site from a stored full-state backup file (pages incl. drafts, templates, global tokens, and WP settings). SAFE: takes an automatic safety backup first, and never overwrites infrastructure options (siteurl/home/active theme/active plugins) unless force_infra=true. Pages/templates match by ID (same-site restore). Menus are not restored yet.Input schema{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "Stored backup filename (from bricks_list_full_backups)"
},
"pages": {
"type": "boolean",
"description": "Restore pages (default: true)"
},
"templates": {
"type": "boolean",
"description": "Restore templates (default: true)"
},
"globals": {
"type": "boolean",
"description": "Restore global styles/classes/fonts/colors (default: true)"
},
"wp_settings": {
"type": "boolean",
"description": "Restore WordPress settings (default: true; infra keys still protected)"
},
"create_missing": {
"type": "boolean",
"description": "Create pages/templates whose ID no longer exists (default: true)"
},
"force_infra": {
"type": "boolean",
"description": "DANGER: also overwrite siteurl/home/active theme/plugins (default: false)"
}
},
"required": [
"file"
]
} | — | — · — | — |
bricks_restore_snapshotRestore a page from a named snapshot. Creates an auto-backup before restoring. Accepts snapshot ID or name.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"snapshot_id": {
"type": "string",
"description": "Snapshot ID (snap_...) or name to restore"
}
},
"required": [
"page_id",
"snapshot_id"
]
} | — | — · — | — |
bricks_save_presetSave a section as a reusable preset. Extracts elements from a page section and stores as a named preset.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Unique preset name (e.g., \"hero-dark-gradient\")"
},
"category": {
"type": "string",
"description": "Category (e.g., \"hero\", \"features\", \"cta\", \"testimonials\")"
},
"description": {
"type": "string",
"description": "Brief description of the preset"
},
"elements": {
"type": "array",
"items": {
"type": "object"
},
"description": "Array of Bricks elements that make up this section"
}
},
"required": [
"name",
"elements"
]
} | — | — · — | — |
bricks_search_elementsSearch Bricks elements across all pages. Find elements by text content, element type, CSS class, or specific settings.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free text search (searches text, content, label, title settings)"
},
"element_type": {
"type": "string",
"description": "Filter by element type (heading, button, image, container, section, text-basic, etc.)"
},
"css_class": {
"type": "string",
"description": "Filter by CSS class name (partial match)"
},
"setting_key": {
"type": "string",
"description": "Search for a specific setting key (e.g. \"_background\", \"_typography\")"
},
"setting_value": {
"type": "string",
"description": "Filter setting_key results by value (partial match)"
},
"post_type": {
"type": "string",
"description": "Post type to search (default: page)",
"default": "page"
},
"limit": {
"type": "number",
"description": "Max results (default: 50, max: 200)",
"default": 50
}
}
} | — | — · — | — |
bricks_search_pagesSearch pages by title, slug, or content.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query"
},
"post_type": {
"type": "string",
"description": "Post type to search (default: page)",
"default": "page"
}
},
"required": [
"query"
]
} | — | — · — | — |
bricks_search_templatesSearch templates by title or content.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query"
},
"template_type": {
"type": "string",
"description": "Filter by template type",
"enum": [
"header",
"footer",
"section",
"content",
"single",
"archive",
"popup",
"search",
"error"
]
}
},
"required": [
"query"
]
} | — | — · — | — |
bricks_security_auditRead-only security posture audit of the WordPress + Bricks site behind the bridge. Scores 0-100 (A-F) across Bricks-core CVEs, bridge route permissions (self-audit), code-element exposure, platform currency, config hygiene, and access/transport. Returns findings worst-first with remediation. Any open CRITICAL hard-caps the grade to F. Not a malware scanner. Requires admin credentials.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_security_inventoryExact software inventory of the site behind the bridge — WordPress core, PHP, Bricks, active theme, all plugins/themes with versions and any known-available updates (read from WordPress own update transients, no external network call). Use to feed version-based checks or to see what is outdated. Requires admin credentials.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_seo_analyzeDeep SEO analysis for a single page. Checks title/description quality, keyword density, heading hierarchy (H1-H6), image alt texts, content length, structured data, and content freshness. Returns a detailed score breakdown.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_seo_auditBulk SEO audit — scans all published pages and scores each 0-100 based on title, description, OG tags, headings, image alts, canonical, focus keyword, and structured data. Returns pages sorted by score (worst first).Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_seo_auto_fixAuto-generate missing SEO data from page content. Creates SEO title (from post title), meta description (from first text content), canonical URL, and og:type for pages that lack them.Input schema{
"type": "object",
"properties": {
"page_ids": {
"type": "array",
"items": {
"type": "number"
},
"description": "Array of page IDs to fix"
},
"all": {
"type": "boolean",
"description": "Set true to fix ALL published pages"
},
"dry_run": {
"type": "boolean",
"description": "Preview changes without saving (default: false)"
}
}
} | — | — · — | — |
bricks_seo_bulk_updateUpdate SEO fields for multiple pages at once. Useful for setting noindex on all demo pages, or applying the same og_type to multiple pages.Input schema{
"type": "object",
"properties": {
"page_ids": {
"type": "array",
"items": {
"type": "number"
},
"description": "Array of page IDs to update"
},
"fields": {
"type": "object",
"description": "SEO fields to set on all pages. Keys: seo_title, description, og_image, keywords, og_type, canonical, noindex, nofollow, focus_keyword, og_title, twitter_title, twitter_description, twitter_image"
}
},
"required": [
"page_ids",
"fields"
]
} | — | — · — | — |
bricks_seo_plugin_infoDetect installed SEO plugins (Yoast, Rank Math, AIOSEO, The SEO Framework) and their meta key mappings. Helps avoid conflicts with BAB SEO output.Input schema{
"type": "object",
"properties": {}
} | — | — · — | — |
bricks_set_gsap_flagToggle the GSAP enqueue flag for a page. When enabled, GSAP + ScrollTrigger are loaded via wp_enqueue_script (proper dedup, browser caching). No need to add CDN <script> tags in per-page scripts.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"enabled": {
"type": "boolean",
"description": "true to enable GSAP enqueue, false to disable",
"default": true
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_sitemap_analyzeAnalyze the XML sitemap — parses URLs, detects sitemap index, finds published pages missing from sitemap, and flags noindex pages that are listed.Input schema{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Sitemap URL (default: {site}/sitemap.xml)"
}
}
} | — | — · — | — |
bricks_sitemap_pingPing Google, Bing, and IndexNow to notify them about sitemap updates. Triggers faster re-crawling after content changes.Input schema{
"type": "object",
"properties": {
"sitemap_url": {
"type": "string",
"description": "Sitemap URL (default: {site}/sitemap.xml)"
}
}
} | — | — · — | — |
bricks_social_previewCheck social media sharing preview for a page. Validates OG image dimensions (1200x630), title/description lengths, and shows Facebook + Twitter preview data.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_switch_siteSwitch the active WordPress site. Clears cache and warms the new site. Use bricks_list_sites to see available keys.Input schema{
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "Site key from sites.json (e.g. \"bricks-main\", \"staging\")"
}
},
"required": [
"key"
]
} | — | — · — | — |
bricks_update_color_paletteUpdate the Bricks Builder color palette. Can add, modify, or replace colors. Bricks 2.3: Supports auto-generating dark mode variants from light colors using OKLCH color science.Input schema{
"type": "object",
"properties": {
"colors": {
"type": "array",
"description": "Array of color definitions. Each needs at minimum: {id, name, raw}",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Color variable ID"
},
"name": {
"type": "string",
"description": "Human-readable color name"
},
"raw": {
"type": "string",
"description": "Color value (hex, rgb, hsl)"
}
},
"required": [
"name",
"raw"
]
}
},
"merge": {
"type": "boolean",
"default": true,
"description": "If true (default), merge with existing palette. If false, replace entirely."
},
"generate_dark_variants": {
"type": "boolean",
"default": false,
"description": "Bricks 2.3: Auto-generate dark mode variants for each color using OKLCH. Adds \"-dark\" suffixed colors with inverted lightness."
}
},
"required": [
"colors"
]
} | — | — · — | — |
bricks_update_css_variablesUpdate CSS variables in the Bricks Global Variables Manager.Input schema{
"type": "object",
"properties": {
"css_variables": {
"description": "Array or object of CSS variable definitions to set. Format depends on what Bricks uses (discovered from GET)."
}
},
"required": [
"css_variables"
]
} | — | — · — | — |
bricks_update_global_classUpdate an existing Bricks Builder global CSS class. Merges settings recursively (partial update).Input schema{
"type": "object",
"properties": {
"class_id": {
"type": "string",
"description": "Class ID to update"
},
"name": {
"type": "string",
"description": "New class name (optional)"
},
"settings": {
"type": "object",
"description": "Updated Bricks settings object (merged with existing)"
}
},
"required": [
"class_id",
"settings"
]
} | — | — · — | — |
bricks_update_global_cssUpdate the global custom CSS in Bricks Builder. This CSS is applied site-wide.Input schema{
"type": "object",
"properties": {
"css": {
"type": "string",
"description": "Complete CSS to set as global custom CSS"
},
"append": {
"type": "boolean",
"default": false,
"description": "If true, append to existing CSS instead of replacing"
}
},
"required": [
"css"
]
} | — | — · — | — |
bricks_update_pageUpdate the Bricks Builder data for a page. Automatically creates a backup before writing. Validates the JSON structure before saving. Supports optimistic locking via content_hash. Use content_area to write header or footer template data. THEME-FIRST: before generating elements, call bricks_get_theme_styles and bricks_list_global_classes — reuse existing tokens (button styles, utility classes, color palette) instead of inline styling. For buttons prefer settings.style: "primary"|"secondary" over manual _background/_typography. For links use the text-link element, not a styled text-basic. Use _cssCustom only for what settings cannot express.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"bricks_data": {
"type": "array",
"description": "Array of Bricks elements to save",
"items": {
"type": "object"
}
},
"content_hash": {
"type": "string",
"description": "Content hash from bricks_get_page for optimistic locking. If provided, update fails with 409 if page was modified since read."
},
"content_area": {
"type": "string",
"enum": [
"content",
"header",
"footer"
],
"description": "Which content area to write (default: content). Use header/footer to manage template elements.",
"default": "content"
}
},
"required": [
"page_id",
"bricks_data"
]
} | — | — · — | — |
bricks_update_page_assetsSet structured per-page assets (JS deps via wp_enqueue_script, JS in wp_footer, infra CSS in wp_head). Auto-sets GSAP flag when js_deps includes "gsap". Requires Bricks API Bridge v2.3+. ⚠️ The css field lands in plugin-private _bab_page_assets (wp_head 9997, BEFORE element CSS) which is INVISIBLE/uneditable in the Bricks builder — reserve it for INFRA only (@font-face, :root{--vars}, @keyframes, critical CSS). Human-editable layout/responsive/visual CSS belongs in a native channel: element _cssCustom (bricks_patch_page), page customCss (bricks_update_page_settings), or global CSS/classes.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"css": {
"type": "string",
"description": "INFRA CSS only (raw rules, no <style> tags): @font-face, :root{--vars}, @keyframes, critical above-fold. NOT editable in the Bricks builder — do NOT put layout/responsive/visual CSS here; use element _cssCustom or page customCss instead. Editable CSS triggers a warning (or a hard block when BRICKS_MCP_BLOCK_EDITABLE_CSS=1)."
},
"js_deps": {
"type": "array",
"items": {
"type": "string"
},
"description": "JS dependencies to enqueue: \"gsap\", \"scrolltrigger\", \"lenis\""
},
"js": {
"type": "string",
"description": "Inline JS to output in footer (no <script> tags, just code)"
},
"raw_footer": {
"type": "string",
"description": "Raw HTML for wp_footer (legacy catch-all, includes own tags)"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_update_page_schemaSet JSON-LD structured data (Schema.org) for a page. Automatically adds @context. Outputs as <script type="application/ld+json"> in the page head. Accepts a single schema object or an array of schemas.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"schema": {
"description": "Schema.org JSON-LD object (or array of objects). Must include @type. Example: {\"@type\": \"LocalBusiness\", \"name\": \"My Business\", \"address\": {...}}"
}
},
"required": [
"page_id",
"schema"
]
} | — | — · — | — |
bricks_update_page_seoUpdate SEO meta data for a WordPress page. Partial update — only provided fields are changed. Supports title, description, OG/Twitter overrides, canonical URL, robots (noindex/nofollow), and focus keyword.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"seo_title": {
"type": "string",
"description": "SEO title (overrides <title> tag)"
},
"description": {
"type": "string",
"description": "Meta description (fallback for og:description and twitter:description)"
},
"og_image": {
"type": "string",
"description": "Open Graph image URL (1200x630 recommended)"
},
"keywords": {
"type": "string",
"description": "Meta keywords (comma-separated)"
},
"og_type": {
"type": "string",
"description": "Open Graph type (default: website)"
},
"canonical": {
"type": "string",
"description": "Canonical URL (outputs <link rel=\"canonical\">)"
},
"noindex": {
"type": "boolean",
"description": "Set to true to add noindex robots directive"
},
"nofollow": {
"type": "boolean",
"description": "Set to true to add nofollow robots directive"
},
"focus_keyword": {
"type": "string",
"description": "Focus keyword for density analysis"
},
"og_title": {
"type": "string",
"description": "OG title override (separate from SEO title)"
},
"twitter_title": {
"type": "string",
"description": "Twitter Card title override"
},
"twitter_description": {
"type": "string",
"description": "Twitter Card description override"
},
"twitter_image": {
"type": "string",
"description": "Twitter Card image URL override"
}
},
"required": [
"page_id"
]
} | — | — · — | — |
bricks_update_page_settingsUpdate Bricks page-level settings (metaRobots, header/footer template, per-page overrides).Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"settings": {
"type": "object",
"description": "Settings to update"
},
"merge": {
"type": "boolean",
"description": "Merge with existing (default: true)",
"default": true
}
},
"required": [
"page_id",
"settings"
]
} | — | — · — | — |
bricks_update_scriptsUpdate per-page scripts for a WordPress page. Scripts are output in wp_footer. Include <link>, <style>, and <script> tags as needed — all are output together before </body>. IMPORTANT: WordPress strips backslashes — use String.fromCharCode(10) instead of "\n" in JavaScript strings.Input schema{
"type": "object",
"properties": {
"page_id": {
"type": "number",
"description": "WordPress page/post ID"
},
"scripts": {
"type": "string",
"description": "HTML/JS/CSS to inject before </body>. Include <script>, <style>, and <link> tags as needed."
}
},
"required": [
"page_id",
"scripts"
]
} | — | — · — | — |
bricks_update_settingsUpdate Bricks Builder global settings. Supports merge mode (default). Use for container width, post types, disabled features, etc.Input schema{
"type": "object",
"properties": {
"settings": {
"type": "object",
"description": "Settings key-value pairs to update"
},
"merge": {
"type": "boolean",
"description": "Merge with existing (default: true)",
"default": true
}
},
"required": [
"settings"
]
} | — | — · — | — |
bricks_update_templateUpdate an existing Bricks Builder template with new content.Input schema{
"type": "object",
"properties": {
"template_id": {
"type": "number",
"description": "Template ID to update"
},
"title": {
"type": "string",
"description": "New template title (optional)"
},
"content": {
"type": "array",
"description": "Array of Bricks elements",
"items": {
"type": "object"
}
},
"template_type": {
"type": "string",
"description": "Template type (optional)",
"enum": [
"header",
"footer",
"section",
"content",
"single",
"archive",
"popup",
"search",
"error"
]
},
"conditions": {
"type": "array",
"description": "Template conditions, e.g. [{\"main\":\"entireWebsite\"}]",
"items": {
"type": "object"
}
}
},
"required": [
"template_id"
]
} | — | — · — | — |
bricks_update_theme_stylesUpdate Bricks Builder global Theme Styles. Supports merge mode (default). Bricks 2.3: Supports responsive breakpoint keys — include ":tablet_portrait" and ":mobile_portrait" nested keys for breakpoint-aware theme styles (e.g. responsive heading sizes).Input schema{
"type": "object",
"properties": {
"theme_styles": {
"type": "object",
"description": "Object with style name(s) as keys and their settings as values. Bricks 2.3: Supports responsive keys like { \"headings\": { \"h1\": { \"_typography\": { \"font-size\": \"64\" }, \":tablet_portrait\": { \"_typography\": { \"font-size\": \"42\" } }, \":mobile_portrait\": { \"_typography\": { \"font-size\": \"32\" } } } } }"
},
"merge": {
"type": "boolean",
"description": "If true (default), merge with existing styles.",
"default": true
}
},
"required": [
"theme_styles"
]
} | — | — · — | — |
bricks_upload_fontUpload custom font files (.woff2, .woff, .ttf, .otf) and register them in Bricks Builder. Uploads to WordPress Media Library, registers the font, and generates @font-face CSS in Global CSS.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Font family name (e.g., \"PP Neue Montreal\", \"Cabinet Grotesk\")"
},
"files": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Absolute local file path to font file (.woff2/.woff/.ttf/.otf)"
},
"url": {
"type": "string",
"description": "URL to download font file from (alternative to path)"
},
"weight": {
"type": "string",
"description": "Font weight: \"100\"-\"900\" (default: \"400\")"
},
"style": {
"type": "string",
"description": "Font style: \"normal\" or \"italic\" (default: \"normal\")"
}
}
},
"description": "Array of font files with weight/style mapping. Provide either path or url per file."
},
"display": {
"type": "string",
"enum": [
"swap",
"block",
"fallback",
"optional",
"auto"
],
"description": "CSS font-display value (default: \"swap\")"
}
},
"required": [
"name",
"files"
]
} | — | — · — | — |
bricks_upload_mediaUpload an image to the WordPress Media Library. Provide either a local file_path or a URL. Returns the attachment ID, URL, and metadata needed for Bricks image elements.Input schema{
"type": "object",
"properties": {
"file_path": {
"type": "string",
"description": "Absolute path to a local image file"
},
"url": {
"type": "string",
"description": "URL of an image to download and upload"
},
"title": {
"type": "string",
"description": "Title for the media attachment (optional)"
},
"alt_text": {
"type": "string",
"description": "Alt text for the image (optional)"
},
"caption": {
"type": "string",
"description": "Caption for the image (optional)"
}
}
} | — | — · — | — |
bricks_validate_bemValidate existing global classes against BEM convention. Checks naming patterns, orphaned blocks/elements, conflicts with utility classes, and reports structure issues.Input schema{
"type": "object",
"properties": {
"prefix": {
"type": "string",
"description": "Filter to classes starting with this prefix (e.g., \"pricing\"). Leave empty to validate all non-utility classes."
}
}
} | — | — · — | — |
bricks_validate_elementsValidate Bricks elements server-side BEFORE pushing. Catches all known Bricks bugs: invalid IDs, div type, missing children, duplicate IDs, px line-height, parent/child consistency, _display grid.Input schema{
"type": "object",
"properties": {
"elements": {
"type": "array",
"description": "Bricks elements array to validate",
"items": {
"type": "object"
}
}
},
"required": [
"elements"
]
} | — | — · — | — |
bricks_wp_create_categoryCreate a new WordPress category.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Category name"
},
"slug": {
"type": "string",
"description": "URL slug (auto-generated if omitted)"
},
"description": {
"type": "string",
"description": "Category description"
},
"parent": {
"type": "number",
"description": "Parent category ID for hierarchy"
}
},
"required": [
"name"
]
} | — | — · — | — |
bricks_wp_create_postCreate a new WordPress post. Returns the new post ID and URL.Input schema{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Post title"
},
"post_type": {
"type": "string",
"description": "REST base of the post type (default: posts). For a CPT pass its REST base, e.g. \"service-area\", \"service\", \"faq\". Look it up with bricks_get_post_types.",
"default": "posts"
},
"content": {
"type": "string",
"description": "Post content (HTML)"
},
"status": {
"type": "string",
"description": "publish, draft, pending (default: draft)",
"default": "draft"
},
"excerpt": {
"type": "string",
"description": "Post excerpt"
},
"categories": {
"type": "array",
"items": {
"type": "number"
},
"description": "Category IDs"
},
"tags": {
"type": "array",
"items": {
"type": "number"
},
"description": "Tag IDs"
},
"featured_media": {
"type": "number",
"description": "Featured image media ID"
}
},
"required": [
"title"
]
} | — | — · — | — |
bricks_wp_create_tagCreate a new WordPress tag.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Tag name"
},
"slug": {
"type": "string",
"description": "URL slug (auto-generated if omitted)"
},
"description": {
"type": "string",
"description": "Tag description"
}
},
"required": [
"name"
]
} | — | — · — | — |
bricks_wp_get_postGet a single WordPress post with full content, excerpt, categories, tags, featured image, and meta. Works on custom post types via post_type.Input schema{
"type": "object",
"properties": {
"post_id": {
"type": "number",
"description": "Post ID"
},
"post_type": {
"type": "string",
"description": "REST base of the post type (default: posts). For a CPT pass its REST base, e.g. \"service-area\", \"service\", \"faq\". Look it up with bricks_get_post_types.",
"default": "posts"
}
},
"required": [
"post_id"
]
} | — | — · — | — |
bricks_wp_list_categoriesList all WordPress categories with post counts.Input schema{
"type": "object",
"properties": {
"per_page": {
"type": "number",
"description": "Max results (default 100)",
"default": 100
},
"search": {
"type": "string",
"description": "Search by name"
}
}
} | — | — · — | — |
bricks_wp_list_postsList WordPress posts with filtering. Returns ID, title, status, date, author, categories. Use for content auditing or finding posts to update.Input schema{
"type": "object",
"properties": {
"post_type": {
"type": "string",
"description": "REST base of the post type (default: posts). For a CPT pass its REST base, e.g. \"service-area\", \"service\", \"faq\". Look it up with bricks_get_post_types.",
"default": "posts"
},
"status": {
"type": "string",
"description": "Post status: publish, draft, pending, private, any (default: publish)",
"default": "publish"
},
"search": {
"type": "string",
"description": "Search term in title/content"
},
"per_page": {
"type": "number",
"description": "Results per page (max 100, default 20)",
"default": 20
},
"page": {
"type": "number",
"description": "Page number (default 1)",
"default": 1
},
"categories": {
"type": "array",
"items": {
"type": "number"
},
"description": "Filter by category IDs"
},
"tags": {
"type": "array",
"items": {
"type": "number"
},
"description": "Filter by tag IDs"
},
"orderby": {
"type": "string",
"description": "Order by: date, title, modified, id (default: date)"
},
"order": {
"type": "string",
"description": "asc or desc (default: desc)"
}
}
} | — | — · — | — |
bricks_wp_list_tagsList all WordPress tags with post counts.Input schema{
"type": "object",
"properties": {
"per_page": {
"type": "number",
"description": "Max results (default 100)",
"default": 100
},
"search": {
"type": "string",
"description": "Search by name"
}
}
} | — | — · — | — |
bricks_wp_update_postUpdate an existing WordPress post. Only sends changed fields. Works on custom post types via post_type.Input schema{
"type": "object",
"properties": {
"post_id": {
"type": "number",
"description": "Post ID to update"
},
"post_type": {
"type": "string",
"description": "REST base of the post type (default: posts). For a CPT pass its REST base, e.g. \"service-area\", \"service\", \"faq\". Look it up with bricks_get_post_types.",
"default": "posts"
},
"title": {
"type": "string",
"description": "New title"
},
"content": {
"type": "string",
"description": "New content (HTML)"
},
"status": {
"type": "string",
"description": "New status: publish, draft, pending, private"
},
"excerpt": {
"type": "string",
"description": "New excerpt"
},
"categories": {
"type": "array",
"items": {
"type": "number"
},
"description": "Category IDs"
},
"tags": {
"type": "array",
"items": {
"type": "number"
},
"description": "Tag IDs"
},
"featured_media": {
"type": "number",
"description": "Featured image media ID"
}
},
"required": [
"post_id"
]
} | — | — · — | — |