go-sdk/internal/readme
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jonathan Amsterdam 6e03217c83
mcp: introduce Requests (#267)
Handlers and client/server methods take a single request argument
combining the session and params. This slightly simplifies the signature
for handlers, since there is no longer an often-ignored session
argument.

But more importantly, it opens the door to adding more information in
requests, such as auth info and HTTP request headers.

For #243.
2025-08-12 17:49:50 -04:00
..
client mcp: make transports open structs 2025-08-12 15:14:21 -04:00
server mcp: introduce Requests (#267) 2025-08-12 17:49:50 -04:00
build.sh mcp, internal/readme: fix go generate (#6) 2025-06-23 15:46:53 -04:00
Makefile internal/mcp: construct README with weave 2025-05-21 16:21:26 -07:00
README.src.md feat(devcontainer): Adds Dev Container configuration (#154) 2025-07-30 12:54:41 -04:00

MCP Go SDK v0.2.0

Open in GitHub Codespaces

BREAKING CHANGES

This version contains breaking changes. See the release notes for details.

PkgGoDev

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

Warning

The SDK should be considered unreleased, and is currently unstable and subject to breaking changes. Please test it out and file bug reports or API proposals, but don't use it in real projects. See the issue tracker for known issues and missing features. We aim to release a stable version of the SDK in August, 2025.

Design

The design doc for this SDK is at design.md, which was initially reviewed at modelcontextprotocol/discussions/364.

Further design discussion should occur in issues (for concrete proposals) or discussions for open-ended discussion. See CONTRIBUTING.md for details.

Package documentation

The SDK consists of three importable packages:

Example

In this example, an MCP client communicates with an MCP server running in a sidecar process:

%include client/client.go -

Here's an example of the corresponding server component, which communicates with its client over stdin/stdout:

%include server/server.go -

The examples/ directory contains more example clients and servers.

Acknowledgements

Several existing Go MCP SDKs inspired the development and design of this official SDK, notably 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 mcp-golang and go-mcp. Thanks to their work, there is a thriving ecosystem of Go MCP clients and servers.

License

This project is licensed under the MIT License - see the LICENSE file for details.