bricks-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bricks-mcpList all pages and their SEO scores"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bricks-mcp
▟███████████████████████████████████████████▙
█ ____ ____ ___ ____ _ ______ █
█ | __ )| _ \|_ _/ ___| |/ / ___| BRICKS █
█ | _ \| |_) || | | | ' /\___ \ █
█ | |_) | _ < | | |___| . \ ___) | MCP █
█ |____/|_| \_\___\____|_|\_\____/ █
▜▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▛
105 tools · 17 modules · MIT licensedPrinted on startup. In a real terminal the box animates in brick-by-brick (set
BRICKS_BANNER=anim|static|off).
The most comprehensive open-source MCP server for Bricks Builder.
100+ tools to manage pages, templates, styles, SEO, content, and more — directly from Claude Code, Cursor, Windsurf, or any MCP-compatible AI assistant.
Architecture
Claude Code / Cursor / AI Assistant
↕ MCP Protocol (stdio)
bricks-mcp (Node.js)
↕ REST API (Basic Auth)
bricks-api-bridge (WordPress Plugin)
↕ PHP
WordPress + Bricks BuilderThe MCP server communicates with your WordPress site through the included REST API plugin. Your AI assistant gets full control over Bricks Builder — reading pages, updating elements, managing styles, and building sections.
Related MCP server: Bricks MCP
Quick Start (5 Minutes)
1. Install the WordPress Plugin
The plugin/ folder in this repo contains the Bricks API Bridge WordPress plugin. Choose one of these install methods:
Option A: ZIP Upload (easiest)
Download bricks-api-bridge.zip from the latest release
Go to WordPress Admin → Plugins → Add New → Upload Plugin
Upload the ZIP and click "Install Now"
Click "Activate"
Option B: Manual Upload via FTP/SSH
Clone this repo or download it
Copy the
plugin/folder to your WordPress installation:cp -r plugin/ /path/to/wordpress/wp-content/plugins/bricks-api-bridge/Go to WordPress Admin → Plugins → Activate "Bricks API Bridge"
Option C: WP-CLI
# From the repo root
cd plugin && zip -r ../bricks-api-bridge.zip . && cd ..
wp plugin install bricks-api-bridge.zip --activateAfter activation, the plugin registers REST API endpoints under /wp-json/bricks-bridge/v1/. No configuration needed — it works out of the box with WordPress Application Passwords.
2. Create an Application Password
In WordPress Admin → Users → Your Profile → Application Passwords:
Enter a name (e.g., "MCP Server")
Click "Add New Application Password"
Copy the generated password
3. Install the MCP Server
git clone https://github.com/developer2013/bricks-mcp-open.git
cd bricks-mcp-open
npm install # or: bun install4. Configure Credentials
Copy .env.example to .env and fill in your details:
cp .env.example .envWORDPRESS_URL=https://your-site.com
WORDPRESS_USER=your-username
WORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx5. Add to Your AI Assistant
Claude Code — add to ~/.claude/.mcp.json:
{
"mcpServers": {
"bricks": {
"command": "node",
"args": ["/path/to/bricks-mcp-open/index.js"]
}
}
}Or with Bun (faster startup):
{
"mcpServers": {
"bricks": {
"command": "bun",
"args": ["/path/to/bricks-mcp-open/index.js"]
}
}
}Claude Code iOS / Android App — open Settings → MCP Servers → Add Server:
Name:
bricksCommand:
node(orbun)Arguments:
/path/to/bricks-mcp-open/index.jsEnvironment Variables:
WORDPRESS_URL=https://your-site.comWORDPRESS_USER=your-usernameWORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
Cursor / Windsurf — add the same config to .cursor/mcp.json in your project.
Hermes Agent (Nous Research) — add to config.yaml:
mcp_servers:
bricks:
command: node
args: ["/path/to/bricks-mcp-open/index.js"]
env:
WORDPRESS_URL: https://your-site.com
WORDPRESS_USER: your-username
WORDPRESS_APP_PASSWORD: "xxxx xxxx xxxx xxxx xxxx xxxx"Hermes has native MCP client support since v0.2.0 — all 105 tools appear in its tool list automatically. Works with any model (Hermes 3, Llama, OpenRouter, etc.).
Windows: TLS / "fetch failed" errors On Windows, Node.js ships its own bundled CA list and ignores the Windows certificate store. If your WordPress host sits behind a corporate proxy, TLS inspection, or a CA that's only trusted by Windows, every request fails with a certificate /
fetch failederror. Tell Node to use the OS trust store by adding--use-system-cabefore the script path inargs(requires Node.js ≥ 22.15):{ "mcpServers": { "bricks": { "command": "node", "args": ["--use-system-ca", "C:\\path\\to\\bricks-mcp-open\\index.js"] } } }Alternatively set it via the environment instead of
args:"env": { "NODE_OPTIONS": "--use-system-ca" }. On older Node versions, upgrade to ≥ 22.15 (or useNODE_EXTRA_CA_CERTSpointing to your CA bundle as a fallback).
Manage Your WordPress Site from Your Phone
Deploy the MCP server as a self-hosted MCP environment on Railway (or any Docker host), then connect it to the Claude Code mobile app. No Mac running in the background needed — the server runs 24/7 in the cloud.
How it works:
iPhone / Android (Claude Code App)
↕ Claude Self-Hosted MCP
Railway / Docker (MCP Server — always on)
↕ REST API
WordPress + Bricks BuilderSetup:
Deploy the MCP server to Railway using the included
agent-service/DockerfileIn Claude Console → MCP → Create Self-Hosted Environment
Generate an environment key and add it to your Railway deployment
The Claude Code mobile app automatically connects to your self-hosted environment
What you can do from your phone — no laptop needed:
You: "List all my pages and their SEO scores"
You: "Create a new landing page for my dental practice"
You: "Update the hero headline on page 42 to 'Welcome to Our Practice'"
You: "Run an SEO audit and fix all missing meta descriptions"
You: "Add a testimonials section using the testimonials-slider preset"
You: "Create a snapshot called 'before-redesign', then change the palette"Action | Example Prompt |
Build pages | "Create a hero section with dark gradient background" |
Edit content | "Change the button text on page 42 to 'Book Now'" |
SEO management | "Set meta description and OG image for all pages" |
Style updates | "Update the primary color to #2563EB across the palette" |
Backup & restore | "Create a snapshot called 'before-redesign'" |
QA checks | "Check all links on page 42 for broken URLs" |
Template management | "Clone the header template and modify the navigation" |
The server runs 24/7 on Railway — your phone is just the control surface. All 105 tools are available anywhere, anytime.
6. Test the Connection
Ask your AI assistant:
"Use the bricks_connection_test tool to verify my WordPress connection."
Tool Categories (100+ Tools)
Category | Tools | Description |
Pages | 9 | List, get, update, patch, append, build, clone, search pages |
Scripts & Assets | 5 | Per-page CSS/JS management, GSAP flag control |
SEO (Page) | 6 | Page-level SEO meta, schema markup, audit |
Templates | 8 | Full template CRUD, clone, import, search |
Backup & Snapshots | 7 | Named snapshots, multi-slot backups, restore |
Global Classes | 7 | CSS class CRUD, bulk create, usage analysis |
BEM Components | 3 | Generate, apply, and validate BEM class sets |
Style System | 10 | Color palette, fonts, CSS variables, breakpoints |
Theme Styles | 2 | Global theme style read/write |
Presets | 4 | Section presets: list, instantiate, save, delete |
SEO (Advanced) | 13 | Auto-fix, bulk update, sitemap, redirects, link check |
WordPress Content | 8 | Posts, categories, tags CRUD |
Menus | 5 | Navigation menu management |
Site Management | 9 | Settings, page creation, validation, cache, stats |
Media | 3 | Upload, list, edit media files |
Multi-Site | 3 | Switch between WordPress sites at runtime |
Utilities | 4 | Connection test, HTML→Bricks converter, Elementor→Bricks migration, batch ops |
Migrating from Elementor?
Switching from Elementor (Pro) to Bricks? bricks_elementor_to_bricks gives you a head start:
In WordPress, open the Elementor editor → ⌄ (menu) → Export Template (or Templates → Saved Templates → Export). You get a
.jsonfile.Run the tool with that file:
bricks_elementor_to_bricks file_path="/path/to/elementor-export.json"You get a ready-to-review Bricks element array plus a coverage report.
Review it, then push with
bricks_update_page(take a snapshot first) orbricks_import_page.
How it works: a purely structural translation — no headless browser, no rendering, no write to your site. Common widgets (heading, text, button, image, icon, divider, spacer) and the section/column/container structure map straight to native, editable Bricks elements. Widgets without a native equivalent (e.g. Pro sliders, forms, loops) become clearly-labelled placeholder blocks carrying a preview of their original content — so nothing is lost silently and you always see where and what to rebuild by hand. line-height is converted to a correct unitless ratio so you never inherit Elementor's px values as Bricks multipliers.
Keeping your CSS editable in Bricks
The whole point of Bricks is a visual builder — so CSS the assistant writes should stay editable in Bricks, not vanish into a place you can't reach. This plugin can inject per-page CSS into a private bundle (_bab_page_assets, output at wp_head priority 9997 — before element CSS) via bricks_update_page_assets. That bundle is not shown anywhere in the Bricks builder and silently overrides what the builder displays — great for infrastructure CSS (@font-face, :root{--vars}, @keyframes, critical above-the-fold), but the wrong home for the layout/responsive/visual CSS you'll want to tweak by hand later. (This is exactly the r/BricksBuilder feedback: "plugin-managed page CSS that a human can't edit defeats the purpose of using Bricks.")
Where editable CSS belongs (priority order):
Native element settings — padding, typography, colors, etc. (fully visual controls)
Element
_cssCustom— per-element custom CSS, editable on the element's CSS tabPage
customCss—bricks_update_page_settings→ Bricks Page Settings → Custom CSSGlobal classes — editable in the Class Manager (build them with native settings, not
_cssCustom, which is not compiled into page CSS via the API path)
The editability guard
To stop editable CSS from leaking into the invisible bundle, the guard classifies the css field of bricks_update_page_assets and acts in three modes:
Mode | Behaviour |
| No-op — fully backwards-compatible |
| Write proceeds, the REST response carries a |
| Editable CSS is rejected (HTTP 422) and nothing is written |
Enable it by adding one line to your wp-config.php (above /* That's all, stop editing! */):
// Bricks API Bridge — warn (or 'block') when editable CSS is sent to the private page-assets bundle
define( 'BAB_GUARD_EDITABLE_CSS', 'warn' );(Or, without editing files: wp option update bab_guard_editable_css warn.) On the MCP side, the bricks_update_page_assets tool warns by default; set the env var BRICKS_MCP_BLOCK_EDITABLE_CSS=1 to hard-block there too. Infrastructure CSS always passes — use the css_critical / css_deferred fields for it.
Multi-Site Support
Manage multiple WordPress sites from a single MCP server. Copy sites.json.example to sites.json:
{
"default": "production",
"sites": {
"production": {
"label": "Live Site",
"url": "https://your-site.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx xxxx xxxx"
},
"staging": {
"label": "Staging",
"url": "https://staging.your-site.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx xxxx xxxx"
}
}
}Switch sites at runtime:
"Switch to the staging site."
Custom sites.json location. If you collect your MCP servers in one folder and keep site configs elsewhere, set BRICKS_SITES_PATH to point at the file — absolute, relative (to the working directory), or ~-prefixed all work:
BRICKS_SITES_PATH=~/mcp-config/bricks-sites.jsonWhen set, a missing file fails loudly at startup (instead of silently falling back to the WORDPRESS_* env vars), so a typo in the path can't connect you to the wrong site. No need to symlink sites.json into the server folder.
Usage Examples
Build a page section
"Create a hero section on page 42 with a full-width background, centered heading 'Welcome', a subtitle, and a CTA button."
Manage styles
"Update the color palette — set the primary color to #2563EB and secondary to #7C3AED."
SEO optimization
"Run an SEO audit on all published pages and auto-fix missing meta descriptions."
Backup before changes
"Create a snapshot of page 42 named 'before-redesign', then update the hero section."
Plugin Features
The included WordPress plugin (bricks-api-bridge) provides:
REST API endpoints for all Bricks Builder data
Security hardening — rate limiting, user enumeration protection, security headers
Responsive inference — automatic mobile/tablet breakpoint generation
Element validation — catches invalid IDs, broken parent-child links
Auto-fix — corrects common CSS issues (overflow, grid, container width)
Backup system — multi-slot backups + named snapshots
Design token import/export — JSON, ACSS, Tailwind formats
Feature Comparison
Feature | bricks-mcp | Novamira | cristianuibar/bricks-mcp | sabiertas/bricks-mcp-server |
Focus | Bricks Builder | Generic WordPress | Bricks Builder | Bricks Builder |
Tools | 105 | 22 (12 core + 10 Gutenberg) | 11 | 10 |
Approach | REST API (structured endpoints) | PHP execution + filesystem | REST API | REST API |
Agent Service | Autonomous 5-phase pipeline | - | - | - |
Mobile Control | Telegram bot (iPhone/Android) | - | - | - |
Multi-Site | Runtime switching | - | - | Environment vars |
BEM Support | Generate + Apply + Validate | - | - | - |
SEO Tools | 19 (meta + audit + redirects) | - | - | - |
Backup System | Snapshots + Multi-slot | - | - | - |
Section Presets | 25 ready-to-use | - | - | - |
Security Hardening | Rate limit + Headers | - | - | - |
Responsive Inference | Auto breakpoints | - | - | - |
WordPress Content | Posts + Categories + Tags + Menus | Via PHP execution | - | - |
Batch Operations | Up to 20 per request | - | - | - |
Design Tokens | Import/Export (JSON, ACSS) | - | - | - |
Auto-Fix | Overflow, grid, container | - | - | - |
Gutenberg Support | - | Block Editor Queue | - | - |
PHP Execution | - | Direct PHP eval | - | - |
License | MIT | AGPL-3.0 | GPL-2.0 | MIT |
Requirements
Node.js >= 18 or Bun >= 1.0 (Windows behind a proxy/custom CA: use Node ≥ 22.15 with
--use-system-ca— see Windows TLS note)WordPress >= 6.0
Bricks Builder >= 2.0
PHP >= 8.0
Agent Service (Autonomous Page Builder)
The agent-service/ directory contains an autonomous agent that builds entire WordPress pages from industry briefs — using Claude + the MCP server in a 5-phase pipeline:
Industry Brief → Historian → Design → Code → Update → QA → Fix LoopBuild from your iPhone or Android — Use the Telegram bot or the Claude Code mobile app as your control center: trigger builds, QA, fixes, and screenshots from anywhere
CLI Mode — Single builds or overnight batch processing
Budget Control — Per-phase cost caps, total cost tracking
Docker Ready — Deploys to Railway, Fly.io, or any container host
See agent-service/README.md for setup instructions.
Premium
Looking for more? The premium edition includes 260+ tools with:
AI Build Pipeline — Build entire pages from a URL in one command
Learning System — Remembers CSS fixes and improves over time
Math Library — 33 modules for design tokens, color harmony, spring physics
Visual QA — Puppeteer screenshots, pixel comparison, accessibility audits
Design Intelligence — Brand archetypes, competitive benchmarking, typography suggestions
WooCommerce, ACF, Gravity Forms integrations
Bio-inspired animations — Levy stagger, density-intensity, quorum sensing
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT License. See LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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