feat: add Smithery MCPB bundle with tools:[] workaround (SCR-3048) - #57
Open
paulius-krutkis-dcd wants to merge 1 commit into
Open
feat: add Smithery MCPB bundle with tools:[] workaround (SCR-3048)#57paulius-krutkis-dcd wants to merge 1 commit into
paulius-krutkis-dcd wants to merge 1 commit into
Conversation
Publishing to Smithery requires OAuth or a <25MB .mcpb bundle. Add a minimal stdio bundle that launches the npm-published @decodo/mcp-server, avoiding the 270MB node_modules payload. Includes an explicit "tools": [] in the manifest to work around arcadeai-labs/smithery-cli#770, which rejects stdio bundles that omit tools with 400 {"error":"No values to set"}.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Unblocks publishing to Smithery (SCR-3048).
Smithery now requires either OAuth support or a
.mcpbbundle under 25MB. Our previous bundle was ~270MB (embeddednode_modules). This adds a minimal stdio bundle that simply launches the npm-published@decodo/mcp-servervianpx, so the packed bundle is <1KB.Why not OAuth?
The bundle path is the lighter alternative to implementing OAuth on the server. Since we already publish to npm, a thin launcher bundle is enough to get Smithery showing up-to-date capabilities.
tools:[] workaround
Smithery currently rejects stdio bundles whose manifest omits
toolswith400 {"error":"No values to set"}— smithery-ai/cli#770 (still open upstream, community-verified workaround). The manifest includes an explicit"tools": []so the release payload is accepted. Runtime tool discovery is unaffected.Contents
smithery/manifest.json— MCPB manifest (stdio, node launcher,tools: [])smithery/index.js— thin launcher that runsnpx -y @decodo/mcp-serversmithery/README.md— publish stepsVerification
Publishing itself is a CLI step (not part of this PR):
Note
SCRAPER_API_TOKENis used as the env var (matches currentbuild/index.js); the old Smithery config usedsapiUsername/sapiPassword. Please confirm this is correct.versioninmanifest.jsonin sync withpackage.json.