Skip to content

fix(vscode): use mcp-<alias> as marketplace extension id#358

Merged
Germey merged 1 commit into
mainfrom
fix/vscode-ext-name
May 31, 2026
Merged

fix(vscode): use mcp-<alias> as marketplace extension id#358
Germey merged 1 commit into
mainfrom
fix/vscode-ext-name

Conversation

@acedatacloud-dev
Copy link
Copy Markdown
Member

Why

After #356 merged, 12/15 VS Code extensions auto-republished to the marketplace on 2026.531.0. Three did not: flux, nanobanana, seedream. The downstream publish.yml for each ran and failed at the vsce publish step with:

##[error]This extension display name is taken. Please try a different one.

Failing runs:

Root cause

scripts/build_vscode_extensions.py was using the PyPI package name as the VS Code extension name (pkg['name'] = svc.pypi_pkg). The two namespaces aren't the same:

Service PyPI Marketplace ID (already owned)
flux mcp-flux-pro (the bare name was taken on PyPI) acedatacloud.mcp-flux
nanobanana mcp-nanobanana-pro acedatacloud.mcp-nanobanana
seedream mcp-seedream-pro acedatacloud.mcp-seedream

PR #356 changed these from the old mcp-<alias> to mcp-<alias>-pro, so vsce publish saw a brand-new extension id and tried to create it, but the displayName Flux MCP / NanoBanana MCP / Seedream MCP is already taken by the existing extension under the same publisher → 409.

Fix

Decouple the two namespaces. Add ext_name to the Service dataclass, default it to mcp-<alias> (the convention already in marketplace), with an ext_name: yaml override available for any future service where they diverge.

Regenerated only the 3 affected vscode/package.json — diff is the name field only. The other 12 services already had pypi == mcp-<alias> so their codegen output is unchanged.

Verification after merge

Once main triggers the sync, each of the three downstream repos will get a new push and their publish.yml should produce a fresh CalVer 2026.MMDD.0 on the marketplace. Will verify with marketplace API after merge.

The codegen was using the PyPI package name as the VS Code extension
`name`. For flux/nanobanana/seedream the PyPI name is `mcp-<alias>-pro`
(because `mcp-<alias>` was taken on PyPI), but the marketplace
extension ids we already own are plain `mcp-<alias>`. Reusing the PyPI
`-pro` suffix caused vsce publish to try a new id and fail with
"This extension display name is taken" — keeping these three stuck on
old versions while the other 12 auto-published successfully.

Decouple the two namespaces: add a dedicated `ext_name` on Service
defaulting to `mcp-<alias>` (overridable via `ext_name` in
vscode_extensions.yaml). Regenerated package.json for flux,
nanobanana, seedream — diff is the `name` field only.
@Germey Germey merged commit 4a36673 into main May 31, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants