AgentScope mcp工具使用。
前提条件:先启动 mcp-server-sse
public class McpClientDemo {
public static void main(String[] args) {
String apiKey = "sk-8980de1b287d490eb259d1f70eebeab4";
// 1. 通过 SSE 传输方式连接到 MCP Server(mcp-server-sse 模块,端口 8003)
McpClientWrapper mcpClient = McpClientBuilder.create("weather-mcp")
.sseTransport("http://127.0.0.1:8003/sse")
.timeout(Duration.ofSeconds(30))
.buildAsync()
.block();
System.out.println("✅ 已成功连接到 MCP Server (SSE)");
// 2. 创建 Toolkit 并注册 MCP 客户端中的所有工具
Toolkit toolkit = new Toolkit();
toolkit.registerMcpClient(mcpClient).block();
// 打印已注册的工具
System.out.println("📦 已注册的工具列表: " + toolkit.getToolNames());
// 3. 创建 ReActAgent,配置模型与工具
ReActAgent agent = ReActAgent.builder()
.name("WeatherAssistant")
.sysPrompt("你是一个天气助手,可以帮用户查询各个城市的天气信息。请使用工具来获取天气数据。")
.model(DashScopeChatModel.builder()
.apiKey(apiKey)
.modelName("qwen-max")
.build())
.toolkit(toolkit)
.memory(new InMemoryMemory())
.build();
// 4. 发送消息,让 Agent 调用 MCP 工具查询天气
System.out.println("\n--- 第1轮对话 ---");
Msg msg1 = Msg.builder()
.textContent("北京今天天气怎么样?")
.build();
Msg reply1 = agent.call(msg1).block();
System.out.println("用户: 北京今天天气怎么样?");
System.out.println("Agent: " + reply1.getTextContent());
// 第2轮对话 - 查询另一个城市
System.out.println("\n--- 第2轮对话 ---");
Msg msg2 = Msg.builder()
.textContent("深圳呢?")
.build();
Msg reply2 = agent.call(msg2).block();
System.out.println("用户: 深圳呢?");
System.out.println("Agent: " + reply2.getTextContent());
// 5. 清理资源
toolkit.removeMcpClient("weather-mcp").block();
System.out.println("\n🔌 已断开 MCP 连接");
}
}
作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!
浙公网安备 33010602011771号