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. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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. |
| bricks_wp_get_postA | Get a single WordPress post with full content, excerpt, categories, tags, featured image, and meta. Works on custom post types via post_type. |
| bricks_wp_create_postA | Create a new WordPress post. Returns the new post ID and URL. |
| bricks_wp_update_postA | Update an existing WordPress post. Only sends changed fields. Works on custom post types via post_type. |
| bricks_wp_list_categoriesA | List all WordPress categories with post counts. |
| bricks_wp_create_categoryB | Create a new WordPress category. |
| bricks_wp_list_tagsB | List all WordPress tags with post counts. |
| bricks_wp_create_tagC | Create a new WordPress tag. |
| bricks_create_menuB | Create a new WordPress navigation menu. Returns the new menu ID. |
| bricks_delete_menuA | Delete a WordPress navigation menu and all its items. |
| bricks_add_menu_itemA | Add a single item to an existing menu. Supports custom links, pages, posts, and categories. Use parent for submenus. |
| bricks_delete_menu_itemB | Remove a single item from a menu. |
| bricks_get_menu_locationsA | List all registered theme menu locations and which menus are assigned to them. |
| bricks_security_auditA | Read-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. |
| bricks_security_inventoryA | Exact 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. |
| bricks_call_logA | Query 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. |
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- 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