Releases: genmcp/gen-mcp
Releases · genmcp/gen-mcp
Nightly (2026-03-05 - 9a4b9d3)
What's Changed
- fix: binary downloader works with path-separated cache name by @Cali0707 in #274
- docs: document v0.2.2 release by @Cali0707 in #282
- feat: add support for custom CA certificates in outbound HTTP requests by @rrbanda in #285
- docs: update changelog for v0.2.3 by @Cali0707 in #289
- feat(streamablehttp): add support for k8s probes by @Cali0707 in #291
- deps(deps): bump github.com/pb33f/libopenapi from 0.31.2 to 0.33.0 in the go-dependencies group by @dependabot[bot] in #293
- feat: enhance stored process metadata by @Cali0707 in #294
- refactor(config): consolidate default values into dedicated defaults.go by @nader-ziada in #295
- fix(builder): add manifest annotations for registry label display by @nader-ziada in #296
- deps(deps): bump the go-dependencies group with 2 updates by @dependabot[bot] in #297
- deps(deps): bump the go-dependencies group with 2 updates by @dependabot[bot] in #301
- feat: add support for better installation methods by @Cali0707 in #300
- feat(cli): add inspect command to show detailed server information by @nader-ziada in #299
- deps(deps): bump github.com/pb33f/libopenapi from 0.33.7 to 0.33.11 in the go-dependencies group by @dependabot[bot] in #302
- deps(deps): bump the go-dependencies group with 2 updates by @dependabot[bot] in #303
- ci(deps): bump goreleaser/goreleaser-action from 6 to 7 in the github-actions group by @dependabot[bot] in #304
- deps(deps): bump the go-dependencies group with 3 updates by @dependabot[bot] in #305
New Contributors
Full Changelog: v0.2.1...nightly
v0.2.3
v0.2.2
- Binary cache now supports cache names with path separators.
v0.2.1
v0.2.0
Added
- Introduced the NETEDGE MCP manifest with the ingress and DNS diagnostic toolset used for evaluation (
examples/netedge-tools/mcpfile.yaml). (#162) - Added supporting documentation and agent transcripts for the scenarios, including a pointer to the canonical evaluation notes in
github.com/genmcp/gevals(examples/netedge-tools/docs). (#162) - Documented the NETEDGE Phase-0 gen-mcp tooling notes (
examples/netedge-tools/docs/NETEDGE-GEN-MCP-NOTES.md). (#162) - Added a focused unit test for the Prometheus query tool to ensure
.svcURLs fall back to the routed endpoint (test/query_prometheus_tool_test.go). (#162) - Updated
.gitignoreto drop generated evaluation artifacts from version control. (#162) - Binary download and caching system for
genmcp buildcommand - server binaries are now downloaded from GitHub releases instead of being embedded in the CLI (#151) - Sigstore-based cryptographic verification of downloaded binaries for security (built into CLI, no external dependencies) (#151)
- Version-platform cache management to store and reuse downloaded binaries across builds (#151)
--server-versionflag to specify which server binary version to download (#151)- Automatic "latest" resolution for development builds - dev CLI versions automatically download the latest stable server binaries (#151)
- Automatic fallback to cached version if download fails - works offline with previously cached binaries (#151)
- Automatic cache cleanup - keeps last 3 versions per platform to prevent unbounded cache growth (#151)
Changed
- BREAKING: Migrated from single-file format (schema version 0.1.0) to two-file format (schema version 0.2.0). The
mcpfile.yamlnow contains only tool definitions (MCPToolDefinitions), while server runtime configuration has been moved to a separatemcpserver.yamlfile (MCPServerConfig). ThemcpFileVersionfield has been renamed toschemaVersion, and both files now require akindfield. Users must migrate existing configurations - seeMIGRATION.mdfor step-by-step instructions. (#213) genmcp buildnow downloads server binaries from GitHub releases, significantly reducing CLI binary size (#151)- Server binaries are cached locally (in user cache directory) and reused across builds (#151)
Fixed
- Http invocations which should set query params work now with urls that have no template variables. (#222)
Removed
- Embedded server binaries from CLI - binaries are now downloaded on-demand, reducing the CLI size from ~100MB to ~78MB (#151)
--use-embedded-binariesflag (no longer needed as embedded binaries have been removed) (#151)
v0.1.1
Added
- schema field and invocation type for defining reusable base configurations that can be extended by multiple invocations, enabling configuration composition and reducing duplication across tools, prompts, and resources (backward compatible with existing mcpfiles) (#203)
- HTTP header support for invocations, allowing static and templated headers with support for input parameters, incoming request headers (streamablehttp only), and environment variables (#204)
- Request header support for invocations, allowing input parameters to reference incoming request headers (streamablehttp only) (#205)
Changed
- Refactored invocation configuration parsing to use generic factory pattern instead of custom parsers per type (#203)
- now defaults to building multi-arch images (linux/amd64 and linux/arm64), with the flag allowing single-platform builds for faster iteration (#196)
Removed
- Custom invocation config parsers for CLI and HTTP types in favor of unified factory approach (#203)
v0.1.0
Added
- Runtime environment variable overrides in mcpfile (#177)
- Tool annotations support (destructiveHint, idempotentHint, openWorldHint) to indicate tool behavior to clients (#180)
- Server instructions support to provide context to LLMs (#173)
- Comprehensive logging system with invocation and server logs (#168)
- JSON schema validation for mcpfile (#155)
- Support for MCP spec and primitives (#157)
- Support for MCP spec (#138)
- command to create container images from mcpfiles (#126)
- AI-based converter for CLI tools (#67)
- Structured output from HTTP JSON responses (#107)
- command (#105)
- gRPC integration demo showcasing GenMCP with gRPC services (#153)
Changed
- BREAKING: Simplified mcpfile format by embedding server fields directly, migrated format version to v0.1.0 (#137)
- GenMCP now uses the official Model Context Protocol Go SDK (#90)
- Bumped MCP Go-SDK to v1.0.0 release (#134)
- StreamableHttp servers are now configurable as stateless or stateful (default: stateless) (#100)
- Migrated from ghodss/yaml to sigs.k8s.io/yaml (#89)
Removed
- Vendor directory to reduce PR noise (#154)
Fixed
- Parsing now returns proper error on invalid mcpfile version (#171)
- OpenAPI 2.0 body parameter handling now correctly aligns with spec (#150)
- Tool input schemas with empty properties now correctly serialize to (#112)
- OAuth example ports corrected to avoid conflicts (#101)
- Individual tool errors in OpenAPI conversion no longer block entire mcpfile creation (#97)
- Release workflows now target correct branches (#86)
- Nightly release job now manages only a single 'nightly' tag (#83)
New Contributors
- @mikelolasagasti made their first contribution
- @Manaswa-S made their first contribution
- @rh-rahulshetty made their first contribution
- @aliok made their first contribution
v0.0.0
Added
- Initial MCP File specification
- Simple converter to convert OpenAPI v2/v3 specifications into the MCP file format
- Initial MCP Server implementation
- Reads from the MCP file and runs a server with the provided tools
- OAuth 2.0/OIDC support for the MCP Client -> MCP Server connection
- TLS Support for the MCP Client -> MCP Server connection
- Initial genmcp CLI implementation
- genmcp run will run servers from the MCP files
- genmcp stop will stop servers
- genmcp convert converts an OpenAPI spec to an mcp file
- Initial examples
- CLI/HTTP examples with ollama
- HTTP conversion examples and integrations with multiple tools
- Integration with k8s, via ToolHive