go-sdk/docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Pavel Bazin c044cdb734
fix: do not omitempty ReadOnlyHint in ToolAnnotations (#908)
`ReadOnlyHint` is a `bool` with omitempty, so the zero value (false) is
indistinguishable from unset, and **drops out** of marshaled JSON.

The current behavior causes an issue with the OpenAI MCP app submission
because they require explicit hints.

Consumers that explicitly set `ReadOnlyHint: false` on write tools lose
the field on the wire. Removing `omitempty` ensures `false` is always
serialized, which matches the MCP spec default.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Maciej Kisiel <mkisiel@google.com>
Co-authored-by: guglielmoc <guglielmoc@google.com>
2026-05-25 15:52:15 +02:00
..
images Add documentation backed by mkdocs (#883) 2026-04-09 14:25:43 +02:00
client.md mcp: add Capabilities fields to ServerOptions and ClientOptions (#713) 2025-12-11 20:17:46 -05:00
CNAME Add documentation backed by mkdocs (#883) 2026-04-09 14:25:43 +02:00
contributing.md Add documentation backed by mkdocs (#883) 2026-04-09 14:25:43 +02:00
mcpgodebug.md fix: do not omitempty ReadOnlyHint in ToolAnnotations (#908) 2026-05-25 15:52:15 +02:00
protocol.md Add documentation backed by mkdocs (#883) 2026-04-09 14:25:43 +02:00
quick_start.md Add documentation backed by mkdocs (#883) 2026-04-09 14:25:43 +02:00
README.md Add documentation backed by mkdocs (#883) 2026-04-09 14:25:43 +02:00
rough_edges.md fix: do not omitempty ReadOnlyHint in ToolAnnotations (#908) 2026-05-25 15:52:15 +02:00
server.md Add documentation backed by mkdocs (#883) 2026-04-09 14:25:43 +02:00
troubleshooting.md mcp: update latestProtocolVersion to 2025-11-25 (#724) 2026-03-03 10:30:11 +01:00

Overview

The SDK consists of several importable packages:

These docs mirror the official MCP spec. Use the index below to learn how the SDK implements a particular aspect of the protocol.

Base Protocol

  1. Lifecycle (Clients, Servers, and Sessions).
  2. Transports
    1. Stdio transport
    2. Streamable transport
    3. Custom transports
  3. Authorization
  4. Security
  5. Utilities
    1. Cancellation
    2. Ping
    3. Progress

Client Features

  1. Roots
  2. Sampling
  3. Elicitation

Server Features

  1. Prompts
  2. Resources
  3. Tools
  4. Utilities
    1. Completion
    2. Logging
    3. Pagination

TroubleShooting

See troubleshooting.md for a troubleshooting guide.

Backwards compatibility

See mcpgodebug.md for a list of backwards incompatible behavior changes and description how they can be temporarily undone.

Rough edges

See rough_edges.md for a list of rough edges or API oversights that can't be addressed due to our compatibility promise. We'll revisit these if/when we move to a v2 of the SDK.