I also wrote a Go library for MCP a few weeks ago, with type safety as one of the project goals: https://github.com/dstotijn/go-mcp. It uses generics to support type-safe RPC methods. Additionally, it leans on JSON schema and its features for property validation.