# WPBakery MCP server for Claude and ChatGPT, with undo

> A WPBakery MCP server lets Claude, ChatGPT or Cursor read and edit WPBakery (Visual Composer) shortcode pages on a live WordPress site.

Source: https://www.respira.press/wpbakery-mcp

---

# *WPBakery* MCP server, with undo on every edit.

A WPBakery MCP server lets Claude, ChatGPT or Cursor read and edit WPBakery (Visual Composer) shortcode pages on a live WordPress site. With Respira every edit lands on a copy first, and you can undo it for 90 days.

[Start free](https://www.respira.press/signup) [Connect in one command](#setup) 

7 days free. No card. Runs on the AI subscription you already have.

Support

Partial

WPBakery tools

Core set

Latest release touching it

9.2.7

Releases touching it

37

Respira is an independent MCP server. Not affiliated with, endorsed by, or sponsored by WPBakery.

## What works today. What still needs you.

Read from the current MCP server release, core reads and writes work; some edges need a human pass.

### Works now

- Shortcode parser walks nested `vc_*` shortcodes and preserves attribute order on round-trip.
- Per-element edits via `respira_find_element` \+ `respira_update_element` work on individual modules without flattening the surrounding structure.
- Full-page text and CTA refresh across estates of legacy WPBakery pages.
- Standard WordPress REST endpoints for media, menus, and options work as on any other site.

### Where a human still steps in

- Deeply nested third-party WPBakery shortcodes (4+ levels) can lose attributes on round-trip. Always duplicate first.
- Visual Composer Premium add-on shortcodes are read but not all are write-validated. Use a snapshot.
- Frontend Editor settings are not exposed through the MCP. Edits go through post\_content as the Backend Editor expects.
- No design-system or color-palette tooling. WPBakery does not expose one natively, and Respira does not synthesize it.

Hit one of these and the snapshot gives you a clean way back.

## WPBakery runs on the universal tools.

 Find, update, move and remove elements, build whole pages, snapshot and roll back. Reads return the builder structure and writes keep it intact. 

[Browse every tool](https://www.respira.press/tools)

## Three prompts you can paste right now.

Each one assumes Respira is connected to a WPBakery site. Paste it into your AI tool and run.

1. ### Refresh a hero CTA across legacy pages  
```  
On every page in the "/services/" path, find the first vc_btn shortcode in the page and update its title to "Book a call". Duplicate each page first, then show me a diff.  
```
2. ### Audit shortcode usage  
```  
List every distinct vc_* shortcode used across the site and how many times each appears. Output as a markdown table sorted by frequency.  
```
3. ### Clean up empty rows  
```  
Find every vc_row that contains no vc_column children. List them by page so I can decide whether to delete.  
```

More recipes, per builder, in the [Prompt Book](https://www.respira.press/prompt-book).

## Connect a WPBakery site in two minutes.

Pick your client and paste. The site URL and key come from [your setup page](https://www.respira.press/dashboard/mcp), or from **Respira › Setup** in wp-admin. Node.js 20 or newer for the local server.

### Claude Code

```
claude mcp add respira-wordpress --env WORDPRESS_URL=https://yoursite.com --env WORDPRESS_API_KEY=respira_your_api_key_here -- npx -y @respira/wordpress-mcp-server@latest
```

Put in your own site URL and key, run it, then check with `/mcp`. Every site at once: pass `--env RESPIRA_CONFIG_B64=…` from your setup page instead of the two values. [The full Claude Code guide](https://www.respira.press/blog/claude-code-wordpress) covers the first edit and undo.

### Claude Desktop and Cursor

```
{
  "mcpServers": {
    "respira-wordpress": {
      "command": "npx",
      "args": ["-y", "@respira/wordpress-mcp-server@latest"],
      "env": {
        "WORDPRESS_URL": "https://yoursite.com",
        "WORDPRESS_API_KEY": "respira_your_api_key_here"
      }
    }
  }
}
```

- Claude Desktop, macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Claude Desktop, Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- Cursor: `.cursor/mcp.json` in your project

The file is `claude_desktop_config.json`, not `config.json`. Every site at once: replace the two `env` values with `RESPIRA_CONFIG_B64` from your setup page.

### Codex

```
codex mcp add respira-my-site --url https://yoursite.com/wp-json/respira/v1/mcp
codex mcp login respira-my-site
```

Run them one at a time. The second opens your browser to sign in to Respira; no key goes in the config. By hand, in `~/.codex/config.toml`, then run the login command:

```
[mcp_servers.respira-my-site]
url = "https://yoursite.com/wp-json/respira/v1/mcp"
```

### Browser sign-in, no key

```
https://yoursite.com/wp-json/respira/v1/mcp
```

Claude Desktop, claude.ai, ChatGPT and Cursor: add a custom connector, paste your site's MCP URL, leave Client ID and Client Secret blank, and approve the sign-in on respira.press. One connector per site.

### Any other client

```
npx add-mcp "npx -y @respira/wordpress-mcp-server@latest"
```

Detects Claude Code, Cursor, Codex, Windsurf and more, and writes the config. Set `WORDPRESS_URL` and `WORDPRESS_API_KEY` afterwards.

- WPBakery shortcode round-tripping has known edge cases on deeply nested vc\_row + third-party shortcodes. Always duplicate a page before the first AI edit on a critical template.

### Common errors

The server does not show up in /mcp, or the client says it failed to start.

Cause Node.js is older than 20, or the site URL and key are missing.

Fix Run `npx @respira/wordpress-mcp-server --doctor` in the same shell. It names the missing setting, a bad URL or a refused key. `node -v` must print 20 or newer.

ENOENT errors that mention `/_npx/` or `node_modules`.

Cause The npx cache is damaged, often by an interrupted install.

Fix Run `rm -rf ~/.npm/_npx` and restart the client. Or install once with `npm install -g @respira/wordpress-mcp-server` and use `respira-wordpress-mcp` as the command.

The browser sign-in opens a "Page not found" on `yoursite.com/authorize`.

Cause A Client ID was filled in on the connector, usually the `respira_site_` key.

Fix Remove the connector and add it again with the MCP URL only. Leave Client ID and Client Secret blank. Sign-in happens on respira.press, never on your site.

The MCP address returns 404.

Cause WordPress is on plain permalinks, so `/wp-json/` addresses do not resolve.

Fix In wp-admin open **Settings › Permalinks**, choose **Post name** and save once.

Calls fail with 401, 403, or HTML where JSON belongs.

Cause A firewall, a bot filter or a challenge page answers before WordPress does, or the host strips the Authorization header.

Fix Open **Respira › Troubleshoot** in wp-admin. It runs the checks from the site's own server, names what is in the way and writes a report for your host.

The agent says it saved, and the live WPBakery page looks the same.

Cause The edit is on a draft duplicate, waiting for your approval. That is the default on a published page.

Fix Approve the duplicate in wp-admin under Respira, or from its preview page. Until then the live page stays as it was.

Still stuck? [Troubleshooting in the docs](https://www.respira.press/docs/troubleshooting), or write to [word@respira.press](mailto:word@respira.press) with the first error line.

## What changed for WPBakery lately.

The last 5 releases that mention WPBakery, filtered from the same changelog the releases page reads.

1. [9.2.7](https://www.respira.press/releases#plugin-v-9-2-7) Oct 15, 2026  

  - A generic section on a Beaver Builder page shows its content. The shape agents send to every builder, a section holding a heading and text, was saved on Beaver with "section" and "text" as module names. Beaver has neither, so the page showed nothing but its title while the write said success.
2. [9.2.4](https://www.respira.press/releases#plugin-v-9-2-4) Oct 14, 2026  

  - WPBakery pages with many addon elements can be read and edited again. On a WPBakery site running The7 with Ultimate VC Addons, Revolution Slider, Go Pricing and WooCommerce, every builder tool failed: finding an element, reading the page's structure, duplicating it, and every edit, even a one word change on a small draft.
3. [9.2.0](https://www.respira.press/releases#plugin-v-9-2-0) Oct 13, 2026  

  - Every builder says what it can write. get\_builder\_info now carries write\_capabilities for every builder: whether it builds pages, adds elements or only edits text, and whether a new element is native, written as core blocks, or partial.
  - Exhale keeps WPBakery and Visual Composer apart. A Visual Composer Website Builder site got a WPBakery shortcode tree, and an explicit builder visual-composer failed as if WPBakery were missing. Each product now gets its own elements.
4. [9.1.11](https://www.respira.press/releases#plugin-v-9-1-11) Oct 2, 2026  

  - find\_element by content, text or class works on every builder. A search for text that was not on the page answered HTTP 404, which agents read as a broken tool, and a class search on Elementor never read the custom class setting.
5. [mcp-8.4.10](https://www.respira.press/releases#mcp-v-8-4-10) Oct 2, 2026  

  - wordpress\_find\_element searches content, text and class on every builder (plugin 9.1.11). The description says each match names its field with a snippet and that no match is a normal answer with found: 0\. wordpress\_apply\_builder\_patch points at it for pages other than Divi 4.

[All 37 releases that touched WPBakery](https://www.respira.press/releases?builder=wpbakery)

## Questions people ask about WPBakery and MCP.

Is there an MCP server for WPBakery? 

Yes. Respira is an independent MCP server that reads and writes WPBakery in its own format, with core reads and writes work; some edges need a human pass. It is not made by the WPBakery team.

Which tools does it use for WPBakery? 

WPBakery runs through the universal tools: find, update, move and remove elements, build pages, snapshot and roll back. Reads return the builder structure, and writes keep it.

What happens when the agent gets an edit wrong? 

Nothing on the live page. The agent edits a copy first, you approve it inside WordPress, and every write is snapshotted with 90 days of undo.

Do I need a developer or a terminal? 

No. Sign in with your browser from Claude, ChatGPT or Cursor and approve the connection once. Coding tools get a one-line command.

Does it work with a WPBakery site that also runs WooCommerce? 

Yes. The WooCommerce add-on adds 104 store tools on the same connection, with the same duplicate-first approval flow.

## The other builders, same server.

- [ ! Gutenberg Full ](https://www.respira.press/gutenberg-mcp)
- [ ! Elementor Full ](https://www.respira.press/elementor-mcp)
- [ ! Divi Full ](https://www.respira.press/divi-mcp)
- [ ! Bricks Deep ](https://www.respira.press/bricks-mcp)
- [ ! Oxygen Full ](https://www.respira.press/oxygen-mcp)
- [ ! Beaver Builder Full ](https://www.respira.press/beaver-mcp)
- [ ! Breakdance Full ](https://www.respira.press/breakdance-mcp)
- [ ! Flatsome Full ](https://www.respira.press/flatsome-mcp)
- [ ! Kadence Blocks Full ](https://www.respira.press/kadence-mcp)
- [ ! Spectra Full ](https://www.respira.press/spectra-mcp)
- [ ! GenerateBlocks Full ](https://www.respira.press/generateblocks-mcp)
- [ ! GreenShift Full ](https://www.respira.press/greenshift-mcp)
- [ ! Brizy Partial ](https://www.respira.press/brizy-mcp)
- [ ! Visual Composer Partial ](https://www.respira.press/visual-composer-mcp)
- [ ! Thrive Architect Text edits ](https://www.respira.press/thrive-mcp)
- [ ! SeedProd Read only ](https://www.respira.press/seedprod-mcp)

[Everything the WordPress MCP does](https://www.respira.press/mcp)[WooCommerce MCP](https://www.respira.press/addons/woocommerce)

## Start with one site. Free for 7 days.

Maker is €9 a month after the trial. No card for the trial, and it runs on the AI plan you already have, so there is no extra AI bill.

[Start free](https://www.respira.press/signup) [Email Mihai](#)
