@@ -54,6 +54,8 @@ public McpSyncClient createSession() {
5454
5555 public static McpSyncClient initializeSession (Object connectionParams ) {
5656 McpClientTransport transport ;
57+ Duration initializationTimeout = null ;
58+ Duration requestTimeout = null ;
5759 if (connectionParams instanceof ServerParameters serverParameters ) {
5860 transport = new StdioClientTransport (serverParameters );
5961 } else if (connectionParams instanceof SseServerParameters sseServerParams ) {
@@ -73,14 +75,21 @@ public static McpSyncClient initializeSession(Object connectionParams) {
7375 )
7476 )
7577 .build ();
78+ initializationTimeout = sseServerParams .timeout ();
79+ requestTimeout = sseServerParams .sseReadTimeout ();
7680 } else {
7781 throw new IllegalArgumentException (
7882 "Connection parameters must be either ServerParameters or SseServerParameters, but got "
7983 + connectionParams .getClass ().getName ());
8084 }
81- McpSyncClient client =
82- McpClient .sync (transport )
83- .requestTimeout (Duration .ofSeconds (10 ))
85+ McpClient .SyncSpec mcpClientSyncSpec = McpClient .sync (transport );
86+ if (initializationTimeout != null ) {
87+ mcpClientSyncSpec = mcpClientSyncSpec .initializationTimeout (initializationTimeout );
88+ }
89+ if (requestTimeout != null ) {
90+ mcpClientSyncSpec = mcpClientSyncSpec .requestTimeout (requestTimeout );
91+ }
92+ McpSyncClient client = mcpClientSyncSpec
8493 .capabilities (ClientCapabilities .builder ().build ())
8594 .build ();
8695 InitializeResult initResult = client .initialize ();
0 commit comments