Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Releases: docker/mcp-gateway

v0.23.0

14 Oct 14:42
be67911
Compare
Choose a tag to compare
Loading
v0.23.0 Pre-release
Pre-release
Merge pull request #178 from docker/slim/catalog-migration

Migrate old versions of catalog

v0.22.0

06 Oct 21:28
e4de220
Compare
Choose a tag to compare
Loading
v0.22.0 Pre-release
Pre-release

Release Notes - v0.22.0

Release Date: October 2025

🚀 New Features

OAuth Token Automatic Refresh

  • Background token refresh infrastructure with event-driven per-provider architecture
  • Monitors OAuth lifecycle events from Docker Desktop via Server-Sent Events (SSE)
  • Proactive token refresh triggers at 10 seconds before expiry (aligns with OAuth library behavior)
  • Automatic retry mechanism handles TokenSource caching with exponential backoff (30s, 1min, 2min, 4min, 8min...)
  • Event-driven provider lifecycle - providers created on login, destroyed on logout
  • Dynamic server support - automatic DCR client registration when using mcp-add
  • Tool handlers OAuth-agnostic - token management fully background, no impact on tool execution

Client Support

  • Added OpenAI Codex client configuration (#165)

🔧 Improvements

SDK Update

  • Updated to MCP Go SDK 1.0.0 (#167)
    • Latest protocol features and improvements
    • Enhanced stability and performance

Catalog Management

  • Use v3 catalog URL when mcp-oauth-dcr feature is enabled (#168)
  • Improved catalog URL override logic to preserve custom URLs
  • Added URL validation before overriding catalog URLs
  • Better handling of catalog version selection

OAuth CLI Improvements

  • Fixed CLI commands for remote MCP OAuth servers (#169)
    • docker mcp oauth authorize now works after mcp-add
    • DCR client registration automatic for dynamic tools
  • Moved DCR cleanup to oauth revoke (safer server disable)
    • docker mcp server disable → Just removes from registry
    • docker mcp oauth revoke → Full cleanup (tokens + DCR client)
  • Unified OAuth server checks using IsRemoteOAuthServer() helper
  • mcp-add registers DCR clients enabling immediate OAuth authorization

Error Handling

  • Gateway continues when images cannot be pulled (#163)
    • Failed image pulls no longer stop gateway initialization
    • Better resilience for partial failures

🐛 Bug Fixes

  • Fixed double-close panics with sync.Once on provider Stop()
  • Prevented goroutine leaks from concurrent GetOAuthApp calls
  • Made all backoff sleeps interruptible by SSE events for responsive event handling
  • Fixed EventLoginSuccess to trigger server reload (not just create provider)
  • Fixed provider cleanup - wrapper goroutines remove dead providers from map
  • Prevented infinite loops with max retry count and expiry tracking

📚 Documentation

  • OAuth provider architecture documentation
  • TokenSource caching analysis with Mermaid sequence diagrams
  • Event-driven lifecycle state machine
  • Clean architecture plan and implementation guide
  • Known limitations documented (TokenSource caching, notification volume)

Full Changelog: v0.21.0...v0.22.0

v0.21.0

29 Sep 18:20
0c107cb
Compare
Choose a tag to compare
Loading
v0.21.0 Pre-release
Pre-release

Release Notes - v0.21.0

Release Date: September 26, 2025

🚀 New Features

OAuth 2.0 Dynamic Client Registration (DCR)

  • Added support for OAuth 2.0 Dynamic Client Registration (RFC 7591) for MCP servers
  • Implemented automatic OAuth 2.0 Authorization Server Discovery (RFC 8414) and Protected Resource Metadata (RFC 9728)
  • Added new mcp-oauth-dcr feature flag to enable/disable DCR functionality
  • Automatic OAuth server discovery from MCP server 401 responses
  • Public client registration using PKCE for enhanced security
  • Secure token storage via docker-credential-desktop
  • Automatic token refresh handling with client pool invalidation
  • Complete WWW-Authenticate header parsing (RFC 6750) with fallback to well-known endpoints
  • Full compliance with OAuth 2.0/2.1 and MCP Authorization specifications

Self-Contained Image Support

  • Gateway now supports hosting self-contained MCP server images without requiring a catalog (#151)
  • Changed self-contained image prefix from docker.io/ to docker:// for clearer semantics
  • Enables running MCP servers directly from Docker images

Client Support

  • Added support for Claude Code and Opencode AI clients (#156)
  • Added Zed editor client configuration (#143)
  • JSON parsing with comment support using tailscale/hujson for Zed's settings.json

🔧 Improvements

  • Added metrics middleware to dynamic tools for better observability
  • Default verify-signatures setting now disabled when running in a container (#152)
  • Provide ResourceURL when registering DCR for improved OAuth flow (#153)
  • Made ls/list commands consistent across the CLI (#141, #144)

🏗️ Code Structure Changes

  • Moved internal package to pkg for better public API exposure
  • Moved integration tests to improve project organization

📚 Documentation

  • Added documentation for importing OSS MCP registry
  • Updated documentation for new mcp-oauth-dcr feature flag
  • Various documentation improvements and typo fixes

🐛 Bug Fixes

  • Fixed WWW-Authenticate header handling when header is missing or invalid
  • Added fallback to use well-known OAuth endpoint discovery
  • Resolved Accept header conflict issues in remote MCP connections
  • Various code simplifications and cleanup

v0.20.0

16 Sep 15:23
ed87cb1
Compare
Choose a tag to compare
Loading
v0.20.0 Pre-release
Pre-release

What's Changed

Full Changelog: v0.19.0...v0.20.0

v0.19.0

16 Sep 00:04
6903da8
Compare
Choose a tag to compare
Loading
v0.19.0 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.18.0...v0.19.0

v0.18.0

03 Sep 19:28
7e6197f
Compare
Choose a tag to compare
Loading
v0.18.0 Pre-release
Pre-release

What's Changed

  • Respect http and https proxies in the gateway by @cmrigney in #118
  • Show error when OAuth provider doesn't exist by @kgprs in #121

Full Changelog: v0.17.0...v0.18.0

v0.17.0

03 Sep 14:15
b080d81
Compare
Choose a tag to compare
Loading
v0.17.0 Pre-release
Pre-release
Rename (#117)

v0.16.0

27 Aug 15:50
5c2ab27
Compare
Choose a tag to compare
Loading
v0.16.0 Pre-release
Pre-release
Fix parsing bug that breaks Docker Desktop client listing (#110)

* Fix a bug that breaks Docker Desktop client listing.

* Handle http in client configs.

v0.15.0

21 Aug 19:53
9da2311
Compare
Choose a tag to compare
Loading
v0.15.0 Pre-release
Pre-release
Merge pull request #90 from masegraye/task/mgraye-gateway-telemetry

MCP Gateway Telemetry

v0.14.0

12 Aug 11:52
3ff0793
Compare
Choose a tag to compare
Loading
v0.14.0 Pre-release
Pre-release
Add integration test for elicitation (#88)

Add Elicitation Test

* Add integration test for elicitation
* Container isolation by session
Morty Proxy This is a proxified and sanitized view of the page, visit original site.