Describe the bug
SetProgressToken in mcp/shared.go silently fails when called on a Params struct with a nil Meta field. The progress token is written into a locally created map that is never assigned back to the struct, so it is immediately discarded.
To Reproduce
Minimum test case
p := &mcp.CallToolParams{Name: "n"}
p.SetProgressToken("t")
fmt.Println(p.GetProgressToken()) // nil
Expected behaviour
GetProgressToken() should return "t" after calling SetProgressToken("t"), regardless of whether Meta was previously set.
Describe the bug
SetProgressTokeninmcp/shared.gosilently fails when called on aParamsstruct with a nilMetafield. The progress token is written into a locally created map that is never assigned back to the struct, so it is immediately discarded.To Reproduce
Minimum test case
Expected behaviour
GetProgressToken() should return "t" after calling SetProgressToken("t"), regardless of whether Meta was previously set.