import io.modelcontextprotocol.client.McpClient; import io.modelcontextprotocol.client.McpSyncClient; import io.modelcontextprotocol.client.transport.HttpClientStreamableHttpTransport; import io.modelcontextprotocol.spec.McpSchema; import java.net.http.HttpRequest; import java.time.Duration; import java.util.Map; import com.fasterxml.jackson.databind.ObjectMapper; public class TestMcpClient { public static void main(String[] args) throws Exception { String endpoint = "http://localhost:8086/mcp"; HttpRequest.Builder requestBuilder = HttpRequest.newBuilder(); requestBuilder.header("Authorization", "Bearer dapms"); HttpClientStreamableHttpTransport transport = HttpClientStreamableHttpTransport.builder(endpoint) .requestBuilder(requestBuilder) .connectTimeout(Duration.ofSeconds(5)) .build(); try (McpSyncClient client = McpClient.sync(transport) .clientInfo(new McpSchema.Implementation("test-client", "1.0.0")) .requestTimeout(Duration.ofSeconds(30)) .build()) { System.out.println("Initializing client..."); client.initialize(); System.out.println("Client initialized."); System.out.println("Calling tool..."); McpSchema.CallToolResult result = client.callTool(McpSchema.CallToolRequest.builder() .name("iam_team_contact") .arguments(Map.of("target", "전체")) .build()); System.out.println("Result: " + result); } catch (Exception e) { e.printStackTrace(); } } }