Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 26 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
<!-- 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)

***BREAKING CHANGES***

This version contains breaking changes.
This version contains minor breaking changes.
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)

This repository contains an unreleased implementation of the official Go
software development kit (SDK) for the Model Context Protocol (MCP).
This repository contains an implementation of the official Go software
development kit (SDK) for the Model Context Protocol (MCP).

> [!WARNING]
> The SDK is not yet at v1.0.0 and may still be subject to incompatible API
> changes. We aim to tag v1.0.0 in September, 2025. See
> https://github.com/modelcontextprotocol/go-sdk/issues/328 for details.
> [!IMPORTANT]
> The SDK is in release-candidate state, and is going to be tagged v1.0.0
> soon (see https://github.com/modelcontextprotocol/go-sdk/issues/328).
> 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:

Expand All @@ -33,11 +34,13 @@ The SDK consists of several importable packages:
- The
[`github.com/modelcontextprotocol/go-sdk/auth`](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/auth)
package provides some primitives for supporting oauth.

- The
[`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.

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

To get started creating an MCP server, create an `mcp.Server` instance, add
Expand Down Expand Up @@ -78,9 +81,9 @@ func main() {
}
```

To communicate with that server, we can similarly create an `mcp.Client` and
connect it to the corresponding server, by running the server command and
communicating over its stdin/stdout:
To communicate with that server, create an `mcp.Client` and connect it to the
corresponding server, by running the server command and communicating over its
stdin/stdout:

```go
package main
Expand Down Expand Up @@ -128,24 +131,18 @@ func main() {
The [`examples/`](/examples/) directory contains more example clients and
servers.

## Design

The design doc for this SDK is at [design.md](./design/design.md), which was
initially reviewed at
[modelcontextprotocol/discussions/364](https://github.com/orgs/modelcontextprotocol/discussions/364).
## Contributing

Further design discussion should occur in
[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.
We welcome contributions to the SDK! Please see See
[CONTRIBUTING.md](/CONTRIBUTING.md) for details of how to contribute.

## Acknowledgements
## Acknowledgements / Alternatives

Several existing Go MCP SDKs inspired the development and design of this
official SDK, notably [mcp-go](https://github.com/mark3labs/mcp-go), authored
by Ed Zynda. We are grateful to Ed as well as the other contributors to mcp-go,
and to authors and contributors of other SDKs such as
Several third party Go MCP SDKs inspired the development and design of this
official SDK, and continue to be viable alternatives, notably
[mcp-go](https://github.com/mark3labs/mcp-go), originally authored by Ed Zynda.
We are grateful to Ed as well as the other contributors to mcp-go, and to
authors and contributors of other SDKs such as
[mcp-golang](https://github.com/metoro-io/mcp-golang) and
[go-mcp](https://github.com/ThinkInAIXYZ/go-mcp). Thanks to their work, there
is a thriving ecosystem of Go MCP clients and servers.
Expand Down
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<!-- Autogenerated by weave; DO NOT EDIT -->
These docs are a work-in-progress.

# Features

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

Expand Down
4 changes: 2 additions & 2 deletions internal/docs/README.src.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
These docs are a work-in-progress.

# Features

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

Expand Down
55 changes: 26 additions & 29 deletions internal/readme/README.src.md
Original file line number Diff line number Diff line change
@@ -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)

***BREAKING CHANGES***

This version contains breaking changes.
This version contains minor breaking changes.
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)

This repository contains an unreleased implementation of the official Go
software development kit (SDK) for the Model Context Protocol (MCP).
This repository contains an implementation of the official Go software
development kit (SDK) for the Model Context Protocol (MCP).

> [!WARNING]
> The SDK is not yet at v1.0.0 and may still be subject to incompatible API
> changes. We aim to tag v1.0.0 in September, 2025. See
> https://github.com/modelcontextprotocol/go-sdk/issues/328 for details.
> [!IMPORTANT]
> The SDK is in release-candidate state, and is going to be tagged v1.0.0
> soon (see https://github.com/modelcontextprotocol/go-sdk/issues/328).
> 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:

Expand All @@ -32,11 +33,13 @@ The SDK consists of several importable packages:
- The
[`github.com/modelcontextprotocol/go-sdk/auth`](https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/auth)
package provides some primitives for supporting oauth.

- The
[`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.

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

To get started creating an MCP server, create an `mcp.Server` instance, add
Expand All @@ -46,33 +49,27 @@ stdin/stdout:

%include server/server.go -

To communicate with that server, we can similarly create an `mcp.Client` and
connect it to the corresponding server, by running the server command and
communicating over its stdin/stdout:
To communicate with that server, create an `mcp.Client` and connect it to the
corresponding server, by running the server command and communicating over its
stdin/stdout:

%include client/client.go -

The [`examples/`](/examples/) directory contains more example clients and
servers.

## Design

The design doc for this SDK is at [design.md](./design/design.md), which was
initially reviewed at
[modelcontextprotocol/discussions/364](https://github.com/orgs/modelcontextprotocol/discussions/364).
## Contributing

Further design discussion should occur in
[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.
We welcome contributions to the SDK! Please see See
[CONTRIBUTING.md](/CONTRIBUTING.md) for details of how to contribute.

## Acknowledgements
## Acknowledgements / Alternatives

Several existing Go MCP SDKs inspired the development and design of this
official SDK, notably [mcp-go](https://github.com/mark3labs/mcp-go), authored
by Ed Zynda. We are grateful to Ed as well as the other contributors to mcp-go,
and to authors and contributors of other SDKs such as
Several third party Go MCP SDKs inspired the development and design of this
official SDK, and continue to be viable alternatives, notably
[mcp-go](https://github.com/mark3labs/mcp-go), originally authored by Ed Zynda.
We are grateful to Ed as well as the other contributors to mcp-go, and to
authors and contributors of other SDKs such as
[mcp-golang](https://github.com/metoro-io/mcp-golang) and
[go-mcp](https://github.com/ThinkInAIXYZ/go-mcp). Thanks to their work, there
is a thriving ecosystem of Go MCP clients and servers.
Expand Down
Loading