@respira/wordpress-mcp-server 8.3.16 → 8.3.17
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/CHANGELOG.md +8 -0
- package/README.md +4 -4
- package/TOOL_CATALOG.md +3 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +59 -0
- package/dist/server.js.map +1 -1
- package/dist/wordpress-client.d.ts +14 -0
- package/dist/wordpress-client.d.ts.map +1 -1
- package/dist/wordpress-client.js +15 -0
- package/dist/wordpress-client.js.map +1 -1
- package/package.json +2 -2
- package/tool-capabilities.json +42 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,14 @@ All notable changes to Respira WordPress MCP Server will be documented in this f
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [8.3.17] - 2026-08-30
|
|
9
|
+
|
|
10
|
+
The last open finding closes: the Divi Library, as tools.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **wordpress_save_divi_library_item and wordpress_apply_divi_library_item.** Save a page, one section of it, or a supplied structure as a real Divi Library item, then apply it to any page as a live-linked global reference: the page stores only the reference, Divi expands it at render, and editing the library item once updates every page that carries it. Repetition by referencing, not re-writing. Requires plugin 8.8.1, released alongside.
|
|
15
|
+
|
|
8
16
|
## [8.3.16] - 2026-08-29
|
|
9
17
|
|
|
10
18
|
The half-answer in 8.3.15 becomes a whole one.
|
package/README.md
CHANGED
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
<h1 align="center">Respira WordPress MCP Server</h1>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
<strong>
|
|
10
|
+
<strong>220 MCP tools, 325 with the WooCommerce add-on. 17 page builders and the native Site Editor. MCP 2026-07-28 with legacy-client support.</strong><br>
|
|
11
11
|
Element-level editing, full page creation, HTML-to-builder conversion with rendering fidelity validation, per-site tool governance, storefront design intelligence, stock images, bulk operations — all through one MCP server.
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
14
|
<p align="center">
|
|
15
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>
|
|
16
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>
|
|
17
|
-
<img src="https://img.shields.io/badge/tools-
|
|
17
|
+
<img src="https://img.shields.io/badge/tools-325-10b981?style=flat-square" alt="325 Tools with WooCommerce">
|
|
18
18
|
<img src="https://img.shields.io/badge/builders-17-10b981?style=flat-square" alt="17 Page Builders">
|
|
19
19
|
<img src="https://img.shields.io/badge/TypeScript-100%25-blue?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript">
|
|
20
20
|
</p>
|
|
@@ -247,7 +247,7 @@ Or run the interactive setup wizard: `npx @respira/wordpress-mcp-server --setup`
|
|
|
247
247
|
|
|
248
248
|
### Tool Limit? Use `enabledTools`
|
|
249
249
|
|
|
250
|
-
Some MCP clients (Antigravity, etc.) have a hard limit on active tools (often 100). Respira can expose up to
|
|
250
|
+
Some MCP clients (Antigravity, etc.) have a hard limit on active tools (often 100). Respira can expose up to 325 tools when the WooCommerce add-on is active. To stay under the limit, add `enabledTools` to your config — only those tools will appear in the listing:
|
|
251
251
|
|
|
252
252
|
```json
|
|
253
253
|
{
|
|
@@ -856,6 +856,6 @@ MIT © [Respira](https://respira.press)
|
|
|
856
856
|
---
|
|
857
857
|
|
|
858
858
|
<p align="center">
|
|
859
|
-
<strong>
|
|
859
|
+
<strong>220 core tools, 325 with WooCommerce. 17 builders. The AI infrastructure layer for WordPress.</strong><br>
|
|
860
860
|
<a href="https://respira.press">respira.press</a>
|
|
861
861
|
</p>
|
package/TOOL_CATALOG.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- Generated by scripts/check-tool-registry-parity.mjs. Do not edit by hand. -->
|
|
4
4
|
|
|
5
|
-
Generated catalog: **
|
|
5
|
+
Generated catalog: **193 core tools**, **105 WooCommerce tools**, **298 total**.
|
|
6
6
|
|
|
7
7
|
The runtime applies site context and per-site governance, so an individual connection may expose a smaller relevant subset.
|
|
8
8
|
|
|
@@ -23,6 +23,7 @@ The runtime applies site context and per-site governance, so an individual conne
|
|
|
23
23
|
- `wordpress_apply_accessibility_fixes` — write; hosted/stdio
|
|
24
24
|
- `wordpress_apply_builder_patch` — write; native + hosted
|
|
25
25
|
- `wordpress_apply_design_direction` — write; native + hosted
|
|
26
|
+
- `wordpress_apply_divi_library_item` — write; hosted/stdio
|
|
26
27
|
- `wordpress_assign_menu_location` — write; native + hosted
|
|
27
28
|
- `wordpress_batch_update` — write; native + hosted
|
|
28
29
|
- `wordpress_begin_session` — read; hosted/stdio
|
|
@@ -164,6 +165,7 @@ The runtime applies site context and per-site governance, so an individual conne
|
|
|
164
165
|
- `wordpress_run_pagespeed_audit` — read; hosted/stdio
|
|
165
166
|
- `wordpress_run_security_audit` — read; native + hosted
|
|
166
167
|
- `wordpress_save_design_direction` — write; native + hosted
|
|
168
|
+
- `wordpress_save_divi_library_item` — write; hosted/stdio
|
|
167
169
|
- `wordpress_scan_page_accessibility` — read; hosted/stdio
|
|
168
170
|
- `wordpress_search_abilities` — read; native + hosted
|
|
169
171
|
- `wordpress_search_docs` — read; hosted/stdio
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -2258,6 +2258,53 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
2258
2258
|
openWorldHint: false,
|
|
2259
2259
|
},
|
|
2260
2260
|
},
|
|
2261
|
+
{
|
|
2262
|
+
name: 'wordpress_save_divi_library_item',
|
|
2263
|
+
description: 'Save a page, ONE section of it (section_index), or a supplied node structure as a Divi Library item (et_pb_layout). ' +
|
|
2264
|
+
'The item gets full Divi identity (layout_type + scope terms, builder metas, VB marker) so the next person can edit it in Divi\'s own library UI. ' +
|
|
2265
|
+
'Returns layout_id plus the ready-to-paste global reference block. Requires plugin 8.8.1+.',
|
|
2266
|
+
inputSchema: {
|
|
2267
|
+
type: 'object',
|
|
2268
|
+
properties: {
|
|
2269
|
+
name: { type: 'string', description: 'Library item name.' },
|
|
2270
|
+
page_id: { type: 'number', description: 'Source page/post to save from.' },
|
|
2271
|
+
section_index: { type: 'number', description: 'Zero-based top-level block index to save just one section.' },
|
|
2272
|
+
structure: { description: 'Alternative to page_id: node array (or block markup string) to save.' },
|
|
2273
|
+
layout_type: { type: 'string', enum: ['layout', 'section', 'row', 'module'], description: 'Item kind, default section.' },
|
|
2274
|
+
global: { type: 'boolean', description: 'Global scope (live-linked when applied). Default true.' },
|
|
2275
|
+
category: { type: 'string', description: 'Optional layout_category term.' },
|
|
2276
|
+
},
|
|
2277
|
+
required: ['name'],
|
|
2278
|
+
},
|
|
2279
|
+
annotations: {
|
|
2280
|
+
title: 'Save Divi Library Item',
|
|
2281
|
+
readOnlyHint: false,
|
|
2282
|
+
destructiveHint: false,
|
|
2283
|
+
idempotentHint: false,
|
|
2284
|
+
openWorldHint: false,
|
|
2285
|
+
},
|
|
2286
|
+
},
|
|
2287
|
+
{
|
|
2288
|
+
name: 'wordpress_apply_divi_library_item',
|
|
2289
|
+
description: 'Apply a Divi Library item to a page as a LIVE-LINKED global reference: the page stores only `wp:divi/global-layout {"globalModule":"<id>"}` and Divi expands it at render, so editing the library item once updates every page that references it. ' +
|
|
2290
|
+
'The write rides the normal update path: duplicate-first safety, snapshots, and the share preview link all apply. Requires plugin 8.8.1+.',
|
|
2291
|
+
inputSchema: {
|
|
2292
|
+
type: 'object',
|
|
2293
|
+
properties: {
|
|
2294
|
+
layout_id: { type: 'number', description: 'Library item id (from wordpress_save_divi_library_item).' },
|
|
2295
|
+
id: { type: 'number', description: 'Target page/post id.' },
|
|
2296
|
+
position: { type: 'string', enum: ['append', 'prepend'], description: 'Where the reference lands, default append.' },
|
|
2297
|
+
},
|
|
2298
|
+
required: ['layout_id', 'id'],
|
|
2299
|
+
},
|
|
2300
|
+
annotations: {
|
|
2301
|
+
title: 'Apply Divi Library Item',
|
|
2302
|
+
readOnlyHint: false,
|
|
2303
|
+
destructiveHint: false,
|
|
2304
|
+
idempotentHint: false,
|
|
2305
|
+
openWorldHint: false,
|
|
2306
|
+
},
|
|
2307
|
+
},
|
|
2261
2308
|
{
|
|
2262
2309
|
name: 'wordpress_resolve_divi_preset',
|
|
2263
2310
|
description: 'Preview what a Divi 5 preset would apply: returns the resolved attribute groups for a `_presetId` without writing anything. ' +
|
|
@@ -9577,6 +9624,18 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
9577
9624
|
return await client.deleteDiviPreset(args.preset_id);
|
|
9578
9625
|
case 'wordpress_resolve_divi_preset':
|
|
9579
9626
|
return await client.resolveDiviPreset(args.preset_id, args.module_type);
|
|
9627
|
+
case 'wordpress_save_divi_library_item':
|
|
9628
|
+
return await client.saveDiviLibraryItem({
|
|
9629
|
+
name: args.name,
|
|
9630
|
+
page_id: args.page_id,
|
|
9631
|
+
section_index: args.section_index,
|
|
9632
|
+
structure: args.structure,
|
|
9633
|
+
layout_type: args.layout_type,
|
|
9634
|
+
global: args.global,
|
|
9635
|
+
category: args.category,
|
|
9636
|
+
});
|
|
9637
|
+
case 'wordpress_apply_divi_library_item':
|
|
9638
|
+
return await client.applyDiviLibraryItem(args.layout_id, args.id, args.position);
|
|
9580
9639
|
case 'wordpress_abilities_gap_report':
|
|
9581
9640
|
return await client.getAbilitiesGapReport();
|
|
9582
9641
|
case 'wordpress_search_abilities':
|