From 248da0abc435f055b9806074adcd9dd9c1a11ee5 Mon Sep 17 00:00:00 2001 From: Valerio Date: Wed, 22 Jul 2026 08:53:29 +0200 Subject: [PATCH] fix(mcp): rename @webclaw/mcp bin to avoid npx PATH shadowing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The published bin was named `webclaw-mcp`, which npx shadows with any existing `webclaw-mcp` on PATH (Homebrew/cargo/create-webclaw) — so `npx @webclaw/mcp` silently ran a stale binary instead of the launcher, for exactly our existing CLI users. Rename the bin to the unique `webclaw-mcp-launcher`; `npx @webclaw/mcp` still resolves the single bin. Verified end-to-end: with a stale webclaw-mcp on PATH, npx now runs the launcher and returns 14 tools. - bin: webclaw-mcp -> webclaw-mcp-launcher; version 0.6.15 -> 0.6.16 - mark webclaw-mcp.mjs executable - release.yml: version the launcher INDEPENDENTLY of the core release (a launcher-only fix must ship without a core bump) — publish the next patch above the current npm version and pin RELEASE_TAG to the release tag - server.json: sync to 0.6.16 Published + deprecated 0.6.15 (bin collision); 0.6.16 is the first good release. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/release.yml | 17 +++++++++-------- packages/create-webclaw/server.json | 4 ++-- packages/webclaw-mcp/package.json | 4 ++-- packages/webclaw-mcp/webclaw-mcp.mjs | 0 4 files changed, 13 insertions(+), 12 deletions(-) mode change 100644 => 100755 packages/webclaw-mcp/webclaw-mcp.mjs diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1b6efea..ce28330 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -209,15 +209,16 @@ jobs: env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} run: | - tag="${GITHUB_REF#refs/tags/}" # e.g. v0.6.16 - ver="${tag#v}" # 0.6.16 - # Lockstep versioning: @webclaw/mcp@X.Y.Z installs the webclaw vX.Y.Z - # release. Both the pinned binary tag and the npm version derive from - # the git tag, so no commit-back is needed and the published package - # always points at matching, already-uploaded release assets. + tag="${GITHUB_REF#refs/tags/}" # e.g. v0.6.17 (core release) + # Pin which prebuilt binary this launcher downloads to the just-released tag. sed -i -E "/const RELEASE_TAG =/ s|\"v[0-9.]+\"|\"${tag}\"|" webclaw-mcp.mjs - npm version "$ver" --no-git-tag-version --allow-same-version - echo "publishing @webclaw/mcp@${ver} pinned to ${tag}:" + # The launcher is versioned INDEPENDENTLY of the core release (a + # launcher-only fix must be shippable without a core bump). Publish the + # next patch above whatever is currently on npm — no commit-back needed. + cur="$(npm view @webclaw/mcp version 2>/dev/null || echo 0.0.0)" + npm version "$cur" --no-git-tag-version --allow-same-version >/dev/null + npm version patch --no-git-tag-version >/dev/null + echo "publishing @webclaw/mcp@$(node -p "require('./package.json').version") pinned to ${tag}:" grep -n "RELEASE_TAG =" webclaw-mcp.mjs npm publish --access public diff --git a/packages/create-webclaw/server.json b/packages/create-webclaw/server.json index a10cd76..3d5a3a5 100644 --- a/packages/create-webclaw/server.json +++ b/packages/create-webclaw/server.json @@ -3,12 +3,12 @@ "name": "io.github.0xMassi/webclaw", "title": "webclaw", "description": "Turn any URL into clean markdown/JSON for AI agents. Self-hostable Firecrawl alternative.", - "version": "0.6.15", + "version": "0.6.16", "packages": [ { "registryType": "npm", "identifier": "@webclaw/mcp", - "version": "0.6.15", + "version": "0.6.16", "transport": { "type": "stdio" } diff --git a/packages/webclaw-mcp/package.json b/packages/webclaw-mcp/package.json index d7ef337..76212ba 100644 --- a/packages/webclaw-mcp/package.json +++ b/packages/webclaw-mcp/package.json @@ -1,10 +1,10 @@ { "name": "@webclaw/mcp", - "version": "0.6.15", + "version": "0.6.16", "description": "Zero-install launcher for the webclaw MCP server: web extraction and anti-bot access for AI agents. Runs `npx @webclaw/mcp`.", "type": "module", "bin": { - "webclaw-mcp": "./webclaw-mcp.mjs" + "webclaw-mcp-launcher": "./webclaw-mcp.mjs" }, "mcpName": "io.github.0xMassi/webclaw", "files": [ diff --git a/packages/webclaw-mcp/webclaw-mcp.mjs b/packages/webclaw-mcp/webclaw-mcp.mjs old mode 100644 new mode 100755