Skip to content

Releases: mark3labs/mcp-go

Release v0.32.0

11 Jun 10:41
Compare
Choose a tag to compare

What's Changed

  • feat(mcp): add NewToolResultErrorf by @icholy in #357
  • feat(mcptest): extend test server with prompt and resource support by @vasayxtx in #346
  • [streamable-http] Add ability to override the http.Client by @tra4less in #359
  • fixed logo issue in home page by @asaf-shitrit in #364
  • feat(mcptest): Change Server.Start to accept a context.Context. by @octo in #339
  • fix(test/stdio): address io:read/write on closed pipe error by @cryo-zd in #360
  • [SSE][OAuth] Add OAuth support to SSE client by @giridhar-murthy-glean in #340
  • More comprehensive docs by @ezynda3 in #374
  • fix(srv/stream): properly remove sessionTool to prevent memory leak by @cryo-zd in #365
  • fix: SSE parser now correctly handles events without event field by @ezynda3 in #376
  • fix: ignore session IDs in stateless mode instead of rejecting them by @ezynda3 in #375
  • support search www doc by @dugenkui03 in #378
  • Optimize docs by @dugenkui03 in #386

New Contributors

Full Changelog: v0.31.0...v0.32.0

Release v0.31.0

30 May 07:47
4b71176
Compare
Choose a tag to compare

What's Changed

  • [feat] separate request struct by @OswinWu in #333
  • fix: logo on website is squashed by @corani in #349
  • fix: panic when streamable HTTP server sends notification by @dugenkui03 in #348
  • fix: move styles.css to www/docs by @corani in #354
  • fix(server): resolve stdio server context cancellation bug by @sonirico in #331
  • Add option to StreamableHTTPServer to allow custom http server instance by @yash025 in #347
  • fix(Srv/stream): add ID field to PingRequest by @cryo-zd in #353

New Contributors

Full Changelog: v0.30.1...v0.31.0

Release v0.30.1

28 May 09:31
c7c0e13
Compare
Choose a tag to compare

What's Changed

  • fix(server): Implement MCP version negotiation. by @octo in #341

Full Changelog: v0.30.0...v0.30.1

Release v0.30.0

25 May 10:49
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.29.0...v0.30.0

Release v0.29.0

20 May 06:40
v0.29.0
99720bb
Compare
Choose a tag to compare

What's Changed

  • refactor: make CallToolRequest.Arguments more flexible (Breaking Change) by @ezynda3 in #287
  • Drop unused fields from server.sseSession by @ggoodman in #303
  • chore: remove unused variables and type arguments by @pottekkat in #302
  • chore(Srv/stdio): duplicated setting of ErrorLogger by @cryo-zd in #306
  • fix: handle the situation where the channel is closed by @button-chen in #304

Breaking Changes

In v0.29.0, MCP-Go introduces breaking changes to tool request handling. The main change is that request.Params.Arguments is no longer directly accessible as a map. Instead, you must use the new GetArguments() method to retrieve arguments as a map. For type-safe argument access, new helper methods like RequireString(), RequireFloat(), and RequireBool() have been added. To migrate:

  1. Replace direct access to request.Params.Arguments["key"] with request.GetArguments()["key"]
  2. For better type safety, use the new helper methods: request.RequireString("key"), request.RequireFloat("key"), etc.
  3. For complex argument structures, use the new BindArguments() method with a struct, or try the new typed tool handlers with mcp.NewTypedToolHandler() as shown in the new examples/typed_tools example.

New Contributors

Full Changelog: v0.28.0...v0.29.0

Release v0.28.0

16 May 18:13
077f546
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.27.1...v0.28.0

Release v0.27.1

14 May 21:28
c1e70f3
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.27.0...v0.27.1

Release v0.27.0

11 May 19:52
Compare
Choose a tag to compare

What's Changed

  • Support audio content type in tools/call and prompts/get by @dugenkui03 in #250
  • refactor(server): extract common HTTP transport configuration options by @robert-jackson-glean in #253
  • ci: add check to verify generated code is up-to-date by @robert-jackson-glean in #258
  • fix(MCPServer): correct notification method in func RemoveResource() by @cryo-zd in #262
  • Create sample client by @ezynda3 in #265
  • Fix the issue where the 'Shutdown' method fails to properly exit. by @uppercaveman in #255
  • test(server): reliably detect Start/Shutdown deadlock in SSEServer by @robert-jackson-glean in #264
  • docs: make code examples in the README correct as per spec by @pottekkat in #268
  • feat(MCPServer): avoid unnecessary notifications when Resource/Tool not exists by @cryo-zd in #266
  • chore: replace interface{} with any by @pottekkat in #261
  • fix(Srv/stdio): risk of goroutine leaks and concurrent reads in readNextLine() by @cryo-zd in #257
  • docs: Remove reference to mcp.RoleSystem by @robert-jackson-glean in #269
  • fix: fix some obvious simplifications by @pottekkat in #267
  • Optimization of listByPagination Performance by @qiangmzsx in #246
  • fix: properly marshal ToolAnnotations with false values by @pottekkat in #260

New Contributors

Full Changelog: v0.26.0...v0.27.0

Release v0.26.0

06 May 16:37
Compare
Choose a tag to compare

What's Changed

  • feat(sse): Add SessionWithTools support to SSEServer by @robert-jackson-glean in #232
  • Fix bug with MarshalJSON for NotificationParams by @Gelembjuk in #233
  • fix: write back error message if the response marshal failed by @ppzqh in #235
  • fix(server/sse): potential goroutine leak in Heartbeat sender by @cryo-zd in #236
  • Fix stdio test compilation issues in CI by @ezynda3 in #240
  • refactor(server/sse): rename WithBasePath to WithStaticBasePath by @robert-jackson-glean in #238
  • fix(MCPServer): Session tool handler not used due to variable shadowing by @cryo-zd in #242
  • test: build mockstdio_server with isolated cache to prevent flaky CI by @robert-jackson-glean in #241
  • fix: Use detached context for SSE message handling by @yash025 in #244

New Contributors

Full Changelog: v0.25.0...v0.26.0

Release v0.25.0

01 May 12:31
Compare
Choose a tag to compare

What's Changed

  • update doc comments to match Go conventions by @yinebebt in #226
  • fix: Add Accept Header in StreamableHTTP Client by @hhxiao in #230
  • fix(SSE): only initialize http.Server when not set by @cryo-zd in #229
  • fix: Prevent panic in parsing functions for null results by @cocovs in #218
  • [SSEClient] Add ability to override the http.Client by @sks in #109
  • feat(SSEServer): add WithAppendQueryToMessageEndpoint() by @liut in #136
  • feat: quick return tool-call request, send response via SSE in goroutine by @CeerDecy in #163
  • feat(server/sse): Add support for dynamic base paths by @robert-jackson-glean in #214

New Contributors

Full Changelog: v0.24.1...v0.25.0