Skip to content

Commit d255167

Browse files
author
wenhaozhao
committed
feat: pass timeout config while init mcp client
1 parent d204294 commit d255167

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

core/src/main/java/com/google/adk/tools/mcp/McpSessionManager.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.modelcontextprotocol.spec.McpSchema.ClientCapabilities;
2323
import io.modelcontextprotocol.spec.McpSchema.InitializeResult;
2424
import java.time.Duration;
25+
import java.util.Optional;
2526
import org.slf4j.Logger;
2627
import org.slf4j.LoggerFactory;
2728

@@ -51,16 +52,22 @@ public static McpSyncClient initializeSession(Object connectionParams) {
5152

5253
public static McpSyncClient initializeSession(
5354
Object connectionParams, McpTransportBuilder transportBuilder) {
55+
Duration initializationTimeout = null;
56+
Duration requestTimeout = null;
5457
McpClientTransport transport = transportBuilder.build(connectionParams);
55-
58+
if (connectionParams instanceof SseServerParameters sseServerParams) {
59+
initializationTimeout = sseServerParams.timeout();
60+
requestTimeout = sseServerParams.sseReadTimeout();
61+
}
5662
McpSyncClient client =
5763
McpClient.sync(transport)
58-
.requestTimeout(Duration.ofSeconds(10))
64+
.initializationTimeout(
65+
Optional.ofNullable(initializationTimeout).orElse(Duration.ofSeconds(10)))
66+
.requestTimeout(Optional.ofNullable(requestTimeout).orElse(Duration.ofSeconds(10)))
5967
.capabilities(ClientCapabilities.builder().build())
6068
.build();
6169
InitializeResult initResult = client.initialize();
6270
logger.debug("Initialize Client Result: {}", initResult);
63-
6471
return client;
6572
}
6673
}

0 commit comments

Comments
 (0)