go-sdk/internal
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Guglielmo Colombo c60a318d22
mcp: Implement support for SEP-2575 on client side (#975)
Implements the client half of the SEP-2575 / `2026-06-30` protocol. This
CL is client-only; server-side `server/discover` is still a
`MethodNotFound` stub.
### Changes
- **`server/discover` probe in `Client.Connect()`** (`client.go`). When
the caller opts into `protocolVersion >= 2026-06-30`, the client probes
the server with `server/discover` before falling back to the legacy
`initialize`
  handshake.
- **Per-request `_meta` injection** (`shared.go`, `injectRequestMeta`).
For`>= 2026-06-30` sessions every outgoing request gets the SEP-2575
triple (`protocolVersion`, `clientInfo`, `clientCapabilities`).
- **Server-side fix**: `ServerSession.handle` no longer pre-populates
`state.InitializeParams` from a `server/discover` request's `_meta`, so
a subsequent fallback `initialize` is not rejected as a duplicate.
### Fallback rules
Client falls back to the legacy `initialize` handshake when discover
returns:
- `MethodNotFound` (-32601),
- `UnsupportedProtocolVersionError` (-32004),
- an HTTP `Bad Request` (substring-matched on the error message, to
interop
  with pre-2026-06-30 servers).

Fixes #966
2026-06-02 14:17:01 +02:00
..
authutil mcp: add optional issuer validator for pre-registered client validation (SEP-2352) (#946) 2026-05-29 12:46:34 +00:00
docs auth: issuer mix-up mitigation (#859) 2026-05-27 11:39:08 +02:00
json oauthex: use internal JSON library for decoding. (#866) 2026-03-30 14:52:15 +02:00
jsonrpc2 mcp: Implement support for SEP-2575 on client side (#975) 2026-06-02 14:17:01 +02:00
mcpgodebug mcp: update JSON marshaling to not HTML-escape messages (#769) 2026-01-30 17:13:30 +01:00
oauthtest auth: issuer mix-up mitigation (#859) 2026-05-27 11:39:08 +02:00
readme Add documentation backed by mkdocs (#883) 2026-04-09 14:25:43 +02:00
util internal: remove unused util functions (#871) 2026-03-31 15:40:06 +02:00
xcontext x/tools: modernize interface{} -> any 2025-02-19 15:14:27 -08:00