Releases: mozilla-ai/mcpd
v0.1.0
What's Changed
Major Features
- Add plugin subsystem for HTTP request/response processing by @peteski22 in #209
- Complete plugin architecture allowing third-party plugins to intercept and process HTTP requests/responses
- Category-based organization: authentication, authorization, rate limiting, validation, content transformation, audit, and observability
- Flow control (request, response, or both) with plugin lifecycle management and gRPC-based communication
- Add plugin configuration file support by @peteski22 in #204
- Add automated OpenAPI specification generation for hosted documentation by @peteski22 in #208
- Programmatic OpenAPI YAML export maintaining 1:1 mapping between API code and documentation
- Integrated into CI via make docs-api for automatic documentation updates on every release
- Add Docker volume mount support by @peteski22 in #201
Bug Fixes & Reliability
- Fix daemon shutdown deadlock and improve MCP transport observability by @peteski22 in #206
- Resolved hang during daemon shutdown (CTRL+C) when MCP server pings stuck in uninterruptible I/O
- Upgraded mcp-go from v0.39.1 to v0.41.1 with large message handling fixes
- Fix SIGHUP reload coordination race condition by @peteski22 in #189
- Fix config export for positional arguments by @peteski22 in #188
- Update filesystem and fix redis by @peteski22 in #194
Development & Infrastructure
- Add third party license distribution by @besaleli in #207
- Makefile: Adding linting (runs before tests and build) by @peteski22 in #193
- mozilla-ai schema: ensure 'position' is specified if 'argument_positional' is used by @peteski22 in #192
Full Changelog: v0.0.9...v0.1.0
v0.0.9
What's Changed
🚀 Features
- Added support for dockerized MCP servers by @agpituk in #185
- Add MCP prompts API support to REST endpoints by @peteski22 in #186
- Add MCP resource API support to REST endpoints by @peteski22 in #183
🐛 Bug Fixes & Reliability
- Fix registry data corruption and normalize server ID handling by @peteski22 in #184
- Fix cross-server environment variable and argument filtering bypass by @peteski22 in #187
🔧 Development & Infrastructure
- Migrate from deprecated dockers to dockers_v2 in GoReleaser config by @peteski22 in #180
Full Changelog: v0.0.8...v0.0.9
v0.0.8
What's Changed
🚀 Major Features
- Hot Reload Support for MCP Server Configurations by @peteski22 in #152
- Introduce the inspector command by @michalismeng in #157
🛠️ Configuration Management
- Add mcpd config tools list command with text/JSON/YAML output formats by @peteski22 in #170
- Add --all flag to mcpd config tools list by @peteski22 in #171
- Add mcpd config tools set command with registry validation by @peteski22 in #176
- Fix positional args bug in config args set command by adding --merge-flags by @peteski22 in #172
- Normalize API output to match stored configuration format (.mcpd.toml) by @peteski22 in #178
🐛 Bug Fixes & Reliability
- Prevent servers without tools from being added/running by @peteski22 in #173
- Ensure we explicitly map untracked server health errors by @peteski22 in #161
- Add context cancellation checks to prevent shutdown hangs by @peteski22 in #175
📚 Registry & Documentation
- Add manual and automated validation of the Mozilla AI registry JSON by @peteski22 in #160
- Added zim and SearXNG MCPs by @aittalam in #159
- Improve README formatting and layout by @hasangzl in #162
- Improve contribution guidelines by @ividal in #165
🔧 Development & Infrastructure
- Centralize file and directory permission mode usage by @peteski22 in #151
- Bump dependencies by @peteski22 in #167
- Remove homebrew formula conflicts (deprecated) from GoReleaser by @peteski22 in #166
New Contributors
- @hasangzl made their first contribution in #162
- @ividal made their first contribution in #165
- @michalismeng made their first contribution in #157
Full Changelog: v0.0.7...v0.0.8
v0.0.7
What's Changed
- Add case-insensitive handling for server and tool names by @peteski22 in #148
- Implement registry caching system with configurable options by @peteski22 in #149
Full Changelog: v0.0.6...v0.0.7
v0.0.6
What's Changed
mozilla-airegistry update tools by @peteski22 in #147
Fixes a bug in Mozilla AI registry JSON that incorrectly identified tools for: Jira, Slack and Notion MCP servers.
Full Changelog: v0.0.5...v0.0.6
v0.0.5
What's Changed
New Features
- Configuration System (#142): Added comprehensive configuration management for
mcpd daemon- New
mcpd config daemoncommand with subcommands:get,set,remove,list,validate - Support for dot-path configuration keys
- Configuration validation system
- Extensive documentation for daemon configuration
- New
- CORS Support (#142): Added Cross-Origin Resource Sharing (CORS) support for the API server
- Configurable CORS settings
- API shutdown timeout configuration options
Improvements
- Environment Variables (#144): Centralized environment variable expansion to runtime config loading point for better consistency
- Legacy MCPM Registry (#143): Enhanced MCPM provider with missing fields (Publisher/Author and Homepage) for better package information
- Documentation (#141): Added installation page link to main documentation index
This release significantly enhances mcpd with a robust configuration system and improved architectural patterns while maintaining backward compatibility.
New Contributors
Full Changelog: v0.0.4...v0.0.5
v0.0.4
What's Changed
- Update documentation (added: installation) by @peteski22 in #136
- Improve handling for closing clients (and logging) on shutdown by @peteski22 in #137
- Fix positional arguments issue with config by @peteski22 in #138
- Docs Add Apple quarantine message by @peteski22 in #139
- Improved registry handling and updated terminology from "packages" to "servers" by @peteski22 in #140
Full Changelog: v0.0.3...v0.0.4
v0.0.3
🎯 Highlights
mozilla-aiRegistry Provider: Added embedded registry data for Mozilla AI tools- Enhanced Argument Handling: Fixed bugs and added support for positional arguments
- Deprecation Support: New
--allow-deprecatedflag formcpd addcommand - Major Refactoring: Improved package model extensibility and codebase organization
✨ Features
- Added Mozilla AI registry provider with embedded data (#132)
- Added
--allow-deprecatedflag tomcpd addcommand (#134) - Support for positional arguments in server configurations (#127)
🔧 Improvements
- Refactored packages.Package to packages.Server for clarity (#133)
- Restructured package model for better extensibility (#131)
- General codebase refactoring and organization (#130)
- Improved test structure with helper functions (#135)
🐛 Bug Fixes
- Fixed argument parsing issues (#127)
📦 Distribution
📚 Documentation
- Updated README with new logo (#122, #126)
- Fixed tutorial curl example (#126)
- Updated tutorial to use Homebrew installation (#124)
- Enhanced deployment workflows (#121)
Full Changelog: v0.0.2...v0.0.3
v0.0.2
❗Breaking Changes
-
API JSON Response Format: Standardized JSON property names to camelCase (#114)
- Health API:
last_checked→lastCheckedlast_successful→lastSuccessful
- Configuration Fields:
required_env→requiredEnvrequired_args→requiredArgsrequired_args_bool→requiredArgsBooldisplay_name→displayNameis_official→isOfficial
- Tool Schema Fields:
input_schema→inputSchemaoutput_schema→outputSchemaread_only_hint→readOnlyHintdestructive_hint→destructiveHintidempotent_hint→idempotentHintopen_world_hint→openWorldHint
- Runtime Usage Fields:
actual_name→actualName
- HTTP API clients will need to update field mappings
- Health API:
-
Configuration Structure: Split
required_argsintorequired_args(value arguments) andrequired_args_bool(boolean flags) for more granular argument validation (#105)- Existing
.mcpd.tomlfiles usingrequired_argsmay 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 exportcommand (#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 flagsupport 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
v0.0.1
What's Changed
Initial release of mcpd, for information on the project and how to use it, please see our docs page.
New Contributors
- @peteski22 made their first contribution in #3
- @agpituk made their first contribution in #56
- @Kostis-S-Z made their first contribution in #71
Full Changelog: https://github.com/mozilla-ai/mcpd/commits/v0.0.1