Skip to content

Bundle 0.1.2: beta.4 runtime and manifest tool preview for Smithery - #1

Merged
TheDesignFounder merged 1 commit into
mainfrom
chore/mcpb-tools-metadata-beta4
Sep 24, 2026
Merged

TheDesignFounder merged 1 commit into
mainfrom
chore/mcpb-tools-metadata-beta4

Conversation

@TheDesignFounder

Copy link
Copy Markdown
Owner

Why

Smithery's listing of the MCPB bundle scored 37/100 because the manifest had tools: null: Smithery never runs a local bundle, its CLI copies manifest.json.tools into the server card, so every capability check was unevaluated.

What

  • packaging/mcpb/manifest.json 0.1.2: previews the seven tools (name + description, the only keys mcpb validate accepts). tools_generated stays true.
  • Runtime pin @dreamlayer/mcp@0.4.0-beta.4 (every input parameter described; dreamlayer-mcp Document the hosts that already read these files #9).
  • tools/smithery/: list_tools.mjs captures the bundled runtime's real tools/list; build_smithery_bundle.py derives the Smithery-only bundle whose tool entries carry that exact output (the Smithery registry requires inputSchema, which the MCPB schema forbids). The GitHub release asset stays spec-compliant.

Verification

  • mcpb validate passes; bundle packs to 2366 files, byte-identical runtime to the published npm package.
  • Bundled runtime tools/list: 7 tools, 0 undescribed parameters, outputSchema + annotations on all 7.
  • Smithery score: 37 → 78 (beta.3 runtime, tools listed) → 83 (beta.4). Remaining deductions: dot-notation naming and the required API key, both intentionally unchanged.

🤖 Generated with Claude Code

…the manifest

Smithery never runs a local bundle. Its CLI copies manifest.json `tools` into
the listing's server card, so the first publish (tools: null) showed "No
capabilities found" and scored 37/100 with every capability check unevaluated.

The manifest now previews the seven tools (name + description, the only keys
the MCPB validator allows; tools_generated stays true because the runtime
narrows the operation enum per key). The runtime pin moves to 0.4.0-beta.4,
which describes every input parameter.

tools/smithery/ holds the reproducible Smithery build: list_tools.mjs captures
the bundled runtime's real tools/list over stdio, and build_smithery_bundle.py
derives the Smithery-only bundle whose tool entries carry that exact output
(inputSchema, outputSchema, annotations), which the Smithery registry requires
but the MCPB schema forbids. The GitHub asset stays spec-compliant.

Result on smithery.ai/servers/mackenzie/dreamlayer: 37 -> 78 (release 41bde850,
beta.3 runtime) -> 83 (release 2f0511e3, beta.4 runtime). Remaining deductions
are dot-notation naming and the required API key, both left as is on purpose.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@TheDesignFounder
TheDesignFounder merged commit 1908db8 into main Sep 24, 2026
2 checks passed
@TheDesignFounder
TheDesignFounder deleted the chore/mcpb-tools-metadata-beta4 branch September 24, 2026 08:22
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.

1 participant