@wootsup/yt-builder-mcp 2.0.0 → 2.1.0
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 +16 -15
- package/bin/node-floor.js +50 -23
- package/dist/auth.js +4 -4
- package/dist/auth.js.map +1 -1
- package/dist/cli/invocation-decision.js +1 -1
- package/dist/cli/invocation-decision.js.map +1 -1
- package/dist/clients/claude-code.js +1 -1
- package/dist/clients/claude-code.js.map +1 -1
- package/dist/clients/claude-desktop.js +1 -1
- package/dist/clients/claude-desktop.js.map +1 -1
- package/dist/clients/cline.js +1 -1
- package/dist/clients/cline.js.map +1 -1
- package/dist/clients/codex-cli.d.ts.map +1 -1
- package/dist/clients/codex-cli.js +12 -10
- package/dist/clients/codex-cli.js.map +1 -1
- package/dist/clients/config-file.d.ts +15 -0
- package/dist/clients/config-file.d.ts.map +1 -0
- package/dist/clients/config-file.js +86 -0
- package/dist/clients/config-file.js.map +1 -0
- package/dist/clients/continue.d.ts.map +1 -1
- package/dist/clients/continue.js +3 -4
- package/dist/clients/continue.js.map +1 -1
- package/dist/clients/cursor.js +1 -1
- package/dist/clients/cursor.js.map +1 -1
- package/dist/clients/gemini-cli.js +1 -1
- package/dist/clients/gemini-cli.js.map +1 -1
- package/dist/clients/index.d.ts +2 -3
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +3 -41
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/roo-code.js +1 -1
- package/dist/clients/roo-code.js.map +1 -1
- package/dist/clients/zed.js +1 -1
- package/dist/clients/zed.js.map +1 -1
- package/dist/compat-floor.js +4 -4
- package/dist/compat-floor.js.map +1 -1
- package/dist/diagnostics/diagnose-network-error.js +1 -1
- package/dist/diagnostics/diagnose-network-error.js.map +1 -1
- package/dist/diagnostics/doctor.d.ts.map +1 -1
- package/dist/diagnostics/doctor.js +3 -3
- package/dist/diagnostics/doctor.js.map +1 -1
- package/dist/errors/hints.js +1 -1
- package/dist/errors/hints.js.map +1 -1
- package/dist/install-skill.d.ts.map +1 -1
- package/dist/install-skill.js +4 -3
- package/dist/install-skill.js.map +1 -1
- package/dist/product-name.d.ts +2 -0
- package/dist/product-name.d.ts.map +1 -0
- package/dist/product-name.js +2 -0
- package/dist/product-name.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -1
- package/dist/server.js.map +1 -1
- package/dist/setup/banner.d.ts.map +1 -1
- package/dist/setup/banner.js +2 -1
- package/dist/setup/banner.js.map +1 -1
- package/dist/setup/install-configs.d.ts.map +1 -1
- package/dist/setup/install-configs.js +26 -1
- package/dist/setup/install-configs.js.map +1 -1
- package/dist/setup/phases.js +3 -3
- package/dist/setup/phases.js.map +1 -1
- package/dist/setup-cli.js +4 -4
- package/dist/setup-prompts.js +1 -1
- package/dist/setup-prompts.js.map +1 -1
- package/dist/setup-wizard-defaults.d.ts +2 -1
- package/dist/setup-wizard-defaults.d.ts.map +1 -1
- package/dist/setup-wizard-defaults.js +28 -18
- package/dist/setup-wizard-defaults.js.map +1 -1
- package/dist/setup-wizard-types.d.ts +2 -8
- package/dist/setup-wizard-types.d.ts.map +1 -1
- package/dist/setup-wizard-write-types.d.ts +19 -0
- package/dist/setup-wizard-write-types.d.ts.map +1 -0
- package/dist/setup-wizard-write-types.js +2 -0
- package/dist/setup-wizard-write-types.js.map +1 -0
- package/dist/sites/tools/sites-test.d.ts.map +1 -1
- package/dist/sites/tools/sites-test.js +2 -1
- package/dist/sites/tools/sites-test.js.map +1 -1
- package/dist/sites/tools/use-site.d.ts.map +1 -1
- package/dist/sites/tools/use-site.js +2 -1
- package/dist/sites/tools/use-site.js.map +1 -1
- package/dist/skill-instructions.d.ts.map +1 -1
- package/dist/skill-instructions.js +3 -2
- package/dist/skill-instructions.js.map +1 -1
- package/dist/skill-loader.d.ts +1 -1
- package/dist/skill-loader.d.ts.map +1 -1
- package/dist/skill-loader.js +2 -1
- package/dist/skill-loader.js.map +1 -1
- package/dist/tools/format/health-format.d.ts.map +1 -1
- package/dist/tools/format/health-format.js +4 -3
- package/dist/tools/format/health-format.js.map +1 -1
- package/dist/tools/health-output-schemas.d.ts +2 -0
- package/dist/tools/health-output-schemas.d.ts.map +1 -1
- package/dist/tools/health-output-schemas.js +2 -0
- package/dist/tools/health-output-schemas.js.map +1 -1
- package/dist/tools/health.js +1 -1
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/library.js +1 -1
- package/dist/tools/library.js.map +1 -1
- package/dist/tools/pool-resolve-helper.js +2 -2
- package/dist/tools/pool-resolve-helper.js.map +1 -1
- package/dist/uninstall-skill.d.ts.map +1 -1
- package/dist/uninstall-skill.js +3 -1
- package/dist/uninstall-skill.js.map +1 -1
- package/manifest.json +5 -9
- package/package.json +5 -10
- package/skills/yt-builder-mcp/SKILL.md +20 -20
package/package.json
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wootsup/yt-builder-mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "MCP for YOOtheme Pro — drive your page builder from Claude, Cursor, Codex, Gemini and 5 other MCP-capable AI assistants. Built for YOOtheme Pro 4.0+. Independent third-party project, not affiliated with YOOtheme GmbH.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "WootsUp <hello@wootsup.com>",
|
|
8
8
|
"homepage": "https://wootsup.com",
|
|
9
|
-
"
|
|
10
|
-
"type": "git",
|
|
11
|
-
"url": "git+https://github.com/wootsup/yt-builder-mcp.git",
|
|
12
|
-
"directory": "packages/mcp"
|
|
13
|
-
},
|
|
14
|
-
"bugs": "https://github.com/wootsup/yt-builder-mcp/issues",
|
|
9
|
+
"bugs": "https://wootsup.com/contact/",
|
|
15
10
|
"keywords": [
|
|
16
11
|
"mcp",
|
|
17
12
|
"model-context-protocol",
|
|
@@ -45,10 +40,10 @@
|
|
|
45
40
|
"access": "public"
|
|
46
41
|
},
|
|
47
42
|
"engines": {
|
|
48
|
-
"node": ">=
|
|
43
|
+
"node": ">=22.15.0"
|
|
49
44
|
},
|
|
50
45
|
"scripts": {
|
|
51
|
-
"prepublishOnly": "node -e \"if (process.env.RELEASE_PHP_PUBLISH !== '1') { console.error('Manual npm publish is no longer supported. Use: php scripts/release.php release yt-builder-mcp <bump> followed by php scripts/release.php push-tag yt-builder-mcp <version>, which triggers the
|
|
46
|
+
"prepublishOnly": "node -e \"if (process.env.RELEASE_PHP_PUBLISH !== '1') { console.error('Manual npm publish is no longer supported. Use: php scripts/release.php release yt-builder-mcp <bump> followed by php scripts/release.php push-tag yt-builder-mcp <version>, which triggers the automated publish workflow. Set RELEASE_PHP_PUBLISH=1 only if you know you are running from that workflow.'); process.exit(1); }\" && node ./scripts/prepublish-floor-check.mjs",
|
|
52
47
|
"build": "tsc",
|
|
53
48
|
"dev": "tsc --watch",
|
|
54
49
|
"test": "vitest run",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: yt-builder-mcp
|
|
3
|
-
description: Drive the YOOtheme Pro Page Builder on WordPress or Joomla 5/6. Discover pages, inspect layouts, add/move/clone/delete elements, bind dynamic sources, diagnose 401/403 auth failures. Use when the user works with a YOOtheme Pro site via the
|
|
3
|
+
description: Drive the YOOtheme Pro Page Builder on WordPress or Joomla 5/6. Discover pages, inspect layouts, add/move/clone/delete elements, bind dynamic sources, diagnose 401/403 auth failures. Use when the user works with a YOOtheme Pro site via the MCP for YOOtheme Pro server.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# MCP for YOOtheme Pro. Skill
|
|
7
7
|
|
|
8
8
|
> Independent third-party project. YOOtheme® is a registered trademark of YOOtheme GmbH
|
|
9
|
-
> ([yootheme.com](https://yootheme.com)).
|
|
9
|
+
> ([yootheme.com](https://yootheme.com)). MCP for YOOtheme Pro is built by WootsUp (getimo
|
|
10
10
|
> productions) and is not affiliated with, endorsed by, or sponsored by YOOtheme.
|
|
11
11
|
> The integration uses YOOtheme Pro's public extension points and works on both
|
|
12
12
|
> WordPress and Joomla 5/6.
|
|
@@ -22,10 +22,10 @@ tools reachable through the gateways. The write-capable
|
|
|
22
22
|
(inspect_sublayout, layout_query, local_content_types,
|
|
23
23
|
local_content_read, pages_audit, heading_outline, navigation) and is itself
|
|
24
24
|
read-only-annotated, so MCP hosts can auto-allow pure inspection without a
|
|
25
|
-
per-call write-approval prompt.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
per-call write-approval prompt. The 3-lane split keeps the advertised
|
|
26
|
+
surface smaller than the reachable one, which matters for AI clients that
|
|
27
|
+
handle long tool lists poorly; every catalogued tool stays fully reachable
|
|
28
|
+
through the gateways either way.
|
|
29
29
|
|
|
30
30
|
## How to use this MCP server
|
|
31
31
|
|
|
@@ -37,10 +37,10 @@ Joomla 5/6 host plugin:
|
|
|
37
37
|
1. The user installs the host plugin for their CMS:
|
|
38
38
|
- **WordPress**. Install the `yt-builder-mcp` plugin (download + install guide
|
|
39
39
|
at [wootsup.com/docs](https://wootsup.com/docs/mcp/yootheme-wordpress/installation))
|
|
40
|
-
and generate a Bearer key in **wp-admin → Tools → "
|
|
40
|
+
and generate a Bearer key in **wp-admin → Tools → "MCP for YOOtheme Pro" → Bearer Keys**.
|
|
41
41
|
- **Joomla 5/6**. Install the `yt-builder-mcp` package (download + install guide
|
|
42
42
|
at [wootsup.com/docs](https://wootsup.com/docs/mcp/yootheme-joomla/installation))
|
|
43
|
-
and generate a Bearer key in **Components →
|
|
43
|
+
and generate a Bearer key in **Components → MCP for YOOtheme Pro → Bearer Keys**. The package
|
|
44
44
|
installs three sub-extensions (system plugin, webservices plugin, component).
|
|
45
45
|
2. The user runs `npx -y @wootsup/yt-builder-mcp setup` once; the wizard probes
|
|
46
46
|
the host plugin, validates the key, and writes the MCP server entry into every
|
|
@@ -53,14 +53,14 @@ Joomla 5/6 host plugin:
|
|
|
53
53
|
### Two picker entries (activate both)
|
|
54
54
|
|
|
55
55
|
Some clients (notably Claude Desktop with the `.mcpb` bundle) expose **two**
|
|
56
|
-
entries when the user types "
|
|
56
|
+
entries when the user types "MCP for YOOtheme Pro" into the picker:
|
|
57
57
|
|
|
58
|
-
- **`
|
|
58
|
+
- **`MCP for YOOtheme Pro`**: the MCP **server**.
|
|
59
59
|
Provides the 49 first-class tools (45 essential, 2 direct, 2 gateways).
|
|
60
60
|
The `yootheme_builder_advanced` gateway routes all 13 advanced tools; the
|
|
61
61
|
read-only `yootheme_builder_advanced_read` gateway routes the read-only
|
|
62
62
|
subset without a write-approval prompt.
|
|
63
|
-
- **`Von
|
|
63
|
+
- **`Von MCP for YOOtheme Pro`**: the bundled **skill** (this
|
|
64
64
|
document). Gives the agent the workflow knowledge needed to drive those
|
|
65
65
|
tools correctly on first try.
|
|
66
66
|
|
|
@@ -637,7 +637,7 @@ Do not loop on auth errors.
|
|
|
637
637
|
|
|
638
638
|
> **Joomla note.** On the Joomla API surface (`com_api`), the Bearer token's
|
|
639
639
|
> scope is the **sole** authority. The L2 article-write `core.edit` ACL gate
|
|
640
|
-
> was intentionally removed
|
|
640
|
+
> was intentionally removed.
|
|
641
641
|
> Joomla ACL still governs the admin component (`com_ytbmcp`). On WordPress,
|
|
642
642
|
> capabilities like `manage_options` gate the admin settings page only; the
|
|
643
643
|
> REST API surface is Bearer-gated.
|
|
@@ -2497,9 +2497,9 @@ guessing, and without rotating the user's key unnecessarily.
|
|
|
2497
2497
|
2. **Interpret the result:**
|
|
2498
2498
|
- **The call itself failed** (a transport error, not a payload) → the
|
|
2499
2499
|
WordPress / Joomla install is down OR the host plugin is deactivated.
|
|
2500
|
-
Send the user to **wp-admin → Plugins → activate "
|
|
2500
|
+
Send the user to **wp-admin → Plugins → activate "MCP for YOOtheme Pro"**
|
|
2501
2501
|
(WordPress) or **Joomla administrator → Extensions → Plugins → enable
|
|
2502
|
-
"System -
|
|
2502
|
+
"System - MCP for YOOtheme Pro" and the matching webservices + component
|
|
2503
2503
|
entries** (Joomla). Do not retry until they confirm.
|
|
2504
2504
|
- `auth_bound: false` → the Bearer key is wrong (typo, revoked, or wrong
|
|
2505
2505
|
key for this install). Check `site_url` first: a key that is valid
|
|
@@ -2508,10 +2508,10 @@ guessing, and without rotating the user's key unnecessarily.
|
|
|
2508
2508
|
probes `/etag` itself and answers `bearer_valid` + `summary`; diagnose
|
|
2509
2509
|
names no status of its own, because the request it is answering already
|
|
2510
2510
|
got through. Then send the user to:
|
|
2511
|
-
- **WordPress:** wp-admin → Tools → "
|
|
2511
|
+
- **WordPress:** wp-admin → Tools → "MCP for YOOtheme Pro" → Bearer Keys
|
|
2512
2512
|
→ copy the existing key into their MCP client config, or
|
|
2513
2513
|
generate a new one.
|
|
2514
|
-
- **Joomla:** Components →
|
|
2514
|
+
- **Joomla:** Components → MCP for YOOtheme Pro → Bearer Keys → same.
|
|
2515
2515
|
- `auth_bound: true, etag_ok: true` but the original
|
|
2516
2516
|
tool returned a 403 → the key works but the scope is too low for
|
|
2517
2517
|
the tool's required scope (`write` for mutations, `admin` for
|
|
@@ -2526,8 +2526,8 @@ guessing, and without rotating the user's key unnecessarily.
|
|
|
2526
2526
|
rights, or grant that user the capability. A write-scoped token
|
|
2527
2527
|
alone is not enough.
|
|
2528
2528
|
3. **Walk the user through key rotation if needed:**
|
|
2529
|
-
- WordPress: "wp-admin → Tools →
|
|
2530
|
-
Joomla: "Components →
|
|
2529
|
+
- WordPress: "wp-admin → Tools → MCP for YOOtheme Pro → Bearer Keys."
|
|
2530
|
+
Joomla: "Components → MCP for YOOtheme Pro → Bearer Keys."
|
|
2531
2531
|
- "Click 'Generate New Key', pick the scope (admin for full access)."
|
|
2532
2532
|
- "Copy the key. It's shown ONCE; you cannot recover it later."
|
|
2533
2533
|
- "Update your AI client config: replace `YTB_MCP_BEARER_TOKEN`
|
|
@@ -2574,7 +2574,7 @@ yootheme_builder_diagnose({})
|
|
|
2574
2574
|
// site_url: "https://example.com", // ← check this FIRST: right key, wrong install?
|
|
2575
2575
|
// active_site: { site_id: "default", via: "registry_default", process_scoped: true }
|
|
2576
2576
|
// }
|
|
2577
|
-
// → diagnosis: rotate the key. Send user to Tools/Components →
|
|
2577
|
+
// → diagnosis: rotate the key. Send user to Tools/Components → MCP for YOOtheme Pro.
|
|
2578
2578
|
// → for the upstream HTTP status: yootheme_builder_sites_test({ site_id: "default" }).
|
|
2579
2579
|
```
|
|
2580
2580
|
|