Skip to content

v0.0.2

Compare
Choose a tag to compare
@peteski22 peteski22 released this 01 Aug 21:50
· 31 commits to main since this release
32e68cc

❗Breaking Changes

  1. API JSON Response Format: Standardized JSON property names to camelCase (#114)

    • Health API:
      • last_checkedlastChecked
      • last_successfullastSuccessful
    • Configuration Fields:
      • required_envrequiredEnv
      • required_argsrequiredArgs
      • required_args_boolrequiredArgsBool
      • display_namedisplayName
      • is_officialisOfficial
    • Tool Schema Fields:
      • input_schemainputSchema
      • output_schemaoutputSchema
      • read_only_hintreadOnlyHint
      • destructive_hintdestructiveHint
      • idempotent_hintidempotentHint
      • open_world_hintopenWorldHint
    • Runtime Usage Fields:
      • actual_nameactualName
    • HTTP API clients will need to update field mappings
  2. Configuration Structure: Split required_args into required_args (value arguments) and required_args_bool (boolean flags) for more granular argument validation (#105)

    • Existing .mcpd.toml files using required_args may need to be updated if they contained boolean required arguments
    • Boolean flags (like --verbose) should now be specified under required_args_bool
    • Value arguments (like --config=value) remain under required_args
  3. Export Template Variables: Simplified template variable naming by removing ARG suffix from command-line arguments.

    • Both environment variables and arguments now use the unified format MCPD__{SERVER_NAME}__{VARIABLE_NAME}.
    • Users with existing CI/CD pipelines may need to rename their environment variables (e.g., MCPD__SERVER__ARG__TOKENMCPD__SERVER__TOKEN) if they recreate files from export

New Features

  • Complete Config Export: Fully implemented mcpd config export command (#106)

    • Now processes both config and runtime files (was runtime-only before)
    • Generates portable execution context (e.g. secrets.prod.toml) with templated variables
    • Creates environment contract (e.g. .env) with placeholder mappings for CI/CD systems
    • Supports consistent placeholder naming: MCPD__{SERVER_NAME}__{VAR_NAME}
    • Handles server names with hyphens (converts to underscores in placeholders)
  • Format Support for Add Command: Added --format flag support to mcpd add (#102)

    • Consistent output formatting across commands (text, JSON, YAML)
    • Improved package addition workflow with structured output options
  • Enhanced Runtime Support: Refactored runtime specifications with security fixes for NPX(#104)

  • Homebrew Distribution: Added Homebrew tap support for easy installation (#115)

    • Users can now install via: brew tap mozilla-ai/mcpd && brew install mcpd
    • Includes automatic shell completion installation (bash, zsh)

Improvements

  • Development Experience: Include log file path in development banner when configured (#109)
  • Code Quality: Added comprehensive golangci-lint configuration with automated formatting (#114)
  • Documentation: Updated README and contributing guidelines (#99)
  • License: Fixed copyright attribution (#100)
  • CI/CD: Improved documentation deployment process (#95)

Technical Details

  • Enhanced argument validation with separate handling for value and boolean arguments
  • Comprehensive test coverage for export functionality
  • Improved error handling and validation across commands
  • Better placeholder name consistency in configuration exports

Full Changelog: v0.0.1...v0.0.2