readme: update README for v0.6.0 (#506)

Also significantly lessen our warnings, and note that this is a release
candidate, rewrite Acknowledgements to be Acknowledgements /
Alternatives, since other MCP SDKs continue to be actively developed.
This commit is contained in:
Robert Findley 2025-09-19 11:54:10 -04:00 • committed by GitHub
commit 84a568bf89
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 56 additions and 62 deletions

View file

@ -1,25 +1,26 @@
<!-- Autogenerated by weave; DO NOT EDIT --> <!-- Autogenerated by weave; DO NOT EDIT -->
# MCP Go SDK v0.5.0 # MCP Go SDK v0.6.0
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/modelcontextprotocol/go-sdk) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/modelcontextprotocol/go-sdk)
***BREAKING CHANGES*** ***BREAKING CHANGES***
This version contains breaking changes. This version contains minor breaking changes.
See the [release notes]( See the [release notes](
https://github.com/modelcontextprotocol/go-sdk/releases/tag/v0.5.0) for details. https://github.com/modelcontextprotocol/go-sdk/releases/tag/v0.6.0) for details.
[![PkgGoDev](https://pkg.go.dev/badge/github.com/modelcontextprotocol/go-sdk)](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk) [![PkgGoDev](https://pkg.go.dev/badge/github.com/modelcontextprotocol/go-sdk)](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk)
This repository contains an unreleased implementation of the official Go This repository contains an implementation of the official Go software
software development kit (SDK) for the Model Context Protocol (MCP). development kit (SDK) for the Model Context Protocol (MCP).
> [!WARNING] > [!IMPORTANT]
> The SDK is not yet at v1.0.0 and may still be subject to incompatible API > The SDK is in release-candidate state, and is going to be tagged v1.0.0
> changes. We aim to tag v1.0.0 in September, 2025. See > soon (see https://github.com/modelcontextprotocol/go-sdk/issues/328).
> https://github.com/modelcontextprotocol/go-sdk/issues/328 for details. > We do not anticipate significant API changes or instability. Please use it
> and [file issues](https://github.com/modelcontextprotocol/go-sdk/issues/new/choose).
## Package documentation ## Package / Feature documentation
The SDK consists of several importable packages: The SDK consists of several importable packages:
@ -33,11 +34,13 @@ The SDK consists of several importable packages:
- The - The
[`github.com/modelcontextprotocol/go-sdk/auth`](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/auth) [`github.com/modelcontextprotocol/go-sdk/auth`](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/auth)
package provides some primitives for supporting oauth. package provides some primitives for supporting oauth.
- The - The
[`github.com/modelcontextprotocol/go-sdk/oauthex`](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/oauthex) [`github.com/modelcontextprotocol/go-sdk/oauthex`](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/oauthex)
package provides extensions to the OAuth protocol, such as ProtectedResourceMetadata. package provides extensions to the OAuth protocol, such as ProtectedResourceMetadata.
The SDK endeavors to implement the full MCP spec. The [`docs/`](/docs/) directory
contains feature documentation, mapping the MCP spec to the packages above.
## Getting started ## Getting started
To get started creating an MCP server, create an `mcp.Server` instance, add To get started creating an MCP server, create an `mcp.Server` instance, add
@ -78,9 +81,9 @@ func main() {
} }
``` ```
To communicate with that server, we can similarly create an `mcp.Client` and To communicate with that server, create an `mcp.Client` and connect it to the
connect it to the corresponding server, by running the server command and corresponding server, by running the server command and communicating over its
communicating over its stdin/stdout: stdin/stdout:
```go ```go
package main package main
@ -128,24 +131,18 @@ func main() {
The [`examples/`](/examples/) directory contains more example clients and The [`examples/`](/examples/) directory contains more example clients and
servers. servers.
## Design ## Contributing
The design doc for this SDK is at [design.md](./design/design.md), which was We welcome contributions to the SDK! Please see See
initially reviewed at [CONTRIBUTING.md](/CONTRIBUTING.md) for details of how to contribute.
[modelcontextprotocol/discussions/364](https://github.com/orgs/modelcontextprotocol/discussions/364).
Further design discussion should occur in ## Acknowledgements / Alternatives
[issues](https://github.com/modelcontextprotocol/go-sdk/issues) (for concrete
proposals) or
[discussions](https://github.com/modelcontextprotocol/go-sdk/discussions) for
open-ended discussion. See [CONTRIBUTING.md](/CONTRIBUTING.md) for details.
## Acknowledgements Several third party Go MCP SDKs inspired the development and design of this
official SDK, and continue to be viable alternatives, notably
Several existing Go MCP SDKs inspired the development and design of this [mcp-go](https://github.com/mark3labs/mcp-go), originally authored by Ed Zynda.
official SDK, notably [mcp-go](https://github.com/mark3labs/mcp-go), authored We are grateful to Ed as well as the other contributors to mcp-go, and to
by Ed Zynda. We are grateful to Ed as well as the other contributors to mcp-go, authors and contributors of other SDKs such as
and to authors and contributors of other SDKs such as
[mcp-golang](https://github.com/metoro-io/mcp-golang) and [mcp-golang](https://github.com/metoro-io/mcp-golang) and
[go-mcp](https://github.com/ThinkInAIXYZ/go-mcp). Thanks to their work, there [go-mcp](https://github.com/ThinkInAIXYZ/go-mcp). Thanks to their work, there
is a thriving ecosystem of Go MCP clients and servers. is a thriving ecosystem of Go MCP clients and servers.

View file

@ -1,9 +1,9 @@
<!-- Autogenerated by weave; DO NOT EDIT --> <!-- Autogenerated by weave; DO NOT EDIT -->
These docs are a work-in-progress.
# Features # Features
These docs mirror the [official MCP spec](https://modelcontextprotocol.io/specification/2025-06-18). These docs mirror the [official MCP spec](https://modelcontextprotocol.io/specification/2025-06-18).
Use the index below to learn how the SDK implements a particular aspect of the
protocol.
## Base Protocol ## Base Protocol

View file

@ -1,8 +1,8 @@
These docs are a work-in-progress.
# Features # Features
These docs mirror the [official MCP spec](https://modelcontextprotocol.io/specification/2025-06-18). These docs mirror the [official MCP spec](https://modelcontextprotocol.io/specification/2025-06-18).
Use the index below to learn how the SDK implements a particular aspect of the
protocol.
## Base Protocol ## Base Protocol

View file

@ -1,24 +1,25 @@
# MCP Go SDK v0.5.0 # MCP Go SDK v0.6.0
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/modelcontextprotocol/go-sdk) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/modelcontextprotocol/go-sdk)
***BREAKING CHANGES*** ***BREAKING CHANGES***
This version contains breaking changes. This version contains minor breaking changes.
See the [release notes]( See the [release notes](
https://github.com/modelcontextprotocol/go-sdk/releases/tag/v0.5.0) for details. https://github.com/modelcontextprotocol/go-sdk/releases/tag/v0.6.0) for details.
[![PkgGoDev](https://pkg.go.dev/badge/github.com/modelcontextprotocol/go-sdk)](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk) [![PkgGoDev](https://pkg.go.dev/badge/github.com/modelcontextprotocol/go-sdk)](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk)
This repository contains an unreleased implementation of the official Go This repository contains an implementation of the official Go software
software development kit (SDK) for the Model Context Protocol (MCP). development kit (SDK) for the Model Context Protocol (MCP).
> [!WARNING] > [!IMPORTANT]
> The SDK is not yet at v1.0.0 and may still be subject to incompatible API > The SDK is in release-candidate state, and is going to be tagged v1.0.0
> changes. We aim to tag v1.0.0 in September, 2025. See > soon (see https://github.com/modelcontextprotocol/go-sdk/issues/328).
> https://github.com/modelcontextprotocol/go-sdk/issues/328 for details. > We do not anticipate significant API changes or instability. Please use it
> and [file issues](https://github.com/modelcontextprotocol/go-sdk/issues/new/choose).
## Package documentation ## Package / Feature documentation
The SDK consists of several importable packages: The SDK consists of several importable packages:
@ -32,11 +33,13 @@ The SDK consists of several importable packages:
- The - The
[`github.com/modelcontextprotocol/go-sdk/auth`](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/auth) [`github.com/modelcontextprotocol/go-sdk/auth`](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/auth)
package provides some primitives for supporting oauth. package provides some primitives for supporting oauth.
- The - The
[`github.com/modelcontextprotocol/go-sdk/oauthex`](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/oauthex) [`github.com/modelcontextprotocol/go-sdk/oauthex`](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/oauthex)
package provides extensions to the OAuth protocol, such as ProtectedResourceMetadata. package provides extensions to the OAuth protocol, such as ProtectedResourceMetadata.
The SDK endeavors to implement the full MCP spec. The [`docs/`](/docs/) directory
contains feature documentation, mapping the MCP spec to the packages above.
## Getting started ## Getting started
To get started creating an MCP server, create an `mcp.Server` instance, add To get started creating an MCP server, create an `mcp.Server` instance, add
@ -46,33 +49,27 @@ stdin/stdout:
%include server/server.go - %include server/server.go -
To communicate with that server, we can similarly create an `mcp.Client` and To communicate with that server, create an `mcp.Client` and connect it to the
connect it to the corresponding server, by running the server command and corresponding server, by running the server command and communicating over its
communicating over its stdin/stdout: stdin/stdout:
%include client/client.go - %include client/client.go -
The [`examples/`](/examples/) directory contains more example clients and The [`examples/`](/examples/) directory contains more example clients and
servers. servers.
## Design ## Contributing
The design doc for this SDK is at [design.md](./design/design.md), which was We welcome contributions to the SDK! Please see See
initially reviewed at [CONTRIBUTING.md](/CONTRIBUTING.md) for details of how to contribute.
[modelcontextprotocol/discussions/364](https://github.com/orgs/modelcontextprotocol/discussions/364).
Further design discussion should occur in ## Acknowledgements / Alternatives
[issues](https://github.com/modelcontextprotocol/go-sdk/issues) (for concrete
proposals) or
[discussions](https://github.com/modelcontextprotocol/go-sdk/discussions) for
open-ended discussion. See [CONTRIBUTING.md](/CONTRIBUTING.md) for details.
## Acknowledgements Several third party Go MCP SDKs inspired the development and design of this
official SDK, and continue to be viable alternatives, notably
Several existing Go MCP SDKs inspired the development and design of this [mcp-go](https://github.com/mark3labs/mcp-go), originally authored by Ed Zynda.
official SDK, notably [mcp-go](https://github.com/mark3labs/mcp-go), authored We are grateful to Ed as well as the other contributors to mcp-go, and to
by Ed Zynda. We are grateful to Ed as well as the other contributors to mcp-go, authors and contributors of other SDKs such as
and to authors and contributors of other SDKs such as
[mcp-golang](https://github.com/metoro-io/mcp-golang) and [mcp-golang](https://github.com/metoro-io/mcp-golang) and
[go-mcp](https://github.com/ThinkInAIXYZ/go-mcp). Thanks to their work, there [go-mcp](https://github.com/ThinkInAIXYZ/go-mcp). Thanks to their work, there
is a thriving ecosystem of Go MCP clients and servers. is a thriving ecosystem of Go MCP clients and servers.