diff --git a/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java b/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java index f8f20041..46396555 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java +++ b/Partner-Main/src/main/java/work/slhaf/partner/core/action/runner/LocalRunnerClient.java @@ -1077,6 +1077,12 @@ public class LocalRunnerClient extends RunnerClient { * @param mcpClientTransportParams MCP Server 的参数 */ private void registerMcpClient(String id, McpClientTransportParams mcpClientTransportParams) { + // 如果已存在同名 client,则需要先获取并关闭 + val old = mcpClients.get(id); + if (old != null) { + old.close(); + } + val clientTransport = createTransport(mcpClientTransportParams); val timeout = mcpClientTransportParams.timeout; val client = McpClient.sync(clientTransport)