@@ -40,12 +40,14 @@ public McpClient(IClientTransport clientTransport, McpClientOptions options, Mcp
4040 throw new InvalidOperationException ( $ "Sampling capability was set but it did not provide a handler.") ;
4141 }
4242
43- SetRequestHandler < CreateMessageRequestParams , CreateMessageResult > (
43+ SetRequestHandler (
4444 RequestMethods . SamplingCreateMessage ,
4545 ( request , cancellationToken ) => samplingHandler (
4646 request ,
4747 request ? . Meta ? . ProgressToken is { } token ? new TokenProgress ( this , token ) : NullProgress . Instance ,
48- cancellationToken ) ) ;
48+ cancellationToken ) ,
49+ McpJsonUtilities . JsonContext . Default . CreateMessageRequestParams ,
50+ McpJsonUtilities . JsonContext . Default . CreateMessageResult ) ;
4951 }
5052
5153 if ( options . Capabilities ? . Roots is { } rootsCapability )
@@ -55,9 +57,11 @@ public McpClient(IClientTransport clientTransport, McpClientOptions options, Mcp
5557 throw new InvalidOperationException ( $ "Roots capability was set but it did not provide a handler.") ;
5658 }
5759
58- SetRequestHandler < ListRootsRequestParams , ListRootsResult > (
60+ SetRequestHandler (
5961 RequestMethods . RootsList ,
60- ( request , cancellationToken ) => rootsHandler ( request , cancellationToken ) ) ;
62+ rootsHandler ,
63+ McpJsonUtilities . JsonContext . Default . ListRootsRequestParams ,
64+ McpJsonUtilities . JsonContext . Default . ListRootsResult ) ;
6165 }
6266 }
6367
@@ -88,21 +92,20 @@ public async Task ConnectAsync(CancellationToken cancellationToken = default)
8892 using var initializationCts = CancellationTokenSource . CreateLinkedTokenSource ( cancellationToken ) ;
8993 initializationCts . CancelAfter ( _options . InitializationTimeout ) ;
9094
91- try
92- {
93- // Send initialize request
94- var initializeResponse = await SendRequestAsync < InitializeResult > (
95- new JsonRpcRequest
96- {
97- Method = RequestMethods . Initialize ,
98- Params = new InitializeRequestParams ( )
99- {
100- ProtocolVersion = _options . ProtocolVersion ,
101- Capabilities = _options . Capabilities ?? new ClientCapabilities ( ) ,
102- ClientInfo = _options . ClientInfo
103- }
104- } ,
105- initializationCts . Token ) . ConfigureAwait ( false ) ;
95+ try
96+ {
97+ // Send initialize request
98+ var initializeResponse = await this . SendRequestAsync (
99+ RequestMethods . Initialize ,
100+ new InitializeRequestParams
101+ {
102+ ProtocolVersion = _options . ProtocolVersion ,
103+ Capabilities = _options . Capabilities ?? new ClientCapabilities ( ) ,
104+ ClientInfo = _options . ClientInfo
105+ } ,
106+ McpJsonUtilities . JsonContext . Default . InitializeRequestParams ,
107+ McpJsonUtilities . JsonContext . Default . InitializeResult ,
108+ cancellationToken : initializationCts . Token ) . ConfigureAwait ( false ) ;
106109
107110 // Store server information
108111 _logger . ServerCapabilitiesReceived ( EndpointName ,
0 commit comments