@@ -182,15 +182,35 @@ the server using the streamable transport protocol.
182182
183183#### Stateless Mode
184184
185- <!-- TODO -->
186-
187- #### Sessionless mode
188-
189- <!-- TODO -->
185+ The streamable server supports a _ stateless mode_ by setting
186+ [ ` StreamableHTTPOptions.Stateless ` ] ( https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/mcp#StreamableHTTPOptions.Stateless ) ,
187+ which is where the server does not perform any validation of the session id,
188+ and uses a temporary session to handle requests. In this mode, it is impossible
189+ for the server to make client requests, as there is no way for the client's
190+ response to reach the session.
191+
192+ However, it is still possible for the server to access the ` ServerSession.ID `
193+ to see the logical session
194+
195+ > [ !WARNING]
196+ > Stateless mode is not directly discussed in the spec, and is still being
197+ > defined. See modelcontextprotocol/modelcontextprotocol #1364 ,
198+ > modelcontextprotocol/modelcontextprotocol #1372 , or
199+ > modelcontextprotocol/modelcontextprotocol #11442 for potential refinements.
200+
201+ _ See [ examples/server/distributed] ( ../examples/server/distributed/main.go ) for
202+ an example using statless mode to implement a server distributed across
203+ multiple processes._
190204
191205### Custom transports
192206
193- <!-- TODO -->
207+ The SDK supports [ custom
208+ transports] ( https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#custom-transports )
209+ by implementing the
210+ [ ` Transport ` ] ( https://pkg.go.dev/github.com/modelcontextprotocol/go-sdk/mcp#Transport )
211+ interface: a logical bidirectional stream of JSON-RPC messages.
212+
213+ _ Full example: [ examples/server/custom-transport] ( ../examples/server/custom-transport/main.go ) ._
194214
195215### Concurrency
196216
0 commit comments