In depth
MCP SDKs hide the wire-level details of the protocol and give you ergonomic APIs for the things that matter: registering tools, handling requests, managing transport. Without an SDK, you'd write boilerplate JSON-RPC codecs and lifecycle management. With one, you register a tool in a dozen lines.
The official SDKs are maintained at `github.com/modelcontextprotocol`. Each language has both a server SDK (for building MCP servers) and a client SDK (for embedding MCP clients in your app). They share a common spec so servers and clients across languages are fully interoperable.
TypeScript is the most mature (`@modelcontextprotocol/sdk`), thanks to Anthropic's heavy use in Claude Desktop. Python (`mcp`) is equally well-supported. Rust, Kotlin, C#, and Swift cover the rest of the major language ecosystems.
Community SDKs fill the gaps for Go, Java, Ruby, PHP, and more. All official SDKs are MIT licensed.