refactor(LocalRunnerClient): rename McpServerParams into McpClientTrasnportParams

This commit is contained in:
2025-12-22 15:02:07 +08:00
parent 88a14f36b2
commit 476acb0641

View File

@@ -220,12 +220,12 @@ public class LocalRunnerClient extends RunnerClient {
* 该部分主要发生在扫描到新的MCP Server描述文件时出现的注册逻辑 * 该部分主要发生在扫描到新的MCP Server描述文件时出现的注册逻辑
* *
* @param id MCP Client 的 id * @param id MCP Client 的 id
* @param mcpServerParams MCP Server 的参数 * @param mcpClientTransportParams MCP Server 的参数
*/ */
private void registerMcpClient(String id, McpServerParams mcpServerParams) { private void registerMcpClient(String id, McpClientTransportParams mcpClientTransportParams) {
McpClientTransport clientTransport = createTransport(mcpServerParams); McpClientTransport clientTransport = createTransport(mcpClientTransportParams);
McpSyncClient client = McpClient.sync(clientTransport) McpSyncClient client = McpClient.sync(clientTransport)
.requestTimeout(Duration.ofSeconds(mcpServerParams.timeout)) .requestTimeout(Duration.ofSeconds(mcpClientTransportParams.timeout))
.clientInfo(new McpSchema.Implementation(id, "PARTNER")) .clientInfo(new McpSchema.Implementation(id, "PARTNER"))
// 行动程序(现 MCP Tool)的描述文本将直接由resources返回 // 行动程序(现 MCP Tool)的描述文本将直接由resources返回
// 原因: ToolChange 发送的内容侧重调用,缺少可承担描述文本的字段 // 原因: ToolChange 发送的内容侧重调用,缺少可承担描述文本的字段
@@ -261,16 +261,16 @@ public class LocalRunnerClient extends RunnerClient {
return info; return info;
} }
private McpClientTransport createTransport(McpServerParams mcpServerParams) { private McpClientTransport createTransport(McpClientTransportParams mcpClientTransportParams) {
return switch (mcpServerParams) { return switch (mcpClientTransportParams) {
case StdioMcpServerParams params -> { case StdioMcpClientTransportParams params -> {
ServerParameters serverParameters = ServerParameters.builder(params.command) ServerParameters serverParameters = ServerParameters.builder(params.command)
.env(params.env) .env(params.env)
.args(params.args) .args(params.args)
.build(); .build();
yield new StdioClientTransport(serverParameters, McpJsonMapper.getDefault()); yield new StdioClientTransport(serverParameters, McpJsonMapper.getDefault());
} }
case HttpMcpServerParams params -> { case HttpMcpClientTransportParams params -> {
McpSyncHttpClientRequestCustomizer customizer = (builder, method, endpoint, body, context) -> { McpSyncHttpClientRequestCustomizer customizer = (builder, method, endpoint, body, context) -> {
params.headers.forEach(builder::setHeader); params.headers.forEach(builder::setHeader);
}; };
@@ -289,20 +289,20 @@ public class LocalRunnerClient extends RunnerClient {
}); });
} }
private sealed abstract static class McpServerParams permits HttpMcpServerParams, StdioMcpServerParams { private sealed abstract static class McpClientTransportParams permits HttpMcpClientTransportParams, StdioMcpClientTransportParams {
private final int timeout; private final int timeout;
private McpServerParams(int timeout) { private McpClientTransportParams(int timeout) {
this.timeout = timeout; this.timeout = timeout;
} }
} }
private final static class HttpMcpServerParams extends McpServerParams { private final static class HttpMcpClientTransportParams extends McpClientTransportParams {
private final String baseUri; private final String baseUri;
private final String endpoint; private final String endpoint;
private final Map<String, String> headers; private final Map<String, String> headers;
private HttpMcpServerParams(int timeout, String baseUri, String endpoint, Map<String, String> header) { private HttpMcpClientTransportParams(int timeout, String baseUri, String endpoint, Map<String, String> header) {
super(timeout); super(timeout);
this.baseUri = baseUri; this.baseUri = baseUri;
this.endpoint = endpoint; this.endpoint = endpoint;
@@ -310,12 +310,12 @@ public class LocalRunnerClient extends RunnerClient {
} }
} }
private final static class StdioMcpServerParams extends McpServerParams { private final static class StdioMcpClientTransportParams extends McpClientTransportParams {
private final String command; private final String command;
private final Map<String, String> env; private final Map<String, String> env;
private final List<String> args; private final List<String> args;
private StdioMcpServerParams(int timeout, String command, Map<String, String> env, List<String> args) { private StdioMcpClientTransportParams(int timeout, String command, Map<String, String> env, List<String> args) {
super(timeout); super(timeout);
this.command = command; this.command = command;
this.env = env; this.env = env;