mcp - 通道或方式相互代理转换
(v3.2.1-SNAPSHOT 后支持)
stdio mcp-server 通过代理,转为 sse mcp-server
@McpServerEndpoint(name = "stdio-to-sse-tool")
public class McpStdioToSseServerDemo implements ToolProvider {
McpClientToolProvider stdioToolProvider = McpClientToolProvider.builder()
.channel(McpChannel.STDIO) //表示使用 stdio
.serverParameters(ServerParameters.builder("java")
.args("-jar", "/Users/noear/Downloads/demo-mcp-stdio/target/demo-mcp-stdio.jar")
.build())
.build();
@Override
public Collection<FunctionTool> getTools() {
return stdioToolProvider.getTools();
}
}
sse mcp-server 通过代理,转为 stdio mcp-server
@McpServerEndpoint(name = "sse-to-stdio-tool", channel = McpChannel.STDIO)
public class McpSseToStdioServerDemo implements ToolProvider {
McpClientToolProvider sseToolProvider = McpClientToolProvider.builder()
.apiUrl("http://localhost:8081/sse")
.build();
@Override
public Collection<FunctionTool> getTools() {
return sseToolProvider.getTools();
}
}