bricks-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BRICKS_BANNER | No | Controls the startup banner animation. Values: anim, static, off. | anim |
| WORDPRESS_URL | Yes | The URL of your WordPress site. | |
| WORDPRESS_USER | Yes | Your WordPress username. | |
| BRICKS_SITES_PATH | No | Custom path to sites.json file for multi-site configuration. | |
| WORDPRESS_APP_PASSWORD | Yes | Your WordPress application password. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bricks_list_sitesA | List all configured WordPress sites. Shows which site is currently active. |
| bricks_switch_siteA | Switch the active WordPress site. Clears cache and warms the new site. Use bricks_list_sites to see available keys. |
| bricks_active_siteA | Show the currently active WordPress site (key, label, URL, user). |
| bricks_list_pagesB | List all WordPress pages/posts that have Bricks Builder data. Returns page ID, title, slug, status, element count, and URL. |
| bricks_get_pageB | Get 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. |
| bricks_update_pageA | Update 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. |
| bricks_patch_pageA | Apply 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. |
| bricks_append_elementsA | Append 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. |
| bricks_build_pageA | Build 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. |
| bricks_search_pagesB | Search pages by title, slug, or content. |
| bricks_clone_pageB | Clone a page with all Bricks data and scripts. |
| bricks_search_elementsA | Search Bricks elements across all pages. Find elements by text content, element type, CSS class, or specific settings. |
| bricks_get_scriptsA | Get per-page scripts for a WordPress page. Returns custom JS/CSS injected via Bricks API Bridge in wp_footer. |
| bricks_update_scriptsA | Update per-page scripts for a WordPress page. Scripts are output in wp_footer. Include , , and tags as needed — all are output together before . IMPORTANT: WordPress strips backslashes — use String.fromCharCode(10) instead of "\n" in JavaScript strings. |
| bricks_get_page_assetsA | Get 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+. |
| bricks_update_page_assetsA | Set 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. |
| bricks_set_gsap_flagA | Toggle 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 tags in per-page scripts. |
| bricks_get_page_seoA | Get SEO meta data for a WordPress page. Returns title, description, OG/Twitter tags, canonical URL, robots directives, focus keyword, and more. |
| bricks_update_page_seoA | Update 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. |
| bricks_get_page_schemaB | Get JSON-LD structured data (Schema.org) for a page. Returns all schema objects stored for this page. |
| bricks_update_page_schemaA | Set JSON-LD structured data (Schema.org) for a page. Automatically adds @context. Outputs as in the page head. Accepts a single schema object or an array of schemas. |
| bricks_seo_auditA | Bulk 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). |
| bricks_seo_analyzeA | Deep 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. |
| bricks_list_templatesC | List all Bricks Builder templates. Can filter by template type (header, footer, section, content). |
| bricks_create_templateC | Create a new Bricks Builder template with the given content. |
| bricks_import_templateB | Import a Bricks Builder JSON template file. Accepts the full Bricks export format with content array. |
| bricks_delete_templateC | Delete a Bricks Builder template. |
| bricks_get_templateA | Get the full Bricks Builder data for a specific template. Returns element tree with all settings. |
| bricks_update_templateB | Update an existing Bricks Builder template with new content. |
| bricks_search_templatesB | Search templates by title or content. |
| bricks_clone_templateC | Clone a template with all Bricks data. |
| bricks_get_backupA | Get the backup of a page's Bricks data. Supports multi-slot backups (1-5, newest first). |
| bricks_list_backupsA | List all available backup slots for a page. Shows slot number, timestamp, and element count for each backup. |
| bricks_restore_backupC | Restore a page's Bricks data from a backup slot. |
| bricks_create_full_backupA | Create 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. |
| bricks_list_full_backupsB | List all stored full-state backups (file name, date, size). Created via bricks_create_full_backup or the WordPress admin Backup section. |
| bricks_get_full_stateA | Return 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. |
| bricks_delete_full_backupA | Delete one stored full-state backup file by its filename (as listed by bricks_list_full_backups). |
| bricks_restore_full_backupA | Restore 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. |
| bricks_import_full_stateA | Import 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). |
| bricks_create_snapshotA | Create a named snapshot of the current page state. Use for milestones like "client-approved", "before-redesign", etc. |
| bricks_list_snapshotsA | List all named snapshots for a page. Shows name, description, element count, and timestamp. |
| bricks_restore_snapshotA | Restore a page from a named snapshot. Creates an auto-backup before restoring. Accepts snapshot ID or name. |
| bricks_delete_snapshotB | Delete a named snapshot. Accepts snapshot ID or name. |
| bricks_upload_mediaA | Upload 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. |
| bricks_list_mediaA | List media attachments from the WordPress Media Library. Use to find existing images and their attachment IDs. |
| bricks_bulk_media_seoA | Find all media items missing SEO texts and auto-generate alt_text + title from filename context. Optionally apply changes. Shows a preview table first. |
| bricks_get_theme_stylesA | Get Bricks Builder global Theme Styles. Returns all styles or a single named style. |
| bricks_update_theme_stylesA | Update 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). |
| bricks_batchB | Execute multiple API operations in a single request. Reduces HTTP roundtrips for multi-step workflows. Max 20 operations per batch. |
| bricks_list_presetsA | List all available section presets. Presets are reusable section templates that can be instantiated on any page. |
| bricks_instantiate_sectionB | Create an instance of a section preset with optional overrides. Returns the Bricks elements ready to be added to a page. |
| bricks_save_presetA | Save a section as a reusable preset. Extracts elements from a page section and stores as a named preset. |
| bricks_delete_presetB | Delete a section preset by name. |
| bricks_list_global_classesA | List all Bricks Builder global CSS classes. Returns class names, settings, and usage count. |
| bricks_create_global_classB | Create a new Bricks Builder global CSS class with settings. |
| bricks_update_global_classA | Update an existing Bricks Builder global CSS class. Merges settings recursively (partial update). |
| bricks_apply_class_to_elementB | Apply or remove global CSS classes on page elements. Supports single element or bulk operations. |
| bricks_bulk_create_global_classesA | Create or update multiple global CSS classes in one request. Upserts by ID. |
| bricks_get_global_class_usageA | Get usage report: which global classes are used on which pages/elements. Optionally filter by class_id. |
| bricks_delete_global_classB | Delete a global CSS class by ID. |
| bricks_generate_bem_componentA | Generate 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. |
| bricks_apply_bem_componentA | Apply 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. |
| bricks_validate_bemA | Validate existing global classes against BEM convention. Checks naming patterns, orphaned blocks/elements, conflicts with utility classes, and reports structure issues. |
| bricks_get_color_paletteA | Get the Bricks Builder color palette. Returns all defined color variables with their values. |
| bricks_update_color_paletteA | Update 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. |
| bricks_list_fontsA | List all custom fonts registered in Bricks Builder. |
| bricks_register_fontC | Register a custom font in Bricks Builder. Supports Google Fonts, custom uploaded fonts, and Adobe Fonts. |
| bricks_upload_fontA | Upload 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. |
| bricks_get_global_cssA | Get the global custom CSS from Bricks Builder settings. |
| bricks_update_global_cssB | Update the global custom CSS in Bricks Builder. This CSS is applied site-wide. |
| bricks_get_css_variablesA | Get all CSS variables (design tokens) from Bricks Global Variables Manager. Returns variable names and values (colors, spacing, z-index, container sizes, etc.). |
| bricks_update_css_variablesB | Update CSS variables in the Bricks Global Variables Manager. |
| bricks_get_breakpointsA | Get 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. |
| bricks_connection_testA | Test the WordPress connection, verify credentials, and check plugin status. Use this to diagnose connection issues. |
| bricks_html_to_bricksA | Convert 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. |
| bricks_elementor_to_bricksA | Convert 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. |
| bricks_seo_auto_fixA | Auto-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. |
| bricks_seo_bulk_updateA | Update SEO fields for multiple pages at once. Useful for setting noindex on all demo pages, or applying the same og_type to multiple pages. |
| bricks_readabilityA | Analyze page content readability using Flesch-Kincaid (English) and Flesch-Amstad (German) scores. Returns word count, sentence length, syllable stats, and readability grade. |
| bricks_sitemap_pingA | Ping Google, Bing, and IndexNow to notify them about sitemap updates. Triggers faster re-crawling after content changes. |
| bricks_social_previewB | Check social media sharing preview for a page. Validates OG image dimensions (1200x630), title/description lengths, and shows Facebook + Twitter preview data. |
| bricks_seo_plugin_infoA | Detect installed SEO plugins (Yoast, Rank Math, AIOSEO, The SEO Framework) and their meta key mappings. Helps avoid conflicts with BAB SEO output. |
| bricks_check_linksA | Check all links on a Bricks page for broken URLs (404, timeouts, DNS failures). Tests both content links and element links via HTTP HEAD requests. |
| bricks_sitemap_analyzeA | Analyze the XML sitemap — parses URLs, detects sitemap index, finds published pages missing from sitemap, and flags noindex pages that are listed. |
| bricks_competitor_extractA | Extract SEO meta tags, OG/Twitter data, JSON-LD schemas, and H1 headings from any external URL. Useful for benchmarking against competitors. |
| bricks_list_redirectsA | List all 301/302/307 redirects with hit counters. |
| bricks_create_redirectA | Create a 301/302/307 redirect. Hits are tracked automatically on the frontend. |
| bricks_delete_redirectB | Delete a redirect by ID. |
| bricks_internal_linksA | Get internal linking suggestions for a page based on keyword overlap with other published pages. Returns top 10 most relevant pages to link to. |
| bricks_get_settingsA | Get Bricks Builder global settings (container width, builder mode, post types, disabled features, custom header scripts, etc.). |
| bricks_update_settingsA | Update Bricks Builder global settings. Supports merge mode (default). Use for container width, post types, disabled features, etc. |
| bricks_create_pageA | Create 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. |
| bricks_get_page_settingsA | Get Bricks page-level settings (metaRobots, custom header/footer assignment, per-page overrides). |
| bricks_update_page_settingsB | Update Bricks page-level settings (metaRobots, header/footer template, per-page overrides). |
| bricks_validate_elementsA | Validate 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. |
| bricks_get_statsA | Get site-wide statistics: total pages, templates, elements, global classes, fonts, colors, presets, media, PHP/WP/Bricks versions. |
| bricks_get_post_typesA | List all public WordPress post types with their Bricks support status, REST API base, and post count. |
| bricks_purge_cacheA | Purge 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. |
| bricks_wp_list_postsA | List WordPress posts with filtering. Returns ID, title, status, date, author, categories. Use for content auditing or finding posts to update. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/developer2013/bricks-mcp-open'
If you have feedback or need assistance with the MCP directory API, please join our Discord server