@respira/wordpress-mcp-server 2.0.4 → 2.0.5
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 +155 -95
- package/dist/server.js +1 -1
- package/package.json +15 -4
package/README.md
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
<h1 align="center"
|
|
7
|
+
<h1 align="center">Respira WordPress MCP Server</h1>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<strong>
|
|
11
|
-
|
|
10
|
+
<strong>The only WordPress MCP with page builder support.</strong><br>
|
|
11
|
+
Edit Divi, Elementor, Bricks + 7 more builders with AI. Duplicate-before-edit safety. SEO analysis. 60+ tools.
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
14
|
<p align="center">
|
|
@@ -27,17 +27,47 @@
|
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## Why Respira?
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Most WordPress MCP servers only work with Gutenberg. **Respira is the only MCP that supports real page builders** — the tools that power 50%+ of WordPress sites.
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
### Feature Comparison
|
|
35
|
+
|
|
36
|
+
| Feature | Respira | mcp-wordpress | wordpress-mcp |
|
|
37
|
+
|---------|---------|---------------|---------------|
|
|
38
|
+
| **Divi Builder** (200+ modules) | ✅ | ❌ | ❌ |
|
|
39
|
+
| **Elementor** (widgets, templates) | ✅ | ❌ | ❌ |
|
|
40
|
+
| **Bricks Builder** | ✅ | ❌ | ❌ |
|
|
41
|
+
| **Oxygen Builder** | ✅ | ❌ | ❌ |
|
|
42
|
+
| **WPBakery / Visual Composer** | ✅ | ❌ | ❌ |
|
|
43
|
+
| **Beaver Builder** | ✅ | ❌ | ❌ |
|
|
44
|
+
| **Thrive Architect** | ✅ | ❌ | ❌ |
|
|
45
|
+
| **Brizy** | ✅ | ❌ | ❌ |
|
|
46
|
+
| Gutenberg (Block Editor) | ✅ | ✅ | ✅ |
|
|
47
|
+
| Duplicate-before-edit safety | ✅ | ❌ | ❌ |
|
|
48
|
+
| SEO analysis tools | ✅ | ❌ | ❌ |
|
|
49
|
+
| Performance / Core Web Vitals | ✅ | ❌ | ❌ |
|
|
50
|
+
| AI Engine Optimization (AEO) | ✅ | ❌ | ❌ |
|
|
51
|
+
| Menu management (full CRUD) | ✅ | ❌ | Limited |
|
|
52
|
+
| Media upload & management | ✅ | ✅ | ✅ |
|
|
53
|
+
| WPML multilingual support | ✅ | ❌ | ❌ |
|
|
54
|
+
| Multi-site switching | ✅ | ❌ | ❌ |
|
|
55
|
+
| Plugin management | ✅ | ❌ | ❌ |
|
|
56
|
+
| **Total tools** | **60+** | ~15 | ~20 |
|
|
57
|
+
|
|
58
|
+
### What Makes Respira Different
|
|
59
|
+
|
|
60
|
+
1. **Page Builder Intelligence** — AI understands Divi sections, Elementor widgets, Bricks elements. Not just raw HTML.
|
|
61
|
+
|
|
62
|
+
2. **Duplicate-Before-Edit Safety** — Respira creates a duplicate before editing any live page. Review changes in WordPress admin before they go live. Your production site is never touched until you approve.
|
|
63
|
+
|
|
64
|
+
3. **SEO & Performance Analysis** — Built-in tools for comprehensive SEO audits, Core Web Vitals, and AI Engine Optimization (AEO) for ChatGPT/Perplexity visibility.
|
|
65
|
+
|
|
66
|
+
4. **Module-Level Precision** — Update a specific Divi module or Elementor widget by its admin label or path, without touching the rest of the page.
|
|
37
67
|
|
|
38
68
|
---
|
|
39
69
|
|
|
40
|
-
##
|
|
70
|
+
## Quick Start (2 Minutes)
|
|
41
71
|
|
|
42
72
|
### Step 1: Install the WordPress Plugin
|
|
43
73
|
|
|
@@ -49,7 +79,7 @@ Respira lets you **edit WordPress sites using AI coding assistants** like Cursor
|
|
|
49
79
|
### Step 2: Configure Your AI Assistant
|
|
50
80
|
|
|
51
81
|
<details>
|
|
52
|
-
<summary><b
|
|
82
|
+
<summary><b>Cursor</b></summary>
|
|
53
83
|
|
|
54
84
|
Create or edit `.cursor/mcp.json` in your project:
|
|
55
85
|
|
|
@@ -67,7 +97,7 @@ Create or edit `.cursor/mcp.json` in your project:
|
|
|
67
97
|
</details>
|
|
68
98
|
|
|
69
99
|
<details>
|
|
70
|
-
<summary><b
|
|
100
|
+
<summary><b>Claude Code</b></summary>
|
|
71
101
|
|
|
72
102
|
Add to your Claude Code config (`~/.claude.json` or project settings):
|
|
73
103
|
|
|
@@ -85,7 +115,7 @@ Add to your Claude Code config (`~/.claude.json` or project settings):
|
|
|
85
115
|
</details>
|
|
86
116
|
|
|
87
117
|
<details>
|
|
88
|
-
<summary><b
|
|
118
|
+
<summary><b>Windsurf</b></summary>
|
|
89
119
|
|
|
90
120
|
Add to your Windsurf MCP configuration:
|
|
91
121
|
|
|
@@ -103,7 +133,7 @@ Add to your Windsurf MCP configuration:
|
|
|
103
133
|
</details>
|
|
104
134
|
|
|
105
135
|
<details>
|
|
106
|
-
<summary><b
|
|
136
|
+
<summary><b>Claude Desktop</b></summary>
|
|
107
137
|
|
|
108
138
|
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
|
|
109
139
|
|
|
@@ -138,71 +168,70 @@ Create `~/.respira/config.json`:
|
|
|
138
168
|
}
|
|
139
169
|
```
|
|
140
170
|
|
|
141
|
-
**That's it!** Restart your AI assistant and start
|
|
171
|
+
**That's it!** Restart your AI assistant and start editing.
|
|
142
172
|
|
|
143
173
|
---
|
|
144
174
|
|
|
145
|
-
##
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
175
|
+
## Page Builder Support
|
|
176
|
+
|
|
177
|
+
### Divi Builder
|
|
178
|
+
- 200+ module types supported
|
|
179
|
+
- Section, row, and module-level editing
|
|
180
|
+
- Update by admin label: `"Find the module labeled 'Hero CTA' and change the button text"`
|
|
181
|
+
- Preserves all Divi styling and settings
|
|
182
|
+
|
|
183
|
+
### Elementor
|
|
184
|
+
- Widget-level precision editing
|
|
185
|
+
- Template and section support
|
|
186
|
+
- CSS cache regeneration after updates
|
|
187
|
+
- Compatible with Elementor Pro
|
|
188
|
+
|
|
189
|
+
### Other Builders
|
|
190
|
+
- **Bricks** — Elements and containers
|
|
191
|
+
- **Oxygen** — Components and templates
|
|
192
|
+
- **WPBakery** — Shortcode-based editing
|
|
193
|
+
- **Beaver Builder** — Modules and rows
|
|
194
|
+
- **Thrive Architect** — Elements and templates
|
|
195
|
+
- **Brizy** — Blocks and elements
|
|
196
|
+
- **Visual Composer** — Elements and grids
|
|
165
197
|
|
|
166
|
-
|
|
167
|
-
2. Click **Advanced** tab → **Environment Variables**
|
|
168
|
-
3. Under **System variables**, find **Path** and click **Edit**
|
|
169
|
-
4. Click **New** and add: `C:\Program Files\nodejs\`
|
|
170
|
-
5. Click **OK** on all dialogs
|
|
171
|
-
6. **Restart your AI assistant completely**
|
|
198
|
+
---
|
|
172
199
|
|
|
173
|
-
|
|
200
|
+
## Safe Editing Workflow
|
|
174
201
|
|
|
175
|
-
|
|
176
|
-
npm install -g @respira/wordpress-mcp-server
|
|
177
|
-
```
|
|
202
|
+
Respira never edits your live pages directly:
|
|
178
203
|
|
|
179
|
-
|
|
204
|
+
1. AI requests a page update
|
|
205
|
+
2. Respira **creates a duplicate** of the page
|
|
206
|
+
3. AI edits the duplicate
|
|
207
|
+
4. You **review changes** in WordPress admin
|
|
208
|
+
5. One-click to approve and replace the original
|
|
180
209
|
|
|
181
|
-
|
|
182
|
-
{
|
|
183
|
-
"mcpServers": {
|
|
184
|
-
"respira-wordpress": {
|
|
185
|
-
"command": "respira-wordpress-mcp"
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
```
|
|
210
|
+
Go to **Respira → Approve Edits** to review pending changes.
|
|
190
211
|
|
|
191
212
|
---
|
|
192
213
|
|
|
193
|
-
##
|
|
214
|
+
## Available Tools (60+)
|
|
194
215
|
|
|
195
216
|
### Content Management
|
|
196
217
|
| Tool | Description |
|
|
197
218
|
|------|-------------|
|
|
198
219
|
| `wordpress_list_pages` | List all pages |
|
|
199
220
|
| `wordpress_read_page` | Get page content with builder data |
|
|
200
|
-
| `wordpress_update_page` | Update page
|
|
201
|
-
| `wordpress_create_page_duplicate` |
|
|
221
|
+
| `wordpress_update_page` | Update page (auto-creates duplicate) |
|
|
222
|
+
| `wordpress_create_page_duplicate` | Manually create safe duplicate |
|
|
202
223
|
| `wordpress_list_posts` | List all posts |
|
|
203
224
|
| `wordpress_read_post` | Get post content |
|
|
204
225
|
| `wordpress_update_post` | Update post content |
|
|
205
226
|
|
|
227
|
+
### Page Builders
|
|
228
|
+
| Tool | Description |
|
|
229
|
+
|------|-------------|
|
|
230
|
+
| `wordpress_get_builder_info` | Get available modules/widgets for detected builder |
|
|
231
|
+
| `wordpress_extract_builder_content` | Extract structured content (sections, rows, modules) |
|
|
232
|
+
| `wordpress_inject_builder_content` | Inject structured builder content |
|
|
233
|
+
| `wordpress_update_module` | Update specific module by admin_label or path |
|
|
234
|
+
|
|
206
235
|
### Media Management
|
|
207
236
|
| Tool | Description |
|
|
208
237
|
|------|-------------|
|
|
@@ -217,36 +246,41 @@ Then use this config:
|
|
|
217
246
|
| `wordpress_list_menus` | List all navigation menus |
|
|
218
247
|
| `wordpress_get_menu` | Get menu with all items |
|
|
219
248
|
| `wordpress_create_menu` | Create new menu |
|
|
220
|
-
| `wordpress_update_menu` | Update menu |
|
|
249
|
+
| `wordpress_update_menu` | Update menu structure |
|
|
221
250
|
| `wordpress_list_menu_locations` | List theme menu locations |
|
|
222
251
|
| `wordpress_assign_menu_location` | Assign menu to location |
|
|
223
252
|
| `wordpress_create_menu_item` | Add menu item |
|
|
224
253
|
| `wordpress_update_menu_item` | Update menu item |
|
|
225
254
|
|
|
226
|
-
### Page Builders
|
|
227
|
-
| Tool | Description |
|
|
228
|
-
|------|-------------|
|
|
229
|
-
| `wordpress_get_builder_info` | Get available modules/widgets |
|
|
230
|
-
| `wordpress_extract_builder_content` | Extract structured content |
|
|
231
|
-
| `wordpress_inject_builder_content` | Inject builder content |
|
|
232
|
-
| `wordpress_update_module` | Update specific module |
|
|
233
|
-
|
|
234
255
|
### SEO & Performance
|
|
235
256
|
| Tool | Description |
|
|
236
257
|
|------|-------------|
|
|
237
|
-
| `wordpress_analyze_seo` | Comprehensive SEO analysis |
|
|
238
|
-
| `
|
|
258
|
+
| `wordpress_analyze_seo` | Comprehensive SEO analysis with recommendations |
|
|
259
|
+
| `wordpress_check_seo_issues` | Quick SEO issue checker |
|
|
260
|
+
| `wordpress_analyze_performance` | Performance metrics and bottlenecks |
|
|
239
261
|
| `wordpress_get_core_web_vitals` | LCP, FID, CLS scores |
|
|
240
|
-
| `wordpress_analyze_aeo` | AI search engine optimization |
|
|
262
|
+
| `wordpress_analyze_aeo` | AI search engine optimization (ChatGPT, Perplexity) |
|
|
263
|
+
| `wordpress_check_structured_data` | Schema markup validation |
|
|
264
|
+
| `wordpress_analyze_images` | Image optimization opportunities |
|
|
265
|
+
| `wordpress_analyze_readability` | Content readability scores |
|
|
241
266
|
|
|
242
|
-
### Users
|
|
267
|
+
### Users & Comments
|
|
243
268
|
| Tool | Description |
|
|
244
269
|
|------|-------------|
|
|
245
270
|
| `wordpress_list_users` | List all users |
|
|
246
271
|
| `wordpress_create_user` | Create new user |
|
|
272
|
+
| `wordpress_update_user` | Update user details |
|
|
247
273
|
| `wordpress_list_comments` | List comments |
|
|
248
|
-
| `
|
|
249
|
-
| `
|
|
274
|
+
| `wordpress_create_comment` | Create comment |
|
|
275
|
+
| `wordpress_update_comment` | Update/moderate comment |
|
|
276
|
+
|
|
277
|
+
### Taxonomies & Terms
|
|
278
|
+
| Tool | Description |
|
|
279
|
+
|------|-------------|
|
|
280
|
+
| `wordpress_list_taxonomies` | List all taxonomies |
|
|
281
|
+
| `wordpress_list_terms` | List terms in taxonomy |
|
|
282
|
+
| `wordpress_create_term` | Create category/tag/term |
|
|
283
|
+
| `wordpress_update_term` | Update term |
|
|
250
284
|
|
|
251
285
|
### Custom Post Types
|
|
252
286
|
| Tool | Description |
|
|
@@ -254,6 +288,7 @@ Then use this config:
|
|
|
254
288
|
| `wordpress_list_post_types` | List registered CPTs |
|
|
255
289
|
| `wordpress_list_custom_posts` | List CPT entries |
|
|
256
290
|
| `wordpress_create_custom_post` | Create CPT entry |
|
|
291
|
+
| `wordpress_update_custom_post` | Update CPT entry |
|
|
257
292
|
|
|
258
293
|
### Plugin Management (Experimental)
|
|
259
294
|
| Tool | Description |
|
|
@@ -261,23 +296,19 @@ Then use this config:
|
|
|
261
296
|
| `wordpress_list_plugins` | List installed plugins |
|
|
262
297
|
| `wordpress_install_plugin` | Install from WordPress.org |
|
|
263
298
|
| `wordpress_activate_plugin` | Activate plugin |
|
|
299
|
+
| `wordpress_deactivate_plugin` | Deactivate plugin |
|
|
264
300
|
| `wordpress_update_plugin` | Update to latest version |
|
|
265
301
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
1. **Your live site stays untouched** until you approve changes
|
|
273
|
-
2. **Preview changes** before they go live
|
|
274
|
-
3. **Easy rollback** if something goes wrong
|
|
275
|
-
|
|
276
|
-
Approve changes in WordPress admin: **Respira → Approve Edits**
|
|
302
|
+
### Site Context
|
|
303
|
+
| Tool | Description |
|
|
304
|
+
|------|-------------|
|
|
305
|
+
| `wordpress_get_site_context` | Get site info, theme, plugins, builders |
|
|
306
|
+
| `wordpress_get_theme_docs` | Get theme documentation |
|
|
307
|
+
| `wordpress_switch_site` | Switch to different site (multi-site) |
|
|
277
308
|
|
|
278
309
|
---
|
|
279
310
|
|
|
280
|
-
##
|
|
311
|
+
## Multi-Site Support
|
|
281
312
|
|
|
282
313
|
Manage multiple WordPress sites from one config:
|
|
283
314
|
|
|
@@ -305,7 +336,7 @@ Switch sites with: `wordpress_switch_site`
|
|
|
305
336
|
|
|
306
337
|
---
|
|
307
338
|
|
|
308
|
-
##
|
|
339
|
+
## WPML Multilingual Support
|
|
309
340
|
|
|
310
341
|
Full support for WPML multilingual sites:
|
|
311
342
|
- Menu translations
|
|
@@ -315,15 +346,44 @@ Full support for WPML multilingual sites:
|
|
|
315
346
|
|
|
316
347
|
---
|
|
317
348
|
|
|
318
|
-
##
|
|
349
|
+
## Windows Troubleshooting
|
|
350
|
+
|
|
351
|
+
If you see `'npx' is not recognized`:
|
|
352
|
+
|
|
353
|
+
### Option 1: Use Full Path (Recommended)
|
|
354
|
+
|
|
355
|
+
```json
|
|
356
|
+
{
|
|
357
|
+
"mcpServers": {
|
|
358
|
+
"respira-wordpress": {
|
|
359
|
+
"command": "C:\\Program Files\\nodejs\\npx.cmd",
|
|
360
|
+
"args": ["-y", "@respira/wordpress-mcp-server"]
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
```
|
|
319
365
|
|
|
320
|
-
###
|
|
366
|
+
### Option 2: Install Globally
|
|
321
367
|
|
|
322
368
|
```bash
|
|
323
369
|
npm install -g @respira/wordpress-mcp-server
|
|
324
370
|
```
|
|
325
371
|
|
|
326
|
-
|
|
372
|
+
Then use:
|
|
373
|
+
|
|
374
|
+
```json
|
|
375
|
+
{
|
|
376
|
+
"mcpServers": {
|
|
377
|
+
"respira-wordpress": {
|
|
378
|
+
"command": "respira-wordpress-mcp"
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## Environment Variables
|
|
327
387
|
|
|
328
388
|
Instead of config file, use `.env`:
|
|
329
389
|
|
|
@@ -334,22 +394,22 @@ WP_API_KEY=respira_your-api-key
|
|
|
334
394
|
|
|
335
395
|
---
|
|
336
396
|
|
|
337
|
-
##
|
|
397
|
+
## Need Help?
|
|
338
398
|
|
|
339
|
-
-
|
|
340
|
-
-
|
|
341
|
-
-
|
|
342
|
-
-
|
|
399
|
+
- [Documentation](https://respira.press/docs)
|
|
400
|
+
- [Support](https://respira.press/support)
|
|
401
|
+
- [Report Issues](https://github.com/webmyc/respira-wordpress/issues)
|
|
402
|
+
- [Contact](mailto:support@respira.press)
|
|
343
403
|
|
|
344
404
|
---
|
|
345
405
|
|
|
346
|
-
##
|
|
406
|
+
## License
|
|
347
407
|
|
|
348
408
|
MIT © [Respira](https://respira.press)
|
|
349
409
|
|
|
350
410
|
---
|
|
351
411
|
|
|
352
412
|
<p align="center">
|
|
353
|
-
<strong>Built
|
|
413
|
+
<strong>Built for the WordPress community</strong><br>
|
|
354
414
|
<a href="https://respira.press">respira.press</a>
|
|
355
415
|
</p>
|
package/dist/server.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@respira/wordpress-mcp-server",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.0.5",
|
|
4
|
+
"description": "The only WordPress MCP with page builder support. Edit Divi, Elementor, Bricks + 7 more builders with AI. Duplicate-before-edit safety. SEO analysis. 60+ tools.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"respira-wordpress-mcp": "./dist/index.js"
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
"wordpress-plugin",
|
|
34
34
|
"wordpress-development",
|
|
35
35
|
"wordpress-editing",
|
|
36
|
-
"
|
|
36
|
+
"wordpress-mcp-server",
|
|
37
|
+
"ai-wordpress",
|
|
37
38
|
"ai",
|
|
38
39
|
"ai-coding",
|
|
39
40
|
"ai-assistant",
|
|
@@ -44,16 +45,21 @@
|
|
|
44
45
|
"codeium",
|
|
45
46
|
"vibe-coding",
|
|
46
47
|
"page-builder",
|
|
48
|
+
"page-builder-ai",
|
|
47
49
|
"divi",
|
|
50
|
+
"divi-ai",
|
|
48
51
|
"elementor",
|
|
52
|
+
"elementor-ai",
|
|
49
53
|
"beaver-builder",
|
|
50
54
|
"visual-composer",
|
|
51
55
|
"oxygen",
|
|
52
56
|
"bricks",
|
|
57
|
+
"bricks-ai",
|
|
53
58
|
"brizy",
|
|
54
59
|
"thrive",
|
|
55
60
|
"wpbakery",
|
|
56
61
|
"gutenberg",
|
|
62
|
+
"gutenberg-ai",
|
|
57
63
|
"content-management",
|
|
58
64
|
"page-editing",
|
|
59
65
|
"module-updates",
|
|
@@ -65,7 +71,12 @@
|
|
|
65
71
|
"multilingual",
|
|
66
72
|
"menu-management",
|
|
67
73
|
"seo",
|
|
68
|
-
"core-web-vitals"
|
|
74
|
+
"core-web-vitals",
|
|
75
|
+
"safe-editing",
|
|
76
|
+
"duplicate-before-edit",
|
|
77
|
+
"seo-analysis",
|
|
78
|
+
"aeo",
|
|
79
|
+
"performance-analysis"
|
|
69
80
|
],
|
|
70
81
|
"author": {
|
|
71
82
|
"name": "Respira",
|