Skip to content

Release v0.29.0

Compare
Choose a tag to compare
@github-actions github-actions released this 20 May 06:40
v0.29.0
99720bb

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