v3.5.1-M3 SolonMcp 更新与兼容说明
v3.5.1-M3
1、更新说明
- 添加 solon-ai-mcp McpServerEndpointProvider:Builder 添加 context-path 配置
- 优化 solon-ai-mcp McpClientProvider 配置向 McpServers json 格式上靠
- 修复 solon-ai-core
think-> tool -> think
时,工具调用的内容无法加入到对话的问题 - 修复 solon-ai-mcp 服务端传输层的会话长连会超时的问题
- 修复 solon-ai-mcp 客户端提供者心跳失效的问题
- 修复 solon-ai-mcp SSE 传输时 message 端点未附加 context-path 的问题
- mcp
McpSchema:*Capabilities
添加@JsonIgnoreProperties(ignoreUnknown = true)
增强跨协议版本兼容性
v3.5.0
1、更新说明
- 新增 solon-ai-mcp MCP_2025-03-26 版本协议支持
- 调整 solon-ai-mcp channel 取消默认值(之前为 sse),且为必填(为兼容过度,有明确的开发时、启动时提醒)
- 如果默认值仍为 sse ,升级后可能忘了修改了升级
- 如果默认值改为 streamable,升级后会造成不兼容
public interface McpChannel {
String STDIO = "stdio";
String SSE = "sse"; //MCP官方已标为弃用
String STREAMABLE = "streamable"; //新增(MCP_2025-03-26 版本新增)
}
2、兼容说明
- channel 取消默认值(之前为 sse),且为必填
提醒:SSE 与 STREAMABLE 不能互通(升级时,要注意这点)
3、应用示例
for server (如果 channel 不加,默认为 streamable。之前默认为 sse)
@McpServerEndpoint(channel=McpChannel.STREAMABLE, mcpEndpoint = "/mcp")
public class McpServerTool {
@ToolMapping(description = "查询天气预报")
public String getWeather(@Param(description = "城市位置") String location) {
return "晴,14度";
}
}
client (如果 channel 不加,默认为 streamable。之前默认为 sse)
McpClientProvider mcpClient = McpClientProvider.builder()
.channel(McpChannel.STREAMABLE)
.apiUrl("http://localhost:8081/mcp")
.build();
//测试
String resp = mcpClient.callToolAsText("getWeather", Utils.asMap("location", "杭州")).getContent();
System.out.println(resp);
//对接 LLM
ChatModel chatModel = ChatModel.of(apiUrl).provider(...).model(...)
.defaultToolsAdd(mcpClient) //绑定 mcp 工具
.build();
ChatResponse resp = chatModel
.prompt("今天杭州的天气情况?")
.call();