Release v0.29.0
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:
- Replace direct access to
request.Params.Arguments["key"]
withrequest.GetArguments()["key"]
- For better type safety, use the new helper methods:
request.RequireString("key")
,request.RequireFloat("key")
, etc. - For complex argument structures, use the new
BindArguments()
method with a struct, or try the new typed tool handlers withmcp.NewTypedToolHandler()
as shown in the newexamples/typed_tools
example.
New Contributors
- @ggoodman made their first contribution in #303
- @button-chen made their first contribution in #304
Full Changelog: v0.28.0...v0.29.0