Independent by design · no pay-to-rank placements  · How we evaluate tools →
Anclum Submit
M

modelcontextprotocol/go-sdk

Official Go SDK for MCP servers and clients

Before you install: no copy-paste command · no license recorded · link reachable

First step: nothing runnable here yet - start from the repository: https://github.com/modelcontextprotocol/go-sdk

View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site

We have neither an install command nor a public remote endpoint from this repository, so we do not print a config. A made-up one is worse than none. How each client wires MCP up →

Source
collected from the abordage/awesome-mcp list · type: MCP server
Harvest history
first seen 2026-11-05 · last seen 2026-11-14 · seen 10× · listed by 10 sources
Score
score 1,003 · 10 sources · mcp
FAQ (answers come from our records)
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
first catalogued 2026-11-05;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.

# MCP Go SDK

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

This repository contains an implementation of the official Go software
development kit (SDK) for the Model Context Protocol (MCP).
## Package / Feature documentation
The SDK consists of several importable packages:
The
github.com/modelcontextprotocol/go-sdk/mcp
package defines the primary APIs for constructing and using MCP clients and
servers.
The
github.com/modelcontextprotocol/go-sdk/jsonrpc package is for users implementing
their own transports.
The
github.com/modelcontextprotocol/go-sdk/auth
package provides some primitives for supporting OAuth.
The
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/ directory
contains feature documentation, mapping the MCP spec to the packages above.
## Version Compatibility
The following table shows which versions of the Go SDK support which versions of the MCP specification:
| SDK Version | Latest MCP Spec | All Supported MCP Specs |
| v1.7.0+ | 2026-07-28 | 2026-07-28, 2025-11-25\, 2025-06-18, 2025-03-26, 2024-11-05 |
| v1.4.0 - v1.6.1 | 2025-11-25\ | 2025-11-25\, 2025-06-18, 2025-03-26, 2024-11-05 |
| v1.2.0 - v1.3.1 | 2025-11-25\\ | 2025-11-25\\, 2025-06-18, 2025-03-26, 2024-11-05 |
| v1.0.0 - v1.1.0 | 2025-06-18 | 2025-06-18, 2025-03-26, 2024-11-05 |
\ Client side OAuth has experimental support.
\\ Partial support for 2025-11-25 (client side OAuth and Sampling with tools not available).
The roots, sampling, and logging features are deprecated as of protocol version
2026-07-28 by
SEP-2577.
The SDK continues to support them for compatibility during the deprecation
window (at least twelve months). See the individual feature documentation for
migration guidance.
New releases of the SDK target only supported versions of Go. See
https://go.dev/doc/devel/release#policy for more information.
## Getting started
To get started creating an MCP server, create an mcp.Server instance, add
features to it, and then run it over an mcp.Transport. For example, this
server adds a single simple tool, and then connects it to clients over
stdin/stdout:
go
package main
import (
"context"
"log"
"github.com/modelcontextprotocol/go-sdk/mcp"
type Input struct {
Name string json:"name" jsonschema:"the name of the person to greet"
type Output struct {
Greeting string json:"greeting" jsonschema:"the greeting to tell to the user"
func SayHi(ctx context.Context, req mcp.CallToolRequest, input Input) (
mcp.CallToolResult,
Output,
error,
) {
return nil, Output{Greeting: "Hi " + input.Name}, nil
func main() {
// Create a server with a single tool.
server := mcp.NewServer(&mcp.Implementation{Name: "greeter", Version: "v1.0.0"}, nil)
mcp.AddTool(server, &mcp.Tool{Name: "greet", Description: "say hi"}, SayHi)
// Run the server over stdin/stdout, until the client disconnects.
if err := server.Run(context.Background(), &mcp.StdioTransport{}); err != nil {
log.Fatal(err)
To communicate with that server, create an mcp.Client and connect it to the
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[![Listed on Anclum](https://anclum.com/badge/listed.svg)](https://anclum.com/en/s/modelcontextprotocol-go-sdk/)
Source
awesome · https://github.com/modelcontextprotocol/go-sdk
Browse by field
MCP servers
Listed by
10 independent sources
added
today

More like this

All 6,229 →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index