v0.0.2
❗Breaking Changes
-
API JSON Response Format: Standardized JSON property names to camelCase (#114)
- Health API:
last_checked
→lastChecked
last_successful
→lastSuccessful
- Configuration Fields:
required_env
→requiredEnv
required_args
→requiredArgs
required_args_bool
→requiredArgsBool
display_name
→displayName
is_official
→isOfficial
- Tool Schema Fields:
input_schema
→inputSchema
output_schema
→outputSchema
read_only_hint
→readOnlyHint
destructive_hint
→destructiveHint
idempotent_hint
→idempotentHint
open_world_hint
→openWorldHint
- Runtime Usage Fields:
actual_name
→actualName
- HTTP API clients will need to update field mappings
- Health API:
-
Configuration Structure: Split
required_args
intorequired_args
(value arguments) andrequired_args_bool
(boolean flags) for more granular argument validation (#105)- Existing
.mcpd.toml
files usingrequired_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
- Existing
-
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__TOKEN
→MCPD__SERVER__TOKEN
) if they recreate files from export
- Both environment variables and arguments now use the unified format
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 tomcpd 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)
- Users can now install via:
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