Releases: mark3labs/mcp-go
Releases · mark3labs/mcp-go
Release v0.48.0
v0.48.0 - Server implementation metadata options and OAuth RFC 8707 s…
Release v0.47.1
What's Changed
- docs(client): add example to NewSSEMCPClient to avoid variable shadowing by @vincent067 in #773
- Bound stdio child shutdown in Close() by @jbjardine in #784
- fix(client/http_streamable): exit ContinuousListening goroutine on context cancellation by @swedishborgie in #790
New Contributors
- @jbjardine made their first contribution in #784
- @swedishborgie made their first contribution in #790
Full Changelog: v0.47.0...v0.47.1
Release v0.47.0
What's Changed
- docs: add missing example references to README by @vincent067 in #772
- fix: close done channel on nil response to prevent goroutine leak by @Sim-hu in #766
- fix(server): reject sync calls to task-only tools by @Gujiassh in #778
- fix(transport): preserve OAuth discovery paths by @Gujiassh in #775
- enhancement: client side 'task' functions for 'get', 'list', 'cancel' and 'result' operation by @yuehaii in #770
- feat: add Use() method for attaching tool middleware at runtime by @majiayu000 in #767
- fix(client): make readSSE context-aware to prevent goroutine leaks and HTTP/2 hangs by @samkeet in #780
- fix: extract and set _meta field in ParseContent by @parkerbxyz in #777
- fix: cancel context before closing body to prevent HTTP/2 hang by @samkeet in #769
New Contributors
- @Sim-hu made their first contribution in #766
- @majiayu000 made their first contribution in #767
- @samkeet made their first contribution in #780
- @parkerbxyz made their first contribution in #777
Full Changelog: v0.46.0...v0.47.0
Release v0.46.0
What's Changed
- fix(oauth): Handle token_type case-insensitively per RFC 6749 by @MariaChrysafis in #737
- test: add regression tests for tool schema serialization (#671) by @koriyoshi2041 in #739
- server: return 202 for empty ping responses by @bjornmp in #741
- fix(server): return 202 Accepted for sampling responses by @dugenkui03 in #744
- fix: close ready channel inside read loop to eliminate race condition by @everfid-ever in #745
- fix: account for upgradedHeader in handlePost response path by @JAORMX in #743
- docs(clients): replace stale NewSSEClient examples by @WyRainBow in #747
- add support for extensions in ClientCapabilities and ServerCapabilities by @omar-scio in #749
- Replace github.com/invopop/jsonschema with github.com/google/jsonschema-go by @securityguy in #760
- feat(transport): make SSE endpoint and response timeouts configurable by @toby-archer-tr in #734
- fix(server): reject sync calls to task-only tools by @Gujiassh in #759
- Add AgentRank score badge to README by @superlowburn in #752
- fix(oauth): preserve path components during metadata discovery by @Gujiassh in #761
- feat(server): add WithExperimental server option by @tomholford in #762
- fix: cancel in-flight request contexts on notifications/cancelled in #756
- Fix AddTaskTool task result payload handling by @WyRainBow in #765
- feature: Add prompt filter and handler middleware support (parity with tools) by @ronan-zelta in #751
New Contributors
- @koriyoshi2041 made their first contribution in #739
- @bjornmp made their first contribution in #741
- @WyRainBow made their first contribution in #747
- @omar-scio made their first contribution in #749
- @securityguy made their first contribution in #760
- @toby-archer-tr made their first contribution in #734
- @superlowburn made their first contribution in #752
- @tomholford made their first contribution in #762
- @ronan-zelta made their first contribution in #751
Full Changelog: v0.45.0...v0.46.0
Release v0.45.0
What's Changed
- Add RFC 7591 client_uri support in dynamic client registration by @MariaChrysafis in #726
- feat(transport): return ErrLegacySSEServer on 4xx initialize for spec-compliant SSE fallback by @MariaChrysafis in #731
- feat: add GetHooks() method to MCPServer for hook composability by @naji247 in #728
- fix: always include properties field in tool JSON Schema by @krus210 in #727
- feat: add Description and WebsiteURL fields to Implementation struct by @suxiaohun in #733
New Contributors
- @naji247 made their first contribution in #728
- @krus210 made their first contribution in #727
- @suxiaohun made their first contribution in #733
Full Changelog: v0.44.1...v0.45.0
Release v0.44.1
Release v0.44.0
What's Changed
- feat: defer tool loading to enable Anthropic's "Tool Search" pattern by @wolfeidau in #644
- fix: return an error if the responseWriter does not support Flush by @JoelPfaffDD in #652
- Add Icons support for MCP spec 2025-11-25 compliance by @dask-58 in #660
- fix: add ErrUnauthorized sentinel for static token 401 responses by @ezynda3 in #661
- Add lastModified field to Annotations for MCP spec 2025-11-25 by @dask-58 in #663
- Add server-side support for MCP tasks by @JAORMX in #635
- fix: drain all pending notification before writing the response to avoid missing notifications by @archit-harness in #670
- fix for nil resources slice by @furysama in #665
- Add docstrings for annotation-related functions by @ezynda3 in #673
- fix: add timeout for SSE response waiting to prevent indefinite blocking by @everfid-ever in #668
- Try OAuth Authorization Server Metadata first by @staugaard in #669
- fix(oauth): check for OAuth error responses even when status code is 200 by @sd2k in #646
- fix: Add missing session cleanup to the StreamableHTTPServer DELETE handler by @cnnrznn in #667
- Implement Elicitation URL mode for MCP spec 2025-11-25 by @dask-58 in #666
- feat: Add Host header override support for manual DNS resolution by @ComingCL in #674
- fix: low mcp version been selected by mcp server, mcp server may also raise 'unsupported protocol version 2025-11-25' error by @yuehaii in #687
- Add AdditionalProperties to ToolInputSchema by @mohit-gupta-glean in #678
- fix: fix TestSSE_SendRequest_Timeout flaky test by @everfid-ever in #683
- feat:add version 2025-11-25 & unit test for version by @CocaineCong in #684
- fix: use sync.Once for thread-safe Close in StreamableHTTP by @semihbkgr in #685
- docs: fix ListTools usage to include ListToolsRequest parameter by @everfid-ever in #681
- fix: return 404 instead of 400 for invalid session IDs by @burugo in #689
- fix: rename NewToolResultAudio second parameter from imageData to aud… by @mosesyu95 in #691
- Server handlers implementation for auto-completion by @ezraisw in #679
- Fix: the header information set by the client being lost. by @button-chen in #686
- Set test client info by @urisimchoni in #692
- refactor: fix modernize lint issues by @alexandear in #699
- refactor: simplify tests with the usetesting linter by @alexandear in #703
- typo: fix duplicate description of mcp-go in README by @milairhu in #701
- feat(server): implement task-augmented tools capability by @ezynda3 in #707
- tool "properties" and "required" fields missing if set them as null, AdditionalProperties can't be masharl by @yuehaii in #713
- Fix no way to detect connection closure in non-NO_ERROR cases by @manx98 in #709
- fix: accept HTTP 204 No Content in SendNotification by @satish-karri-glean in #717
- fix: use custom session id generator when provided by @FlameHost10 in #715
- fix: SendRequest hangs forever when server process dies by @ichoosetoaccept in #714
New Contributors
- @wolfeidau made their first contribution in #644
- @JoelPfaffDD made their first contribution in #652
- @dask-58 made their first contribution in #660
- @JAORMX made their first contribution in #635
- @archit-harness made their first contribution in #670
- @furysama made their first contribution in #665
- @everfid-ever made their first contribution in #668
- @staugaard made their first contribution in #669
- @cnnrznn made their first contribution in #667
- @ComingCL made their first contribution in #674
- @mohit-gupta-glean made their first contribution in #678
- @semihbkgr made their first contribution in #685
- @burugo made their first contribution in #689
- @mosesyu95 made their first contribution in #691
- @ezraisw made their first contribution in #679
- @urisimchoni made their first contribution in #692
- @alexandear made their first contribution in #699
- @milairhu made their first contribution in #701
- @manx98 made their first contribution in #709
- @satish-karri-glean made their first contribution in #717
- @FlameHost10 made their first contribution in #715
- @ichoosetoaccept made their first contribution in #714
Full Changelog: v0.43.2...v0.44.0
Release v0.44.0-beta.3
v0.44.0-beta.3
Release v0.44.0-beta.2
What's Changed
- Implement Elicitation URL mode for MCP spec 2025-11-25 by @dask-58 in #666
- feat: Add Host header override support for manual DNS resolution by @ComingCL in #674
- fix: low mcp version been selected by mcp server, mcp server may also raise 'unsupported protocol version 2025-11-25' error by @yuehaii in #687
- Add AdditionalProperties to ToolInputSchema by @mohit-gupta-glean in #678
- fix: fix TestSSE_SendRequest_Timeout flaky test by @everfid-ever in #683
- feat:add version 2025-11-25 & unit test for version by @CocaineCong in #684
- fix: use sync.Once for thread-safe Close in StreamableHTTP by @semihbkgr in #685
- docs: fix ListTools usage to include ListToolsRequest parameter by @everfid-ever in #681
- fix: return 404 instead of 400 for invalid session IDs by @burugo in #689
- fix: rename NewToolResultAudio second parameter from imageData to aud… by @mosesyu95 in #691
- Server handlers implementation for auto-completion by @ezraisw in #679
- Fix: the header information set by the client being lost. by @button-chen in #686
New Contributors
- @ComingCL made their first contribution in #674
- @mohit-gupta-glean made their first contribution in #678
- @semihbkgr made their first contribution in #685
- @burugo made their first contribution in #689
- @mosesyu95 made their first contribution in #691
- @ezraisw made their first contribution in #679
Full Changelog: v0.44.0-beta.1...v0.44.0-beta.2
Release v0.44.0-beta.1
What's Changed
- feat: defer tool loading to enable Anthropic's "Tool Search" pattern by @wolfeidau in #644
- fix: return an error if the responseWriter does not support Flush by @JoelPfaffDD in #652
- Add Icons support for MCP spec 2025-11-25 compliance by @dask-58 in #660
- fix: add ErrUnauthorized sentinel for static token 401 responses by @ezynda3 in #661
- Add lastModified field to Annotations for MCP spec 2025-11-25 by @dask-58 in #663
- Add server-side support for MCP tasks by @JAORMX in #635
- fix: drain all pending notification before writing the response to avoid missing notifications by @archit-harness in #670
- fix for nil resources slice by @furysama in #665
- Add docstrings for annotation-related functions by @ezynda3 in #673
- fix: add timeout for SSE response waiting to prevent indefinite blocking by @everfid-ever in #668
- Try OAuth Authorization Server Metadata first by @staugaard in #669
- fix(oauth): check for OAuth error responses even when status code is 200 by @sd2k in #646
- fix: Add missing session cleanup to the StreamableHTTPServer DELETE handler by @cnnrznn in #667
New Contributors
- @wolfeidau made their first contribution in #644
- @JoelPfaffDD made their first contribution in #652
- @dask-58 made their first contribution in #660
- @JAORMX made their first contribution in #635
- @archit-harness made their first contribution in #670
- @furysama made their first contribution in #665
- @everfid-ever made their first contribution in #668
- @staugaard made their first contribution in #669
- @cnnrznn made their first contribution in #667
Full Changelog: v0.43.2...v0.44.0-beta.1