package com.ivy.mcp.sse.client;
|
|
|
import io.modelcontextprotocol.client.McpClient;
|
import io.modelcontextprotocol.client.transport.WebFluxSseClientTransport;
|
import io.modelcontextprotocol.spec.McpSchema;
|
import org.springframework.web.reactive.function.client.WebClient;
|
|
import java.util.Map;
|
|
public class ClientWebflux {
|
|
public static void main(String[] args) {
|
|
var transport = new WebFluxSseClientTransport(WebClient.builder().baseUrl("http://localhost:8080"));
|
try (var client = McpClient.sync(transport).build()) {
|
|
client.initialize();
|
// client.ping();
|
|
McpSchema.ListToolsResult toolsList = client.listTools();
|
System.out.println("Available Tools = " + toolsList);
|
|
McpSchema.CallToolResult sumResult = client.callTool(new McpSchema.CallToolRequest("add",
|
Map.of("a", 1, "b", 2)));
|
System.out.println("add a+ b = " + sumResult.content().get(0));
|
|
|
McpSchema.CallToolResult currentTimResult = client.callTool(new McpSchema.CallToolRequest("getCurrentTime", Map.of()));
|
System.out.println("current time Response = " + currentTimResult);
|
}
|
}
|
|
}
|