Skip to content

v1.3.0

Latest

Choose a tag to compare

@yaniv-golan yaniv-golan released this 15 Apr 13:39

🎯 What's New

Bundle prompts now include the text field per MCPB v0.3 schema β€” the bundler reads the template .txt file for each prompt and embeds its content as the required text field in the manifest's prompts array. This enables pre-install discovery in extension stores: clients can show the actual prompt template before the user installs the server. Prompts without a resolvable template file are excluded from the manifest to maintain schema compliance.

Three prompt directory layouts are now supported:

  • Flat: prompts/name.meta.json + prompts/name.txt
  • Nested canonical: prompts/name/prompt.meta.json + sibling .txt
  • Scaffolded: prompts/name/name.meta.json (created by mcp-bash scaffold prompt)

Path resolution tries prompts-dir-relative, project-root-relative, meta-dir-relative, and stem-based fallback β€” so existing projects work without changes.

Semver validation warning for bundle version β€” mcp-bash bundle and mcp-bash bundle --validate now warn when the resolved version string is not valid semver (MAJOR.MINOR.PATCH). The upstream MCPB CLI is adding strict semver rejection; this warning gives early feedback:

⚠ Version "2.0" is not valid semver (expected MAJOR.MINOR.PATCH)
  β†’ MCPB clients may reject non-semver versions

Non-semver versions still produce bundles but may be rejected by future MCPB tooling.

πŸ› Bug Fixes

  • Bundle prompt scan now finds scaffolded prompt layouts β€” the glob pattern previously only matched flat (prompts/*.meta.json) and nested canonical (prompts/*/prompt.meta.json) layouts. Prompts created via mcp-bash scaffold prompt at prompts/<name>/<name>.meta.json were silently omitted from the manifest.
  • Empty template files are now skipped β€” if a prompt's .txt file exists but is empty, the prompt is excluded from the manifest rather than being included with "text": "".

πŸ“š Documentation

  • docs/MCPB.md β€” updated manifest example and field descriptions for the text field on prompts, added Manifest Versions section documenting v0.3 (current) and v0.4/UV (awareness only), clarified that platform_overrides.env merges with (not replaces) base env, noted potential @anthropic-ai/mcpb to @modelcontextprotocol/mcpb-cli package rename.

πŸ§ͺ Tests

  • 5 new bundle tests: prompt text for flat/scaffolded/nested layouts, missing-text exclusion, semver validation warning, semver acceptance
  • 1 new regression test: executable permissions (+x) survive ZIP round-trip for both run-server.sh and embedded bin/mcp-bash
  • 672 total unit tests, all passing

πŸ“¦ Upgrading

No breaking changes. Minor release over 1.2.x.

# Homebrew (recommended)
brew upgrade mcp-bash

# Or via curl
curl -fsSL "https://raw.githubusercontent.com/yaniv-golan/mcp-bash-framework/v1.3.0/install.sh" | bash -s -- --yes --version "v1.3.0"

Full Changelog: v1.2.2...v1.3.0