This is the official Go SDK for the Model Context Protocol (MCP), a framework for LLM-to-tool communication. It provides a complete client and server implementation with multiple transport layers (stdio, SSE, streamable HTTP), authentication (OAuth2, JWT, API keys), and advanced features like middleware, caching, multi-round-trip requests, and protocol version negotiation. The SDK is designed as a library for building MCP-compatible applications, with clean abstractions for transports, handlers, and middleware that enable extensibility. It supports both legacy (2024-11-05) and current (2026-07-28) protocol versions, including SEP-2575 stateless mode and SEP-2577 deprecations of roots/sampling/logging. The codebase demonstrates strong software craftsmanship: generic type-safe tool handlers (ToolHandlerFor[In, Out]), generic sorted feature sets (featureSet[T]), TTL-based method caching (methodCache[R]), schema memoization (SchemaCache), and a well-defined middleware pattern. Conformance tests, CI/CD pipelines, and extensive examples ensure reliability. Despite some technical debt from backward-compatibility flags and deprecated features, the architecture is clean, modular, and reusable.