# YOOtheme Pro MCP for Claude and ChatGPT, with undo

> An MCP server for YOOtheme Pro. Claude, ChatGPT or Cursor builds and edits layouts and site templates. Page edits land on a copy, undo for 90 days.

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

---

# *YOOtheme Pro* MCP server, with undo on every edit.

A YOOtheme Pro MCP server lets Claude, ChatGPT or Cursor read, build and edit YOOtheme Pro pages and site templates on a live WordPress site, element by element. With Respira every page 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

Full

YOOtheme Pro tools

4

Latest release touching it

mcp-8.7.2

Releases touching it

19

Respira is an independent MCP server. Not affiliated with, endorsed by, or sponsored by YOOtheme. YOOtheme Pro is a product of YOOtheme.

## What works today. What still needs you.

Read from the current MCP server release, first-class reads and writes across the builder structure.

### Works now

- YOOtheme Pro is detected from its builder or the active theme, a child theme included, and a page counts as a YOOtheme page when it carries a YOOtheme layout.
- Writes are saved through YOOtheme's own builder, the way its customizer saves, so the layout the front end renders and the HTML copy YOOtheme keeps for search stay in step.
- Elements are found, updated, moved, duplicated and removed by their path in the layout, or by type with a piece of their text.
- Whole pages are built with `respira_build_page`, and every new element is checked against the element types the site has: the live registry, or a catalog of 75 elements from YOOtheme Pro 5.0.50.
- Site templates have their own tools: `respira_list_yootheme_templates`, `respira_get_yootheme_template`, `respira_create_yootheme_template` and `respira_update_yootheme_template`. A new template starts disabled, changing an enabled one needs a confirmed live edit, and every template write takes a snapshot of YOOtheme's settings first.
- Template conditions are read and set through the shared template condition tools since plugin 9.3.1, checked on YOOtheme Pro 5.0.50.
- Exhale, the HTML to page conversion, writes YOOtheme elements: grids become rows of columns, lists keep their items and buttons keep their links.

### Where a human still steps in

- The YOOtheme style, header, footer and menus are read only. Change them in the YOOtheme customizer.
- An element type the site does not have is refused, and a setting an element does not have is reported back instead of written.
- An element fed by dynamic content shows what its source provides. Change the mapping in the customizer, not the text.
- There is no insert at a position: a new section is added at the end of the page and can then be moved. YOOtheme has no spacer or progress bar element, so those are written as HTML elements, and forms are refused.
- Exhale keeps forms, tables and icons as HTML elements and does not carry the source page's stylesheet over.
- A template takes one condition type and no excludes, and there is no tool that deletes a template.

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

## 4 tools made for YOOtheme Pro.

 Registered in the MCP server at build time. Each name is the id your client calls, on top of the universal set: find, update, move, remove, build, snapshot, roll back. 

- `wordpress_list_yootheme_templates`
- `wordpress_get_yootheme_template`
- `wordpress_create_yootheme_template`
- `wordpress_update_yootheme_template`

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

## Three prompts you can paste right now.

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

1. ### Build a landing page  
```  
Build a YOOtheme page called "Spring offer": a dark hero with a headline and a button to /contact, then three feature cards. Keep it as a draft and send me the preview link.  
```
2. ### Change a headline on a copy  
```  
On the homepage, find the first headline element and change it to "Built for busy clinics". Make the change on a copy and show me the preview before anything goes live.  
```
3. ### Review the site templates  
```  
List the YOOtheme templates on this site, what each one is assigned to and whether it is enabled. Change nothing.  
```

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

## Connect a YOOtheme Pro 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.

### 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 YOOtheme Pro 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 YOOtheme Pro lately.

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

1. [mcp-8.7.2](https://www.respira.press/releases#mcp-v-8-7-2) Nov 1, 2026  

  - Template conditions (plugin 9.3.1+): wordpress\_get\_template\_conditions and wordpress\_set\_template\_conditions read and set where a site template applies, in the same plain words on every builder with the builder's own value beside them.
2. [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.
3. [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.
4. [9.2.0](https://www.respira.press/releases#plugin-v-9-2-0) Oct 13, 2026  

  - YOOtheme Pro is a supported builder. Respira reads and writes YOOtheme pages as YOOtheme builder layouts: sections, rows, columns and YOOtheme's own elements. Every write is saved through YOOtheme's own builder, the way its customizer saves, so a page opens in the YOOtheme customizer like one built there.
  - YOOtheme site templates can be read and changed. Four tools appear on YOOtheme sites: list\_yootheme\_templates, get\_yootheme\_template, create\_yootheme\_template and update\_yootheme\_template. A template is the layout YOOtheme renders for every single post, the blog index, an archive, search or the 404 page.
  - Exhale converts HTML into YOOtheme Pro pages. convert\_html\_to\_builder takes builder yootheme. Headings, text, buttons, images, video and lists become YOOtheme elements, a grid or flex layout becomes a row of columns, and a wrapper's alignment and background colour reach its section or column.
5. [mcp-8.5.0](https://www.respira.press/releases#mcp-v-8-5-0) Oct 13, 2026  

  - YOOtheme Pro support. Four tools are listed when the site's builder is YOOtheme: respira\_list\_yootheme\_templates, respira\_get\_yootheme\_template, respira\_create\_yootheme\_template and respira\_update\_yootheme\_template, for the site templates YOOtheme renders on single posts, the blog index, archives, search and the 404 page.

[All 19 releases that touched YOOtheme Pro](https://www.respira.press/releases?builder=yootheme)

## Questions people ask about YOOtheme Pro and MCP.

Can it change the YOOtheme header, footer or menus? 

No. Respira reads the YOOtheme style, header, footer and menus but does not write them; change those in the YOOtheme customizer. Page layouts and site templates are written, with a snapshot first.

Is there an MCP server for YOOtheme Pro? 

Yes. Respira is an independent MCP server that reads and writes YOOtheme Pro in its own format, with first-class reads and writes across the builder structure. It is not made by the YOOtheme Pro team.

Which tools does it use for YOOtheme Pro? 

4 YOOtheme Pro-specific tools on top of the universal set: find, update, move and remove elements, build pages, snapshot and roll back. The list on this page is read from the MCP server source at build time.

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 YOOtheme Pro 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.

Looking for the YOOtheme Pro overview, with visuals and the conversion story? [YOOtheme Pro features](https://www.respira.press/integrations/yootheme)

## 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)
- [ ! WPBakery Partial ](https://www.respira.press/wpbakery-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)
- [ ! Avada Full ](https://www.respira.press/avada-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](#)
