MCP Go SDK (official)
Model Context Protocol projectThe official Go SDK for the Model Context Protocol, maintained in collaboration with Google. Implements client and server, all three primitives and every standard transport, against the current specification revision.
Not to be confused with `mcp-go`, which is mark3labs' independent Go implementation and is also on this map. This SDK's own README names it - "notably mcp-go, originally authored by Ed Zynda... continue to be viable alternatives" - so the two are siblings rather than a duplicate, and the display names carry the distinction.
Openness
5 high confidence- license
- Apache-2.0(OSI
- source
- public(the SDK, its documentation and its examples)
- self-host
- yes(a library you build against)
- core features withheld
- no — nothing withheld from the published tree
Open source under the Model Context Protocol project's dual transition licence: Apache-2.0 for new contributions, MIT retained where authors have not consented to relicensing. GitHub's classifier reports NOASSERTION over it, which is a fact about the file's shape rather than the grant, and the body is cited.
- https://api.github.com/repos/modelcontextprotocol/go-sdk recorded 2026-09-17
Repository metadata: 5,116 stars, not archived, not a fork, last pushed 2026-09-17, description "The official Go SDK for Model Context Protocol servers and clients. Maintained in collaboration with Google."
- https://raw.githubusercontent.com/modelcontextprotocol/go-sdk/main/LICENSE recorded 2026-09-17
The LICENSE body, read rather than the classifier's label. It opens "The MCP project is undergoing a licensing transition from the MIT License to the Apache License, Version 2.0", licensing new contributions Apache-2.0, documentation CC-BY-4.0, and retaining MIT for contributions whose authors have not consented to relicensing. That transition preamble is what GitHub's classifier cannot match, and it is why the API reports NOASSERTION.
Adoption
2 low confidenceGo modules are resolved directly from the repository rather than through a registry that publishes download counts, leaving GitHub stars as the only adoption signal available here. A star is not a use, so the true reach of a library distributed this way is likely larger than the star count alone shows.
- https://api.github.com/repos/modelcontextprotocol/go-sdk recorded 2026-09-17
Repository metadata for modelcontextprotocol/go-sdk: 5,116 stargazers.
Capability
5 high confidenceThe MCP Go SDK implements the newest specification revision, 2026-07-28, with both roles, every primitive and all transports. Roots and sampling are deprecated under that revision, but the SDK still supports them through the required window while elicitation is fully live, so it covers the specification rather than falling short.
- https://raw.githubusercontent.com/modelcontextprotocol/go-sdk/main/docs/protocol.md recorded 2026-09-17
The protocol documentation lists the transports implemented: "Stdio Transport", "Streamable Transport", "Legacy SSE Transport" and "Custom transports".
- https://raw.githubusercontent.com/modelcontextprotocol/go-sdk/main/docs/server.md recorded 2026-09-17
The server documentation carries top-level sections for Prompts, Resources (including resource subscriptions) and Tools, and documents elicitation in a worked example. It records that "The roots, sampling, and logging features are deprecated as of protocol version 2026-07-28 by SEP-2577" and that the SDK supports them "for compatibility during the deprecation window (at least twelve months)".
- https://raw.githubusercontent.com/modelcontextprotocol/go-sdk/main/README.md recorded 2026-09-17
The README's compatibility table: "| v1.7.0+ | 2026-07-28 | 2026-07-28, 2025-11-25*, 2025-06-18, 2025-03-26, 2024-11-05 |". It also states "the mcp package defines the primary APIs for constructing and using MCP clients and servers" and "The SDK endeavors to implement the full MCP spec".
Verified 2026-09-17