package com.example.demo.test; import io.modelcontextprotocol.client.McpClient; import io.modelcontextprotocol.client.McpSyncClient; import io.modelcontextprotocol.client.transport.HttpClientStreamableHttpTransport; import io.modelcontextprotocol.spec.McpSchema; import java.time.Duration; import java.util.HashMap; import java.util.Map; public class McpStateLessClientTest { public static void main(String[] args) { HttpClientStreamableHttpTransport transport = HttpClientStreamableHttpTransport.builder("http://127.0.0.1:7778/mcp") .build(); McpSyncClient client = McpClient.sync(transport) .requestTimeout(Duration.ofSeconds(30)).build(); client.initialize(); System.out.println("获取工具描述"); McpSchema.ListToolsResult ts = client.listTools(); ts.tools().forEach(t->{ System.out.println(t.name()+"->"+t.description()); }); Map p = new HashMap(); p.put("city","北京"); McpSchema.CallToolResult re = client.callTool( McpSchema.CallToolRequest.builder() .name("getWeather") .arguments(p).build()); System.out.println("执行工具结果:"+re.content()); client.close(); } }