feat(mcp): export initialized result in client session (#320)

Export ServerCapabilities and related subtypes and update protocol,
server, and tests to use exported types. Add InitializeResult method on
ClientSession for accessing the initialize result from sessions.

Fixes: https://github.com/modelcontextprotocol/go-sdk/issues/166

Co-authored-by: Shashank Pachava <spachava753@gmail.com>
This commit is contained in:
Matt L 2025-08-18 14:49:02 -04:00 • committed by GitHub
commit 75f9999590
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -409,9 +409,9 @@ func TestStreamableServerTransport(t *testing.T) {
// Predefined steps, to avoid repetition below.
initReq := req(1, methodInitialize, &InitializeParams{})
initResp := resp(1, &InitializeResult{
Capabilities: &serverCapabilities{
Logging: &loggingCapabilities{},
Tools: &toolCapabilities{ListChanged: true},
Capabilities: &ServerCapabilities{
Logging: &LoggingCapabilities{},
Tools: &ToolCapabilities{ListChanged: true},
},
ProtocolVersion: latestProtocolVersion,
ServerInfo: &Implementation{Name: "testServer", Version: "v1.0.0"},
@ -891,9 +891,10 @@ func TestStreamableClientTransportApplicationJSON(t *testing.T) {
}
}
initResult := &InitializeResult{
Capabilities: &serverCapabilities{
Logging: &loggingCapabilities{},
Tools: &toolCapabilities{ListChanged: true},
Capabilities: &ServerCapabilities{
Completions: &CompletionCapabilities{},
Logging: &LoggingCapabilities{},
Tools: &ToolCapabilities{ListChanged: true},
},
ProtocolVersion: latestProtocolVersion,
ServerInfo: &Implementation{Name: "testServer", Version: "v1.0.0"},