@respira/wordpress-mcp-server 8.3.20 → 8.3.21
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 +20 -0
- package/README.md +3 -2
- package/TOOL_CATALOG.md +2 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +26 -1
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
- package/tool-capabilities.json +16 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,26 @@ 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.21] - 2026-09-11
|
|
9
|
+
|
|
10
|
+
A share link that lives as long as you need.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **`wordpress_create_share_link`.** Mints a share-grade preview link for any page, post,
|
|
15
|
+
draft or Respira duplicate, valid 1 to 90 days (14 by default), with no write. Until now
|
|
16
|
+
a long-lived link only came with a staged change, so for an existing draft the one link an
|
|
17
|
+
agent could mint was the dashboard's 15-minute design preview, and that is what got quoted
|
|
18
|
+
to people. Needs plugin 8.8.33 or later on the site.
|
|
19
|
+
- **`ttl_days` on `wordpress_mint_design_preview`.** The same token, minted for days instead
|
|
20
|
+
of minutes when a person will open it.
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- Both tool descriptions now say what the link is for: put it in the reply with its expiry
|
|
25
|
+
and suggest sending it to the client or whoever signs off. The site's own MCP instructions
|
|
26
|
+
say the same on every staged write.
|
|
27
|
+
|
|
8
28
|
## [8.3.20] - 2026-09-09
|
|
9
29
|
|
|
10
30
|
### Fixed
|
package/README.md
CHANGED
|
@@ -398,7 +398,7 @@ These are Respira-native WordPress operations, not a copied generic tool catalog
|
|
|
398
398
|
| `wordpress_update_site_navigation` | Target one link/submenu while preserving unknown extension blocks |
|
|
399
399
|
| `wordpress_delete_site_navigation` | Delete through approval; referenced navigation is refused by default |
|
|
400
400
|
|
|
401
|
-
### Design Direction (
|
|
401
|
+
### Design Direction (13 tools)
|
|
402
402
|
|
|
403
403
|
One saved design direction per site — identity, DTCG-subset tokens, dials, guidance, waivers — that agents read before building anything. Readiness is computed on every response: `ready` needs the bg + ink + accent color roles plus a heading/body font pair, and activation refuses a direction that is not ready. The direction document is site data, not instructions.
|
|
404
404
|
|
|
@@ -418,7 +418,8 @@ The design check closes the loop: `wordpress_check_design` runs deterministic sl
|
|
|
418
418
|
| `wordpress_apply_design_direction` | Push the direction's tokens into the resolved builder's native store through approval; snapshot first, per-builder report persisted |
|
|
419
419
|
| `wordpress_export_design_direction` | Export strict DTCG 2025.10 with roles + per-builder apply reports in `$extensions["press.respira"]` |
|
|
420
420
|
| `wordpress_check_design` | Design check: deterministic slop-and-drift rules, plus `rendered: true` (plugin 8.6.20+) for contrast, structure and painted colors on the real page, screenshots attached |
|
|
421
|
-
| `wordpress_mint_design_preview` | Mint a
|
|
421
|
+
| `wordpress_mint_design_preview` | Mint a signed preview URL (plugin 8.6.22+) that renders the real page, drafts and duplicates included, frameable by the respira.press dashboard only; 15 minutes, or `ttl_days` (1 to 90) for a link a person will open; stores nothing |
|
|
422
|
+
| `wordpress_create_share_link` | Create a share link (plugin 8.8.33+) for any page, draft or duplicate: opens with no WordPress login for `ttl_days` (1 to 90, default 14), no write; send it to the client or whoever signs off |
|
|
422
423
|
| `wordpress_get_design_apply_reports` | Read the stored per-builder apply reports for a direction: what apply actually wrote, straight from the site |
|
|
423
424
|
|
|
424
425
|
### Bricks Deep Intelligence (20 tools)
|
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: **194 core tools**, **105 WooCommerce tools**, **299 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
|
|
|
@@ -44,6 +44,7 @@ The runtime applies site context and per-site governance, so an individual conne
|
|
|
44
44
|
- `wordpress_create_playbook` — write; hosted/stdio
|
|
45
45
|
- `wordpress_create_post_duplicate` — write; native + hosted
|
|
46
46
|
- `wordpress_create_post_type` — write; native + hosted
|
|
47
|
+
- `wordpress_create_share_link` — write; native + hosted
|
|
47
48
|
- `wordpress_create_site_navigation` — write; native + hosted
|
|
48
49
|
- `wordpress_create_site_pattern` — write; native + hosted
|
|
49
50
|
- `wordpress_create_site_template` — write; native + hosted
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,kBAAkB,CAAC;AAwCzE,MAAM,MAAM,eAAe,GAAG;IAC5B,0EAA0E;IAC1E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAkBf;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,eAAe,CAUjB;AAiFD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,MAAM,CAoBhF;AA0LD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,aAkB3B,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,aAW3B,CAAC;AAEH,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAIhD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAIvE;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAChD,8EAA8E;IAC9E,OAAO,CAAC,YAAY,CAA4B;IAChD,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB,CAAS;IACpC,iFAAiF;IACjF,OAAO,CAAC,iBAAiB,CAAK;IAC9B;;;OAGG;IACH,OAAO,CAAC,qBAAqB,CAMK;IAClC,iFAAiF;IACjF,OAAO,CAAC,mBAAmB,CAAgC;IAC3D;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAE5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEhE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;gBA4Bb,WAAW,EAAE,mBAAmB,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE;IAgWvE,OAAO,CAAC,cAAc;IAItB;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IAiCrB,gEAAgE;IAChE,OAAO,CAAC,aAAa;IAUrB;;;;;;OAMG;YACW,UAAU;IA2CxB;;;;;;;;;;;;;;OAcG;YACW,WAAW;IAyJzB;;;;;;;;;OASG;YACW,kBAAkB;IA4PhC;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IAgE7B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;YACW,qBAAqB;IAkBnC;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;YAiCnB,kBAAkB;IAwGhC,yFAAyF;IACzF,OAAO,CAAC,gBAAgB;IASxB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,6BAA6B;IA6CrC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,yBAAyB;IA+BjC,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,aAAa;YAgUP,kBAAkB;YAsClB,yBAAyB;IASvC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;YAyBd,QAAQ;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -4333,7 +4333,7 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
4333
4333
|
},
|
|
4334
4334
|
{
|
|
4335
4335
|
name: 'wordpress_mint_design_preview',
|
|
4336
|
-
description: 'Mint a
|
|
4336
|
+
description: 'Mint a signed preview URL for one post or the front page (omit post_id). Draft and Respira-duplicate ids are allowed — that is the point: the respira.press dashboard iframes the REAL rendered page and refreshes it after every write, and this token is what makes that possible. Without ttl_days the url lives 15 minutes and renders with frame headers lifted for the respira.press dashboard origins ONLY, caching bypassed, and (for an unpublished post) the page visible the way WP preview shows it to an editor — only that one id, never anything else. For a link a person will open, pass ttl_days (1 to 90) or use wordpress_create_share_link. Password-protected posts still ask for their password. Mints a capability but stores nothing on the site: no option, no meta, no DB row. Response: { url, expires_at }; 404 when the post id is unknown.',
|
|
4337
4337
|
inputSchema: {
|
|
4338
4338
|
type: 'object',
|
|
4339
4339
|
properties: {
|
|
@@ -4341,6 +4341,10 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
4341
4341
|
type: 'number',
|
|
4342
4342
|
description: 'Optional post/page id; omit for the front page. Drafts and Respira duplicates are allowed.',
|
|
4343
4343
|
},
|
|
4344
|
+
ttl_days: {
|
|
4345
|
+
type: 'number',
|
|
4346
|
+
description: 'Optional lifetime in days, 1 to 90. Set it when a person will open the link; leave it out for the dashboard frame.',
|
|
4347
|
+
},
|
|
4344
4348
|
},
|
|
4345
4349
|
},
|
|
4346
4350
|
annotations: {
|
|
@@ -4351,6 +4355,25 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
4351
4355
|
openWorldHint: false,
|
|
4352
4356
|
},
|
|
4353
4357
|
},
|
|
4358
|
+
{
|
|
4359
|
+
name: 'wordpress_create_share_link',
|
|
4360
|
+
description: 'Create a share link for a page, post, draft or Respira duplicate (plugin 8.8.33+): a signed URL that opens the page as it is now, with no WordPress login, on any device, for ttl_days (1 to 90, default 14). Nothing is written, and the link can be minted at any time for any existing post. Offer this whenever work has landed on a duplicate or draft and someone other than the person you are talking to has to see it: a client, a colleague, whoever signs off. Put the link and its expiry in your answer and suggest sending it to them; the response message already says this in words. Response: { url, expires_at, post_id, post_title, post_status, message }.',
|
|
4361
|
+
inputSchema: {
|
|
4362
|
+
type: 'object',
|
|
4363
|
+
properties: {
|
|
4364
|
+
post_id: { type: 'number', description: 'The page, post, draft or duplicate id the link should open.' },
|
|
4365
|
+
ttl_days: { type: 'number', description: 'How many days the link stays valid, 1 to 90. Default 14.' },
|
|
4366
|
+
},
|
|
4367
|
+
required: ['post_id'],
|
|
4368
|
+
},
|
|
4369
|
+
annotations: {
|
|
4370
|
+
title: "Create Share Link",
|
|
4371
|
+
readOnlyHint: true,
|
|
4372
|
+
destructiveHint: false,
|
|
4373
|
+
idempotentHint: true,
|
|
4374
|
+
openWorldHint: false,
|
|
4375
|
+
},
|
|
4376
|
+
},
|
|
4354
4377
|
{
|
|
4355
4378
|
name: 'wordpress_get_design_apply_reports',
|
|
4356
4379
|
description: 'Read the per-builder apply reports stored on a design direction ({direction_id}, or the ACTIVE direction when omitted): exactly what wordpress_apply_design_direction wrote per builder — tokens_mapped, mapped slugs/css vars, skipped_existing, skipped_unclassifiable, store, snapshot_id, applied_at. Served straight from the stored reports with no recomputation; reports is an empty array when the direction has never been applied. 404 when direction_id names a direction that does not exist, or when nothing is active and direction_id is omitted.',
|
|
@@ -10317,6 +10340,8 @@ Allowlist: css, scss, less, json. PHP / JS theme writes are intentionally out of
|
|
|
10317
10340
|
return await client.callRestV2('POST', '/design-direction/check', args);
|
|
10318
10341
|
case 'wordpress_mint_design_preview':
|
|
10319
10342
|
return await client.callRestV2('POST', '/design-direction/preview-token', args);
|
|
10343
|
+
case 'wordpress_create_share_link':
|
|
10344
|
+
return await client.callRestV2('POST', '/preview/share-link', args);
|
|
10320
10345
|
case 'wordpress_get_design_apply_reports':
|
|
10321
10346
|
return await client.callRestV2('GET', '/design-direction/apply-reports', args.direction_id !== undefined ? { direction_id: args.direction_id } : undefined);
|
|
10322
10347
|
case 'wordpress_apply_builder_patch':
|