Tools
The MCP Go SDK was silently rounding integers in structuredContent past the IEEE-754 safe range
PR #1239, merged 2026-09-16, changes CallToolResult to decode structuredContent separately with UseNumber, preserving wire numbers as json.Number instead of routing them through an `any` field that converted every JSON number to float64. The regression test drives 9007199254740993 end to end through a low-level Server.AddTool result. Callers depending on the old behavior can set MCPGODEBUG=structuredcontentfloat64=1, which is a temporary escape hatch, so Go MCP servers returning large IDs or nanosecond timestamps should migrate rather than pin.
Source
↳ Follow the thread