From 5b76c9433f6ffe31ae9dbc614018d869154e42dd Mon Sep 17 00:00:00 2001 From: jonastmb <20173713+kopachlager@users.noreply.github.com> Date: Sun, 30 Aug 2026 16:16:37 +0200 Subject: [PATCH] Forward workspace key to plugin MCP --- .claude-plugin/marketplace.json | 2 +- package-lock.json | 4 ++-- package.json | 2 +- plugins/prerenderbuddy/.claude-plugin/plugin.json | 2 +- plugins/prerenderbuddy/.codex-plugin/plugin.json | 2 +- plugins/prerenderbuddy/.mcp.json | 3 +++ plugins/prerenderbuddy/mcp.json | 5 ++++- plugins/prerenderbuddy/plugin.json | 2 +- scripts/validate.mjs | 12 +++++++++--- 9 files changed, 23 insertions(+), 11 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 690e71e..e3487c9 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -10,7 +10,7 @@ "name": "prerenderbuddy", "source": "./plugins/prerenderbuddy", "description": "Audit crawler visibility and optionally review authenticated Prerender Buddy workspace evidence.", - "version": "0.2.0" + "version": "0.2.1" } ] } diff --git a/package-lock.json b/package-lock.json index 8614f04..9ba9031 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "prerenderbuddy-plugins", - "version": "0.2.0", + "version": "0.2.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "prerenderbuddy-plugins", - "version": "0.2.0", + "version": "0.2.1", "devDependencies": { "ajv": "8.20.0" } diff --git a/package.json b/package.json index 4edfc2a..f5d9937 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "prerenderbuddy-plugins", - "version": "0.2.0", + "version": "0.2.1", "private": true, "description": "Validation tooling for the Prerender Buddy agent plugin package.", "type": "module", diff --git a/plugins/prerenderbuddy/.claude-plugin/plugin.json b/plugins/prerenderbuddy/.claude-plugin/plugin.json index f0b884f..20fb8c3 100644 --- a/plugins/prerenderbuddy/.claude-plugin/plugin.json +++ b/plugins/prerenderbuddy/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "prerenderbuddy", - "version": "0.2.0", + "version": "0.2.1", "description": "Audit public crawler visibility and optionally review authenticated Prerender Buddy workspace evidence.", "author": { "name": "Prerender Buddy", diff --git a/plugins/prerenderbuddy/.codex-plugin/plugin.json b/plugins/prerenderbuddy/.codex-plugin/plugin.json index 9dc58ea..0c5181b 100644 --- a/plugins/prerenderbuddy/.codex-plugin/plugin.json +++ b/plugins/prerenderbuddy/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "prerenderbuddy", - "version": "0.2.0+codex.20260830125605", + "version": "0.2.1+codex.20260830141616", "description": "Audit public crawler visibility and optionally review authenticated Prerender Buddy workspace evidence.", "author": { "name": "Prerender Buddy", diff --git a/plugins/prerenderbuddy/.mcp.json b/plugins/prerenderbuddy/.mcp.json index 3b98a4c..971214b 100644 --- a/plugins/prerenderbuddy/.mcp.json +++ b/plugins/prerenderbuddy/.mcp.json @@ -5,6 +5,9 @@ "args": [ "--yes", "@prerenderbuddy/mcp@0.2.0" + ], + "env_vars": [ + "PRERENDER_BUDDY_API_KEY" ] } } diff --git a/plugins/prerenderbuddy/mcp.json b/plugins/prerenderbuddy/mcp.json index d14a7ec..ed23f0a 100644 --- a/plugins/prerenderbuddy/mcp.json +++ b/plugins/prerenderbuddy/mcp.json @@ -7,7 +7,10 @@ "args": [ "--yes", "@prerenderbuddy/mcp@0.2.0" - ] + ], + "env": { + "PRERENDER_BUDDY_API_KEY": "${PRERENDER_BUDDY_API_KEY}" + } } } } diff --git a/plugins/prerenderbuddy/plugin.json b/plugins/prerenderbuddy/plugin.json index 7eb0bbe..2fa4383 100644 --- a/plugins/prerenderbuddy/plugin.json +++ b/plugins/prerenderbuddy/plugin.json @@ -1,7 +1,7 @@ { "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", "name": "prerenderbuddy", - "version": "0.2.0", + "version": "0.2.1", "description": "Audit public crawler visibility and optionally review authenticated Prerender Buddy workspace evidence.", "author": { "name": "Prerender Buddy", diff --git a/scripts/validate.mjs b/scripts/validate.mjs index 7472d5e..8bf7238 100644 --- a/scripts/validate.mjs +++ b/scripts/validate.mjs @@ -26,9 +26,9 @@ for (const manifest of [codex, claude]) { if (manifest.mcpServers !== "./.mcp.json") fail("Manifest must use the shared MCP config."); if (manifest.skills !== "./skills/") fail("Manifest must use the shared skills directory."); } -if (!/^0\.2\.0(?:\+codex\.[0-9]+)?$/.test(codex.version)) fail("Unexpected Codex plugin version."); -if (claude.version !== "0.2.0") fail("Unexpected Claude plugin version."); -if (portable.version !== "0.2.0") fail("Unexpected portable plugin version."); +if (!/^0\.2\.1(?:\+codex\.[0-9]+)?$/.test(codex.version)) fail("Unexpected Codex plugin version."); +if (claude.version !== "0.2.1") fail("Unexpected Claude plugin version."); +if (portable.version !== "0.2.1") fail("Unexpected portable plugin version."); const ajv = new Ajv2020({ allErrors: true, strict: true }); const validatePortablePlugin = ajv.compile(portablePluginSchema); @@ -64,6 +64,12 @@ if (portableServer?.type !== "stdio") fail("Portable MCP transport must be expli if (JSON.stringify(portableServer.args) !== JSON.stringify(nativeServer.args)) { fail("Portable and native MCP arguments must match."); } +if (portableServer.env?.PRERENDER_BUDDY_API_KEY !== "${PRERENDER_BUDDY_API_KEY}") { + fail("Portable MCP must declare the optional workspace API key reference."); +} +if (!nativeServer.env_vars?.includes("PRERENDER_BUDDY_API_KEY")) { + fail("Codex MCP overlay must forward the optional workspace API key."); +} if (codexMarketplace.plugins?.[0]?.name !== "prerenderbuddy") fail("Codex marketplace plugin name is incorrect."); if (codexMarketplace.plugins?.[0]?.source?.path !== "./plugins/prerenderbuddy") {