@respira/wordpress-mcp-server 5.2.0 → 5.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +302 -284
- package/package.json +14 -3
package/README.md
CHANGED
|
@@ -1,144 +1,78 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<a href="https://respira.press">
|
|
3
|
-
<img src="https://respira.press/hero/
|
|
3
|
+
<img src="https://respira.press/hero/elemental-hero.jpg" alt="Respira v5.2 Elemental — AI Infrastructure for WordPress" width="100%">
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<h1 align="center">Respira WordPress MCP Server</h1>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<strong>
|
|
11
|
-
|
|
12
|
-
103 total tools: 82 WordPress core + 21 conditional WooCommerce tools.
|
|
10
|
+
<strong>147 MCP tools. 11 page builders. The AI infrastructure layer for WordPress.</strong><br>
|
|
11
|
+
Element-level editing, full page creation, HTML-to-builder conversion, stock images, bulk operations — all through one MCP server.
|
|
13
12
|
</p>
|
|
14
13
|
|
|
15
14
|
<p align="center">
|
|
16
|
-
<a href="https://www.npmjs.com/package/@respira/wordpress-mcp-server"><img src="https://img.shields.io/npm/v/@respira/wordpress-mcp-server.svg?style=flat-square&color=
|
|
15
|
+
<a href="https://www.npmjs.com/package/@respira/wordpress-mcp-server"><img src="https://img.shields.io/npm/v/@respira/wordpress-mcp-server.svg?style=flat-square&color=10b981" alt="npm version"></a>
|
|
17
16
|
<a href="https://www.npmjs.com/package/@respira/wordpress-mcp-server"><img src="https://img.shields.io/npm/dm/@respira/wordpress-mcp-server.svg?style=flat-square" alt="npm downloads"></a>
|
|
18
|
-
<img src="https://img.shields.io/badge/
|
|
19
|
-
<img src="https://img.shields.io/badge/
|
|
20
|
-
<img src="https://img.shields.io/badge/WooCommerce%20add--on-21%20conditional%20tools-7F54B3?style=flat-square" alt="WooCommerce conditional tools">
|
|
17
|
+
<img src="https://img.shields.io/badge/tools-147-10b981?style=flat-square" alt="147 Tools">
|
|
18
|
+
<img src="https://img.shields.io/badge/builders-11-10b981?style=flat-square" alt="11 Page Builders">
|
|
21
19
|
<img src="https://img.shields.io/badge/TypeScript-100%25-blue?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript">
|
|
22
|
-
<a href="https://respira.press"><img src="https://img.shields.io/badge/website-respira.press-orange?style=flat-square" alt="Website"></a>
|
|
23
20
|
</p>
|
|
24
21
|
|
|
25
22
|
<p align="center">
|
|
26
23
|
<a href="https://respira.press">Website</a> •
|
|
27
|
-
<a href="https://respira.press/docs">
|
|
28
|
-
<a href="https://respira.press/
|
|
29
|
-
<a href="https://respira.press/support">Support</a>
|
|
24
|
+
<a href="https://respira.press/docs">Docs</a> •
|
|
25
|
+
<a href="https://respira.press/plugin">Plugin</a> •
|
|
26
|
+
<a href="https://respira.press/support">Support</a> •
|
|
27
|
+
<a href="https://respira.press/addons/woocommerce">WooCommerce Add-on</a>
|
|
30
28
|
</p>
|
|
31
29
|
|
|
32
30
|
---
|
|
33
31
|
|
|
34
|
-
##
|
|
35
|
-
|
|
36
|
-
**Other WordPress MCP servers** use basic REST API calls. They can create posts and pages, but **they can't touch your page builder content**.
|
|
37
|
-
|
|
38
|
-
**Respira** includes a WordPress plugin that gives AI **deep access** to your page builders:
|
|
39
|
-
|
|
40
|
-
| Feature | Respira | Other MCP Servers |
|
|
41
|
-
|---------|---------|-------------------|
|
|
42
|
-
| **Page Builder Support** | 11 builders | None |
|
|
43
|
-
| Edit Divi modules | 200+ module types | - |
|
|
44
|
-
| Edit Elementor widgets | Full support | - |
|
|
45
|
-
| Edit Bricks elements | Full support | - |
|
|
46
|
-
| Module-level updates | By path or label | - |
|
|
47
|
-
| **Safety Features** | | |
|
|
48
|
-
| Duplicate-before-edit | Yes | No |
|
|
49
|
-
| Live page protection | Yes | No |
|
|
50
|
-
| Approval workflow | Yes | No |
|
|
51
|
-
| **Analysis Tools** | | |
|
|
52
|
-
| SEO Analysis | Yes | No |
|
|
53
|
-
| Core Web Vitals | Yes | No |
|
|
54
|
-
| AEO (AI Search Optimization) | Yes | No |
|
|
55
|
-
| Readability scoring | Yes | No |
|
|
56
|
-
| **Multilingual** | | |
|
|
57
|
-
| WPML support | Yes | No |
|
|
58
|
-
| Menu translations | Yes | No |
|
|
59
|
-
| **WooCommerce Add-on** | | |
|
|
60
|
-
| Product management tools | Yes (add-on) | No |
|
|
61
|
-
| Order status and operations | Yes (add-on) | No |
|
|
62
|
-
| Inventory and stock tools | Yes (add-on) | No |
|
|
63
|
-
| Sales reports and inventory intelligence | Yes (add-on) | No |
|
|
64
|
-
|
|
65
|
-
### Tool Inventory (v4.0)
|
|
66
|
-
|
|
67
|
-
- `82` always-on `wordpress_*` tools
|
|
68
|
-
- `21` conditional `woocommerce_*` tools (only when WooCommerce add-on is installed and licensed)
|
|
69
|
-
- `103` total MCP tools when WooCommerce add-on is active
|
|
70
|
-
- Automatic `respira/v2` capability negotiation with `respira/v1` fallback for backward compatibility
|
|
71
|
-
|
|
72
|
-
### Supported Page Builders
|
|
32
|
+
## What Makes Respira Different
|
|
73
33
|
|
|
74
|
-
|
|
75
|
-
<img src="https://img.shields.io/badge/Divi-200%2B%20modules-purple?style=for-the-badge" alt="Divi">
|
|
76
|
-
<img src="https://img.shields.io/badge/Elementor-Full%20Support-92003B?style=for-the-badge" alt="Elementor">
|
|
77
|
-
<img src="https://img.shields.io/badge/Bricks-Full%20Support-orange?style=for-the-badge" alt="Bricks">
|
|
78
|
-
<img src="https://img.shields.io/badge/Oxygen-Full%20Support-00D084?style=for-the-badge" alt="Oxygen">
|
|
79
|
-
</p>
|
|
80
|
-
|
|
81
|
-
- **Divi** - All 200+ modules with nested content
|
|
82
|
-
- **Elementor** - Widgets, sections, containers
|
|
83
|
-
- **Bricks** - Elements and nestable layouts
|
|
84
|
-
- **Oxygen** - Components and dynamic data
|
|
85
|
-
- **Gutenberg** - All registered blocks (core + third-party)
|
|
86
|
-
- **Beaver Builder** - Modules and rows
|
|
87
|
-
- **WPBakery** - Elements and templates
|
|
88
|
-
- **Visual Composer** - Elements and layouts
|
|
89
|
-
- **Brizy** - Blocks and elements
|
|
90
|
-
- **Thrive Architect** - Elements and templates
|
|
91
|
-
- **Breakdance** - Elements, sections, and builder JSON layouts
|
|
92
|
-
|
|
93
|
-
### WooCommerce Add-on Abilities
|
|
34
|
+
Other WordPress MCP servers wrap the REST API. They can create posts and pages, but **they can't touch your page builder content**.
|
|
94
35
|
|
|
95
|
-
Respira
|
|
36
|
+
Respira includes a WordPress plugin that gives AI **native access** to 11 page builders — plus element-level precision, full page creation from structure, HTML-to-builder conversion, stock image search, and bulk operations across hundreds of pages.
|
|
96
37
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
38
|
+
| Capability | Respira | Other MCP Servers |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| Page builder support | **11 builders** | None |
|
|
41
|
+
| Element-level find/update/move/remove | **Yes** | No |
|
|
42
|
+
| Build full pages from structure | **Yes** | No |
|
|
43
|
+
| Convert HTML to native builder | **Yes** | No |
|
|
44
|
+
| Stock image search + sideload | **Yes** | No |
|
|
45
|
+
| Bulk operations (100 pages/call) | **Yes** | No |
|
|
46
|
+
| 27 widget shortcuts (add_heading, etc.) | **Yes** | No |
|
|
47
|
+
| Duplicate-before-edit safety | **Yes** | No |
|
|
48
|
+
| Snapshot rollback | **Yes** | No |
|
|
49
|
+
| SEO / Core Web Vitals / AEO analysis | **Yes** | No |
|
|
50
|
+
| WooCommerce (products, orders, inventory) | **Yes** (add-on) | No |
|
|
51
|
+
| Tool governance (per-tool enable/disable) | **Yes** | No |
|
|
105
52
|
|
|
106
53
|
---
|
|
107
54
|
|
|
108
55
|
## Quick Start (3 Minutes)
|
|
109
56
|
|
|
110
|
-
### Step 1: Install WordPress Plugin
|
|
57
|
+
### Step 1: Install the WordPress Plugin
|
|
111
58
|
|
|
112
|
-
|
|
113
|
-
2. Upload to WordPress: **Plugins > Add New > Upload Plugin**
|
|
114
|
-
3. Activate and go to **Respira > API Keys**
|
|
115
|
-
4. Generate your API key (starts with `respira_`)
|
|
59
|
+
Download from [respira.press/plugin](https://respira.press/plugin) → upload to WordPress → activate → go to **Respira > API Keys** → generate a key.
|
|
116
60
|
|
|
117
61
|
### Step 2: Configure Your AI Tool
|
|
118
62
|
|
|
119
|
-
For agencies or anyone managing multiple connected sites, use the dedicated hosted setup page at [respira.press/dashboard/mcp](https://www.respira.press/dashboard/mcp). It generates the all-sites config, one-time install command, and AI setup prompt from your account inventory.
|
|
120
|
-
|
|
121
63
|
<details>
|
|
122
|
-
<summary><b>
|
|
64
|
+
<summary><b>Claude Code</b></summary>
|
|
123
65
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
{
|
|
127
|
-
"mcpServers": {
|
|
128
|
-
"respira-wordpress": {
|
|
129
|
-
"command": "npx",
|
|
130
|
-
"args": ["-y", "@respira/wordpress-mcp-server"]
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
66
|
+
```bash
|
|
67
|
+
claude mcp add respira-wordpress -- npx -y @respira/wordpress-mcp-server
|
|
134
68
|
```
|
|
135
69
|
|
|
136
70
|
</details>
|
|
137
71
|
|
|
138
72
|
<details>
|
|
139
|
-
<summary><b>
|
|
73
|
+
<summary><b>Cursor</b></summary>
|
|
140
74
|
|
|
141
|
-
|
|
75
|
+
Create `.cursor/mcp.json` in your project:
|
|
142
76
|
```json
|
|
143
77
|
{
|
|
144
78
|
"mcpServers": {
|
|
@@ -186,7 +120,7 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
|
|
|
186
120
|
|
|
187
121
|
</details>
|
|
188
122
|
|
|
189
|
-
### Step 3: Add Your Site
|
|
123
|
+
### Step 3: Add Your Site
|
|
190
124
|
|
|
191
125
|
Create `~/.respira/config.json`:
|
|
192
126
|
```json
|
|
@@ -203,209 +137,274 @@ Create `~/.respira/config.json`:
|
|
|
203
137
|
}
|
|
204
138
|
```
|
|
205
139
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
### Guided Agency Setup
|
|
140
|
+
Or run the interactive setup wizard: `npx @respira/wordpress-mcp-server --setup`
|
|
209
141
|
|
|
210
|
-
|
|
211
|
-
- Or copy the one-time installer command:
|
|
212
|
-
- `npx -y @respira/wordpress-mcp-server --install-config --client codex --install-token <token>`
|
|
213
|
-
- Treat exported configs and install commands like passwords. They grant access to connected sites. Never commit them to git or paste them into public chats or tickets.
|
|
142
|
+
**Done.** Restart your AI tool and start editing.
|
|
214
143
|
|
|
215
144
|
---
|
|
216
145
|
|
|
217
|
-
##
|
|
146
|
+
## v5.2 "Elemental" — What's New
|
|
218
147
|
|
|
219
|
-
|
|
148
|
+
### Element-Level Operations
|
|
149
|
+
Find, update, move, duplicate, and remove individual elements inside any page builder — by ID, type, CSS class, or content text.
|
|
220
150
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
5. **Returns the approvals URL** in mutation responses (`respira_approvals_url`) so assistants can direct users to:
|
|
226
|
-
`https://your-site.com/wp-admin/admin.php?page=respira-approvals`
|
|
227
|
-
|
|
228
|
-
### Divi Safety Contract
|
|
229
|
-
|
|
230
|
-
- Every `wordpress_inject_builder_content` call for `builder=\"divi\"` must include `diviVersion`:
|
|
231
|
-
- `\"4\"` for Divi 4 shortcode format
|
|
232
|
-
- `\"5\"` for Divi 5 block format
|
|
233
|
-
- If omitted, MCP returns a confirmation-required response instead of injecting.
|
|
151
|
+
```
|
|
152
|
+
respira_find_element({ post_id: 42, identifier_type: "type", identifier_value: "heading" })
|
|
153
|
+
respira_update_element({ post_id: 42, identifier_type: "content", identifier_value: "Old Title", updates: { heading: "New Title" } })
|
|
154
|
+
```
|
|
234
155
|
|
|
235
|
-
|
|
156
|
+
### Build Full Pages
|
|
157
|
+
Create complete pages from a declarative widget structure in one call.
|
|
236
158
|
|
|
237
|
-
|
|
159
|
+
```
|
|
160
|
+
respira_build_page({ title: "Services", structure: [
|
|
161
|
+
{ type: "heading", settings: { heading: "Our Services", tag: "h1" } },
|
|
162
|
+
{ type: "text", settings: { text: "<p>We build amazing things.</p>" } },
|
|
163
|
+
{ type: "button", settings: { text: "Get Started", link: "/contact" } }
|
|
164
|
+
]})
|
|
165
|
+
```
|
|
238
166
|
|
|
239
|
-
|
|
167
|
+
### HTML-to-Builder Conversion
|
|
168
|
+
Convert any HTML into native builder widgets — with CSS extraction, responsive mapping, and a fidelity report.
|
|
240
169
|
|
|
241
|
-
|
|
170
|
+
```
|
|
171
|
+
respira_convert_html_to_builder({ html: "<section>...</section>", options: { title: "Homepage", preserve_tokens: true } })
|
|
172
|
+
→ { page_id: 123, fidelity: { score: 92, sections_matched: 14 } }
|
|
173
|
+
```
|
|
242
174
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
- **Standalone MCP server** (this package): Quick start path — works without the Abilities API
|
|
246
|
-
- **BrowserMCP/WebMCP**: Respira plugin 4.0 bundles the browser bridge directly, so Chrome can discover and run the same Respira abilities without a separate plugin install
|
|
175
|
+
### Stock Images
|
|
176
|
+
Search Openverse (Creative Commons) and sideload directly into the Media Library with auto-attribution.
|
|
247
177
|
|
|
248
|
-
|
|
178
|
+
```
|
|
179
|
+
respira_search_stock_images({ query: "mountain landscape", per_page: 10 })
|
|
180
|
+
respira_sideload_image({ url: "https://...", caption: "Photo by...", alt: "Mountain" })
|
|
181
|
+
```
|
|
249
182
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
| **Standalone** (this npm package) | Install via npm, configure in your AI tool | Node 18+, Respira plugin |
|
|
253
|
-
| **WordPress MCP Adapter** | Abilities auto-discovered via WP-CLI STDIO | WP 6.9+, MCP Adapter plugin, Respira plugin v4.0+ |
|
|
183
|
+
### Bulk Operations
|
|
184
|
+
Apply changes across up to 100 pages in a single call — with mandatory snapshots for rollback.
|
|
254
185
|
|
|
255
|
-
|
|
186
|
+
```
|
|
187
|
+
respira_bulk_pages_operation({ page_ids: [12, 15, 18, 22], operation: { type: "find_and_replace", find: "2025", replace: "2026" } })
|
|
188
|
+
```
|
|
256
189
|
|
|
257
|
-
###
|
|
190
|
+
### 27 Widget Shortcuts
|
|
191
|
+
One-liner tools to add any widget to a page without building the full structure:
|
|
258
192
|
|
|
259
|
-
```bash
|
|
260
|
-
npx @respira/wordpress-mcp-server --stdio --wp-path=/path/to/wordpress --user=admin
|
|
261
193
|
```
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
wp mcp-adapter serve respira-press --user=admin
|
|
194
|
+
respira_add_heading({ post_id: 42, title: "Hello World", tag: "h2" })
|
|
195
|
+
respira_add_button({ post_id: 42, text: "Buy Now", url: "/shop" })
|
|
196
|
+
respira_add_image({ post_id: 42, image_url: "https://..." })
|
|
266
197
|
```
|
|
267
198
|
|
|
268
199
|
---
|
|
269
200
|
|
|
270
|
-
##
|
|
271
|
-
|
|
272
|
-
### Page Builder Tools
|
|
273
|
-
| Tool | What it does |
|
|
274
|
-
|------|-------------|
|
|
275
|
-
| `wordpress_get_builder_info` | Get all available modules/widgets for the active builder |
|
|
276
|
-
| `wordpress_extract_builder_content` | Extract structured builder content from any page |
|
|
277
|
-
| `wordpress_inject_builder_content` | Replace entire page content with new builder data |
|
|
278
|
-
| `wordpress_update_module` | Update ONE specific module by path or label |
|
|
279
|
-
|
|
280
|
-
### Content Management
|
|
281
|
-
| Tool | What it does |
|
|
282
|
-
|------|-------------|
|
|
283
|
-
| `wordpress_list_pages` | List all pages with builder detection |
|
|
284
|
-
| `wordpress_read_page` | Get page with full structured content |
|
|
285
|
-
| `wordpress_update_page` | Update page (creates safe duplicate first) |
|
|
286
|
-
| `wordpress_create_page_duplicate` | Manually create working copy |
|
|
287
|
-
|
|
288
|
-
### Menu Management
|
|
289
|
-
| Tool | What it does |
|
|
290
|
-
|------|-------------|
|
|
291
|
-
| `wordpress_list_menus` | List all navigation menus |
|
|
292
|
-
| `wordpress_get_menu` | Get menu with all items & hierarchy |
|
|
293
|
-
| `wordpress_create_menu` | Create new navigation menu |
|
|
294
|
-
| `wordpress_create_menu_item` | Add item to any menu |
|
|
295
|
-
| `wordpress_assign_menu_location` | Assign menu to theme location |
|
|
296
|
-
|
|
297
|
-
### Analysis Tools
|
|
298
|
-
| Tool | What it does |
|
|
299
|
-
|------|-------------|
|
|
300
|
-
| `wordpress_analyze_seo` | Full SEO audit with actionable recommendations |
|
|
301
|
-
| `wordpress_analyze_performance` | Page speed & optimization suggestions |
|
|
302
|
-
| `wordpress_get_core_web_vitals` | LCP, FID, CLS scores |
|
|
303
|
-
| `wordpress_analyze_aeo` | AI search engine optimization check |
|
|
304
|
-
| `wordpress_analyze_readability` | Flesch score, sentence analysis |
|
|
305
|
-
|
|
306
|
-
### WooCommerce Add-on Tools (License-gated)
|
|
307
|
-
| Tool | What it does |
|
|
308
|
-
|------|-------------|
|
|
309
|
-
| `woocommerce_list_products` / `woocommerce_get_product` | Browse and inspect products |
|
|
310
|
-
| `woocommerce_create_product` / `woocommerce_update_product` | Create and update products |
|
|
311
|
-
| `woocommerce_duplicate_product` | Duplicate products safely before edits |
|
|
312
|
-
| `woocommerce_list_categories` / `woocommerce_get_category` | Browse and inspect product categories |
|
|
313
|
-
| `woocommerce_create_category` / `woocommerce_update_category` / `woocommerce_delete_category` | Create, update, and delete product categories |
|
|
314
|
-
| `woocommerce_list_tags` / `woocommerce_get_tag` | Browse and inspect product tags |
|
|
315
|
-
| `woocommerce_create_tag` / `woocommerce_update_tag` / `woocommerce_delete_tag` | Create, update, and delete product tags |
|
|
316
|
-
| `woocommerce_list_orders` / `woocommerce_get_order` | List and inspect orders |
|
|
317
|
-
| `woocommerce_update_order_status` | Update order status with WooCommerce flows |
|
|
318
|
-
| `woocommerce_get_stock_status` / `woocommerce_update_stock` | Inventory and stock management |
|
|
319
|
-
| `woocommerce_sales_report` | Sales analytics and reporting |
|
|
320
|
-
|
|
321
|
-
### Media, Users, Taxonomies, Plugins
|
|
322
|
-
|
|
323
|
-
Full CRUD operations for all WordPress content types.
|
|
324
|
-
|
|
325
|
-
[Full Tool Reference](https://respira.press/docs/tools)
|
|
201
|
+
## 11 Supported Page Builders
|
|
326
202
|
|
|
327
|
-
|
|
203
|
+
<p align="center">
|
|
204
|
+
<img src="https://img.shields.io/badge/Elementor-Full_Intelligence-92003B?style=for-the-badge" alt="Elementor">
|
|
205
|
+
<img src="https://img.shields.io/badge/Divi_5-Full_Intelligence-7c3aed?style=for-the-badge" alt="Divi 5">
|
|
206
|
+
<img src="https://img.shields.io/badge/Beaver_Builder-Full_Support-0fa2e6?style=for-the-badge" alt="Beaver Builder">
|
|
207
|
+
<img src="https://img.shields.io/badge/Bricks-Full_Support-ef6723?style=for-the-badge" alt="Bricks">
|
|
208
|
+
</p>
|
|
328
209
|
|
|
329
|
-
|
|
210
|
+
| Builder | Support Level | Element Ops | Build Page | Dynamic Schemas |
|
|
211
|
+
|---|---|---|---|---|
|
|
212
|
+
| **Elementor** | Full Intelligence | Native API | Yes | Yes — runtime control registry |
|
|
213
|
+
| **Divi 5** | Full Intelligence | Native API | Yes | Yes — 40+ module definitions |
|
|
214
|
+
| **Divi 4** | Full Intelligence | Tree utility | Yes | Static schemas |
|
|
215
|
+
| **Beaver Builder** | Full Support | Tree utility | Yes | Static schemas |
|
|
216
|
+
| **Bricks** | Full Support | Tree utility | Yes | Static schemas |
|
|
217
|
+
| **Gutenberg** | Full Support | Tree utility | Yes | Block registry |
|
|
218
|
+
| **Oxygen** | Smart Defaults | Tree utility | Yes | Static schemas |
|
|
219
|
+
| **WPBakery** | Smart Defaults | Tree utility | Yes | Static schemas |
|
|
220
|
+
| **Breakdance** | Smart Defaults | Tree utility | Yes | Static schemas |
|
|
221
|
+
| **Brizy** | Basic | Tree utility | Best-effort | — |
|
|
222
|
+
| **Thrive Architect** | Basic | Tree utility | Best-effort | — |
|
|
223
|
+
| **Visual Composer** | Basic | Tree utility | Best-effort | — |
|
|
330
224
|
|
|
331
|
-
|
|
332
|
-
```json
|
|
333
|
-
{
|
|
334
|
-
"sites": [
|
|
335
|
-
{
|
|
336
|
-
"id": "production",
|
|
337
|
-
"name": "Production Site",
|
|
338
|
-
"url": "https://mysite.com",
|
|
339
|
-
"apiKey": "respira_prod_key",
|
|
340
|
-
"default": true
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
"id": "staging",
|
|
344
|
-
"name": "Staging Site",
|
|
345
|
-
"url": "https://staging.mysite.com",
|
|
346
|
-
"apiKey": "respira_staging_key"
|
|
347
|
-
}
|
|
348
|
-
]
|
|
349
|
-
}
|
|
350
|
-
```
|
|
225
|
+
---
|
|
351
226
|
|
|
352
|
-
|
|
227
|
+
## All 147 Tools
|
|
228
|
+
|
|
229
|
+
### Element Operations (7 tools) — NEW in v5.2
|
|
230
|
+
| Tool | Description |
|
|
231
|
+
|---|---|
|
|
232
|
+
| `respira_find_element` | Find element by ID, type, CSS class, or content text |
|
|
233
|
+
| `respira_update_element` | Update settings on a specific element |
|
|
234
|
+
| `respira_move_element` | Move element to a different container/position |
|
|
235
|
+
| `respira_duplicate_element` | Clone an element with new IDs |
|
|
236
|
+
| `respira_remove_element` | Remove an element from the page |
|
|
237
|
+
| `respira_batch_update` | Apply multiple operations atomically (extract once → apply all → inject once) |
|
|
238
|
+
| `respira_reorder_elements` | Reorder children within a container |
|
|
239
|
+
|
|
240
|
+
### Page Building (3 tools) — NEW in v5.2
|
|
241
|
+
| Tool | Description |
|
|
242
|
+
|---|---|
|
|
243
|
+
| `respira_build_page` | Create a complete page from declarative widget structure |
|
|
244
|
+
| `respira_convert_html_to_builder` | Convert HTML into native builder widgets with fidelity report |
|
|
245
|
+
| `respira_bulk_pages_operation` | Apply operations across up to 100 pages with mandatory snapshots |
|
|
246
|
+
|
|
247
|
+
### Stock Images (2 tools) — NEW in v5.2
|
|
248
|
+
| Tool | Description |
|
|
249
|
+
|---|---|
|
|
250
|
+
| `respira_search_stock_images` | Search Openverse for Creative Commons images |
|
|
251
|
+
| `respira_sideload_image` | Download and import image into Media Library with attribution |
|
|
252
|
+
|
|
253
|
+
### 27 Widget Shortcuts — NEW in v5.2
|
|
254
|
+
Add any widget to a page in one call:
|
|
255
|
+
|
|
256
|
+
`respira_add_heading` · `respira_add_text` · `respira_add_button` · `respira_add_image` · `respira_add_video` · `respira_add_section` · `respira_add_divider` · `respira_add_spacer` · `respira_add_icon` · `respira_add_icon_list` · `respira_add_social_icons` · `respira_add_form` · `respira_add_map` · `respira_add_counter` · `respira_add_progress_bar` · `respira_add_testimonial` · `respira_add_tabs` · `respira_add_accordion` · `respira_add_toggle` · `respira_add_alert` · `respira_add_html` · `respira_add_menu` · `respira_add_sidebar` · `respira_add_search` · `respira_add_gallery` · `respira_add_slider` · `respira_add_pricing_table`
|
|
257
|
+
|
|
258
|
+
### Page Builder Tools (6 tools)
|
|
259
|
+
| Tool | Description |
|
|
260
|
+
|---|---|
|
|
261
|
+
| `respira_get_builder_info` | Active builder, version, modules, support level |
|
|
262
|
+
| `respira_extract_builder_content` | Extract structured content from any page |
|
|
263
|
+
| `respira_inject_builder_content` | Replace page content with builder data |
|
|
264
|
+
| `respira_update_module` | Update one module by path or label (v1 — use `update_element` for v2) |
|
|
265
|
+
| `respira_find_builder_targets` | Find editable targets in a page |
|
|
266
|
+
| `respira_apply_builder_patch` | Apply a JSON patch to builder content |
|
|
267
|
+
|
|
268
|
+
### Pages & Posts (14 tools)
|
|
269
|
+
| Tool | Description |
|
|
270
|
+
|---|---|
|
|
271
|
+
| `respira_list_pages` / `respira_read_page` | List and read pages with builder detection |
|
|
272
|
+
| `respira_update_page` / `respira_delete_page` | Update (with safe duplicate) and delete |
|
|
273
|
+
| `respira_create_page_duplicate` | Create working copy before editing |
|
|
274
|
+
| `respira_list_posts` / `respira_read_post` | List and read posts |
|
|
275
|
+
| `respira_update_post` / `respira_delete_post` | Update and delete posts |
|
|
276
|
+
| `respira_create_post_duplicate` | Duplicate a post |
|
|
277
|
+
| `respira_list_custom_posts` / `respira_get_custom_post` | Custom post types |
|
|
278
|
+
| `respira_create_custom_post` / `respira_update_custom_post` / `respira_delete_custom_post` | CRUD for CPTs |
|
|
279
|
+
|
|
280
|
+
### Snapshots & Rollback (4 tools)
|
|
281
|
+
| Tool | Description |
|
|
282
|
+
|---|---|
|
|
283
|
+
| `respira_list_snapshots` | List all snapshots for a post |
|
|
284
|
+
| `respira_get_snapshot` | Get snapshot content |
|
|
285
|
+
| `respira_diff_snapshots` | Compare two snapshots |
|
|
286
|
+
| `respira_restore_snapshot` | Restore a previous version |
|
|
287
|
+
|
|
288
|
+
### Analysis (8 tools)
|
|
289
|
+
| Tool | Description |
|
|
290
|
+
|---|---|
|
|
291
|
+
| `respira_analyze_seo` | Full SEO audit with actionable recommendations |
|
|
292
|
+
| `respira_analyze_performance` | Page speed and optimization |
|
|
293
|
+
| `respira_get_core_web_vitals` | LCP, FID, CLS scores |
|
|
294
|
+
| `respira_analyze_aeo` | AI search engine optimization |
|
|
295
|
+
| `respira_analyze_readability` | Flesch score, sentence analysis |
|
|
296
|
+
| `respira_analyze_images` | Image optimization audit |
|
|
297
|
+
| `respira_check_seo_issues` | Technical SEO checklist |
|
|
298
|
+
| `respira_check_structured_data` | Schema.org validation |
|
|
299
|
+
| `respira_analyze_rankmath` | RankMath integration |
|
|
300
|
+
|
|
301
|
+
### Menus (8 tools)
|
|
302
|
+
| Tool | Description |
|
|
303
|
+
|---|---|
|
|
304
|
+
| `respira_list_menus` / `respira_get_menu` / `respira_create_menu` / `respira_update_menu` / `respira_delete_menu` | Full menu CRUD |
|
|
305
|
+
| `respira_list_menu_items` / `respira_get_menu_item` / `respira_create_menu_item` / `respira_update_menu_item` / `respira_delete_menu_item` | Menu item management |
|
|
306
|
+
| `respira_list_menu_locations` / `respira_assign_menu_location` | Theme location assignment |
|
|
307
|
+
|
|
308
|
+
### Media (4 tools)
|
|
309
|
+
| Tool | Description |
|
|
310
|
+
|---|---|
|
|
311
|
+
| `respira_list_media` / `respira_get_media` | Browse media library |
|
|
312
|
+
| `respira_upload_media` / `respira_update_media` / `respira_delete_media` | Upload, update metadata, delete |
|
|
313
|
+
|
|
314
|
+
### Users & Comments (7 tools)
|
|
315
|
+
| Tool | Description |
|
|
316
|
+
|---|---|
|
|
317
|
+
| `respira_list_users` / `respira_get_user` / `respira_create_user` / `respira_update_user` / `respira_delete_user` | User management |
|
|
318
|
+
| `respira_list_comments` / `respira_get_comment` / `respira_create_comment` / `respira_update_comment` / `respira_delete_comment` | Comment operations |
|
|
319
|
+
|
|
320
|
+
### Taxonomies (5 tools)
|
|
321
|
+
| Tool | Description |
|
|
322
|
+
|---|---|
|
|
323
|
+
| `respira_list_taxonomies` / `respira_get_taxonomy` | Browse taxonomies |
|
|
324
|
+
| `respira_list_terms` / `respira_get_term` / `respira_create_term` / `respira_update_term` / `respira_delete_term` | Term CRUD |
|
|
325
|
+
| `respira_list_post_types` / `respira_get_post_type` | Post type info |
|
|
326
|
+
|
|
327
|
+
### Site & Plugins (10 tools)
|
|
328
|
+
| Tool | Description |
|
|
329
|
+
|---|---|
|
|
330
|
+
| `respira_get_site_context` | WordPress version, theme, plugins, URL |
|
|
331
|
+
| `respira_get_theme_docs` | Theme documentation and structure |
|
|
332
|
+
| `respira_list_plugins` / `respira_install_plugin` / `respira_activate_plugin` / `respira_deactivate_plugin` / `respira_update_plugin` / `respira_delete_plugin` | Plugin management |
|
|
333
|
+
| `respira_list_options` / `respira_get_option` / `respira_update_option` / `respira_delete_option` | WordPress options |
|
|
334
|
+
| `respira_validate_security` | Security audit |
|
|
335
|
+
| `respira_get_server_compatibility` | Plugin/MCP version check |
|
|
336
|
+
|
|
337
|
+
### Multi-Site (3 tools)
|
|
338
|
+
| Tool | Description |
|
|
339
|
+
|---|---|
|
|
340
|
+
| `respira_list_sites` | List all configured WordPress sites |
|
|
341
|
+
| `respira_switch_site` | Switch active site |
|
|
342
|
+
| `respira_get_active_site` | Get current site info |
|
|
343
|
+
|
|
344
|
+
### WooCommerce Add-on (21 tools)
|
|
345
|
+
Available when the [WooCommerce add-on](https://respira.press/addons/woocommerce) is installed:
|
|
346
|
+
|
|
347
|
+
| Tool | Description |
|
|
348
|
+
|---|---|
|
|
349
|
+
| `woocommerce_list_products` / `get` / `create` / `update` / `duplicate` | Product CRUD |
|
|
350
|
+
| `woocommerce_list_orders` / `get` / `update_order_status` | Order management |
|
|
351
|
+
| `woocommerce_get_stock_status` / `update_stock` | Inventory control |
|
|
352
|
+
| `woocommerce_list_categories` / `get` / `create` / `update` / `delete` | Product categories |
|
|
353
|
+
| `woocommerce_list_tags` / `get` / `create` / `update` / `delete` | Product tags |
|
|
354
|
+
| `woocommerce_sales_report` | Sales analytics |
|
|
353
355
|
|
|
354
356
|
---
|
|
355
357
|
|
|
356
|
-
##
|
|
358
|
+
## Safe Editing
|
|
357
359
|
|
|
358
|
-
|
|
359
|
-
- Detect content language automatically
|
|
360
|
-
- Access all translations
|
|
361
|
-
- Menu translations with language codes
|
|
362
|
-
- Language-aware content queries
|
|
360
|
+
Every mutation creates a snapshot. Roll back anytime.
|
|
363
361
|
|
|
364
|
-
|
|
362
|
+
1. **Snapshot captured** before every edit
|
|
363
|
+
2. **Duplicate-before-edit** — original stays untouched
|
|
364
|
+
3. **Approval workflow** — review changes in WordPress admin
|
|
365
|
+
4. **Rollback** — restore any snapshot with `respira_restore_snapshot`
|
|
365
366
|
|
|
366
|
-
|
|
367
|
+
### Tool Governance
|
|
367
368
|
|
|
368
|
-
|
|
369
|
+
Admins can enable/disable individual tools from the WordPress dashboard. Governance applies to both REST API and WebMCP/Abilities API paths.
|
|
369
370
|
|
|
370
|
-
|
|
371
|
-
```json
|
|
372
|
-
{
|
|
373
|
-
"command": "C:\\Program Files\\nodejs\\npx.cmd",
|
|
374
|
-
"args": ["-y", "@respira/wordpress-mcp-server"]
|
|
375
|
-
}
|
|
376
|
-
```
|
|
371
|
+
---
|
|
377
372
|
|
|
378
|
-
|
|
379
|
-
```bash
|
|
380
|
-
npm install -g @respira/wordpress-mcp-server
|
|
381
|
-
```
|
|
373
|
+
## Multi-Site Support
|
|
382
374
|
|
|
383
|
-
|
|
375
|
+
Manage multiple WordPress sites from one config:
|
|
384
376
|
```json
|
|
385
377
|
{
|
|
386
|
-
"
|
|
378
|
+
"sites": [
|
|
379
|
+
{ "id": "production", "name": "Production", "url": "https://mysite.com", "apiKey": "respira_prod_key", "default": true },
|
|
380
|
+
{ "id": "staging", "name": "Staging", "url": "https://staging.mysite.com", "apiKey": "respira_staging_key" }
|
|
381
|
+
]
|
|
387
382
|
}
|
|
388
383
|
```
|
|
389
384
|
|
|
390
|
-
|
|
385
|
+
Switch sites: `respira_switch_site({ siteId: "staging" })`
|
|
391
386
|
|
|
392
|
-
|
|
393
|
-
2. Verify your site URL includes `https://`
|
|
394
|
-
3. Make sure the Respira plugin is activated
|
|
395
|
-
4. Check if your hosting blocks REST API requests
|
|
387
|
+
For agencies managing many sites, use the hosted setup at [respira.press/dashboard/mcp](https://www.respira.press/dashboard/mcp) to generate configs and install commands from your account.
|
|
396
388
|
|
|
397
|
-
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
## Deprecation Notice: `wordpress_*` Tool Names
|
|
392
|
+
|
|
393
|
+
All tools now use `respira_*` names (e.g. `respira_update_page`, `respira_find_element`).
|
|
394
|
+
|
|
395
|
+
The legacy `wordpress_*` names still work as aliases for backward compatibility, but **will be removed in v6.0**. If your prompts or workflows reference `wordpress_*` tools, update them to `respira_*` now.
|
|
396
|
+
|
|
397
|
+
---
|
|
398
398
|
|
|
399
|
-
|
|
400
|
-
2. Verify config file JSON syntax (use a JSON validator)
|
|
401
|
-
3. Check the config file is in the correct location
|
|
402
|
-
4. Make sure you saved the file after editing
|
|
399
|
+
## WordPress AI Ecosystem
|
|
403
400
|
|
|
404
|
-
|
|
401
|
+
Respira works with the official WordPress AI stack:
|
|
405
402
|
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
403
|
+
| Path | How it works | Requirements |
|
|
404
|
+
|---|---|---|
|
|
405
|
+
| **Standalone MCP** (this package) | `npx @respira/wordpress-mcp-server` | Node 18+, Respira plugin |
|
|
406
|
+
| **WordPress MCP Adapter** | Abilities auto-discovered via WP-CLI STDIO | WP 6.9+, MCP Adapter, Respira v5.0+ |
|
|
407
|
+
| **WebMCP** | Browser-native MCP via Chrome Abilities API | Chrome 146+, Respira plugin |
|
|
409
408
|
|
|
410
409
|
---
|
|
411
410
|
|
|
@@ -416,23 +415,11 @@ Then use:
|
|
|
416
415
|
npx -y @respira/wordpress-mcp-server
|
|
417
416
|
```
|
|
418
417
|
|
|
419
|
-
### Smithery (MCP Package Manager)
|
|
420
|
-
```bash
|
|
421
|
-
npx -y @smithery/cli install @respira/wordpress-mcp-server --client claude
|
|
422
|
-
```
|
|
423
|
-
|
|
424
418
|
### Interactive Setup Wizard
|
|
425
419
|
```bash
|
|
426
420
|
npx @respira/wordpress-mcp-server --setup
|
|
427
421
|
```
|
|
428
422
|
|
|
429
|
-
This wizard will:
|
|
430
|
-
- Guide you through configuration step by step
|
|
431
|
-
- Validate your WordPress URL and API key
|
|
432
|
-
- Test your connection before saving
|
|
433
|
-
- Generate the config file automatically
|
|
434
|
-
- Show you what to add to your AI tool
|
|
435
|
-
|
|
436
423
|
### Global Install
|
|
437
424
|
```bash
|
|
438
425
|
npm install -g @respira/wordpress-mcp-server
|
|
@@ -441,14 +428,14 @@ respira-wordpress-mcp
|
|
|
441
428
|
|
|
442
429
|
### CLI Options
|
|
443
430
|
```bash
|
|
444
|
-
npx @respira/wordpress-mcp-server --setup #
|
|
431
|
+
npx @respira/wordpress-mcp-server --setup # Setup wizard
|
|
445
432
|
npx @respira/wordpress-mcp-server --list # List configured sites
|
|
446
|
-
npx @respira/wordpress-mcp-server --test # Test
|
|
447
|
-
npx @respira/wordpress-mcp-server --stdio # STDIO transport (
|
|
448
|
-
npx @respira/wordpress-mcp-server --help #
|
|
433
|
+
npx @respira/wordpress-mcp-server --test # Test connection
|
|
434
|
+
npx @respira/wordpress-mcp-server --stdio # STDIO transport (MCP Adapter)
|
|
435
|
+
npx @respira/wordpress-mcp-server --help # Help
|
|
449
436
|
```
|
|
450
437
|
|
|
451
|
-
### Environment Variables
|
|
438
|
+
### Environment Variables
|
|
452
439
|
```bash
|
|
453
440
|
export WP_SITE_URL=https://your-site.com
|
|
454
441
|
export WP_API_KEY=respira_your-api-key
|
|
@@ -456,17 +443,47 @@ export WP_API_KEY=respira_your-api-key
|
|
|
456
443
|
|
|
457
444
|
---
|
|
458
445
|
|
|
459
|
-
##
|
|
446
|
+
## Troubleshooting
|
|
460
447
|
|
|
461
|
-
|
|
448
|
+
<details>
|
|
449
|
+
<summary><b>Windows: 'npx' not recognized</b></summary>
|
|
450
|
+
|
|
451
|
+
Use the full path:
|
|
452
|
+
```json
|
|
453
|
+
{ "command": "C:\\Program Files\\nodejs\\npx.cmd", "args": ["-y", "@respira/wordpress-mcp-server"] }
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
Or install globally: `npm install -g @respira/wordpress-mcp-server` then use `{ "command": "respira-wordpress-mcp" }`.
|
|
462
457
|
|
|
463
|
-
|
|
458
|
+
</details>
|
|
459
|
+
|
|
460
|
+
<details>
|
|
461
|
+
<summary><b>Connection failed</b></summary>
|
|
462
|
+
|
|
463
|
+
1. Check API key: WordPress > Respira > API Keys
|
|
464
|
+
2. URL must include `https://`
|
|
465
|
+
3. Plugin must be activated
|
|
466
|
+
4. Check if hosting blocks REST API
|
|
467
|
+
|
|
468
|
+
</details>
|
|
469
|
+
|
|
470
|
+
<details>
|
|
471
|
+
<summary><b>Tools not showing</b></summary>
|
|
472
|
+
|
|
473
|
+
1. Restart your AI tool completely
|
|
474
|
+
2. Validate JSON syntax in config file
|
|
475
|
+
3. Check config file location
|
|
476
|
+
4. Run `npx @respira/wordpress-mcp-server --test` to verify
|
|
477
|
+
|
|
478
|
+
</details>
|
|
464
479
|
|
|
465
480
|
---
|
|
466
481
|
|
|
467
|
-
##
|
|
482
|
+
## Security
|
|
483
|
+
|
|
484
|
+
API key validation happens server-side in the WordPress plugin. The MCP server passes credentials but does not store or validate them.
|
|
468
485
|
|
|
469
|
-
|
|
486
|
+
Report vulnerabilities to security@respira.press.
|
|
470
487
|
|
|
471
488
|
---
|
|
472
489
|
|
|
@@ -474,7 +491,8 @@ See [CONTRIBUTING.md](.github/CONTRIBUTING.md) for how to add builder support, n
|
|
|
474
491
|
|
|
475
492
|
- [Website](https://respira.press)
|
|
476
493
|
- [Documentation](https://respira.press/docs)
|
|
477
|
-
- [Download Plugin](https://respira.press/
|
|
494
|
+
- [Download Plugin](https://respira.press/plugin)
|
|
495
|
+
- [WooCommerce Add-on](https://respira.press/addons/woocommerce)
|
|
478
496
|
- [Support](https://respira.press/support)
|
|
479
497
|
|
|
480
498
|
---
|
|
@@ -486,6 +504,6 @@ MIT © [Respira](https://respira.press)
|
|
|
486
504
|
---
|
|
487
505
|
|
|
488
506
|
<p align="center">
|
|
489
|
-
<strong>
|
|
490
|
-
|
|
507
|
+
<strong>147 tools. 11 builders. The AI infrastructure layer for WordPress.</strong><br>
|
|
508
|
+
<a href="https://respira.press">respira.press</a>
|
|
491
509
|
</p>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@respira/wordpress-mcp-server",
|
|
3
|
-
"version": "5.2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "5.2.1",
|
|
4
|
+
"description": "147 MCP tools for WordPress. Element-level editing, full page creation, HTML-to-builder conversion, stock images, bulk operations, 27 widget shortcuts. Native support for 11 page builders: Elementor, Divi 5, Beaver Builder, Bricks, Gutenberg, Oxygen, WPBakery, Breakdance, Brizy, Thrive, Visual Composer. All tools use respira_* names. wordpress_* aliases deprecated, removed in v6.0.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"wordpress-mcp-server": "./dist/index.js",
|
|
@@ -91,7 +91,18 @@
|
|
|
91
91
|
"ecommerce",
|
|
92
92
|
"inventory-management",
|
|
93
93
|
"order-management",
|
|
94
|
-
"product-management"
|
|
94
|
+
"product-management",
|
|
95
|
+
"html-to-builder",
|
|
96
|
+
"element-ops",
|
|
97
|
+
"stock-images",
|
|
98
|
+
"openverse",
|
|
99
|
+
"bulk-operations",
|
|
100
|
+
"widget-shortcuts",
|
|
101
|
+
"build-page",
|
|
102
|
+
"snapshot",
|
|
103
|
+
"rollback",
|
|
104
|
+
"breakdance",
|
|
105
|
+
"breakdance-ai"
|
|
95
106
|
],
|
|
96
107
|
"author": {
|
|
97
108
|
"name": "Respira",
|