news 2026/8/22 19:17:06

(支持 MCP 无状态集群)Solon AI MCP v3.8.0, v3.7.4,v3.6.7 发布

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
(支持 MCP 无状态集群)Solon AI MCP v3.8.0, v3.7.4,v3.6.7 发布

Solon AI & MCP(支持 LTS)

Solon AI & MCP ,是 Solon 官方推出的 Java 智能体应用开发框架。旨在为 Java 开发者提供统一的接口抽象层,简化与 OpenAI、DeepSeek、QWen 等主流 AI 模型的集成流程,以及简化 Mcp 的开发体验。同时支持 Java 8 到 Java 25。

主要特点:

  • 一套接口支持不同提供者、不同大模型调用(通过方言适配)
  • 支持聊天模型(ChatModel)
    • 支持 Prompt 和 PromptTemplate;支持会话记忆(ChatSession);支持 Function Call(或 Tool Call)
    • 支持同步接口(call)与流式接口(stream);支持多态模型等
  • 支持生成模型(GenerateModel)
    • 支持生成文案、图像、声音、视频
  • 支持 RAG
    • 文档加载、分割(excel, html, markdown, pdf, ppt, word…)
    • 矢量知识库(chroma、dashvector、elasticsearch、milvus、opensearch、qdrant、redis、tcvectordb…)
    • 嵌入模型(EmbeddingModel) 、排序模型(RankingModel)
  • 支持 MCP(McpServer、McpClient、McpProxy),支持 MCP_2025_06_18 版本协议
    • 支持 stdio、sse、streamable、streamable_stateless 传输方式
  • 支持 AI-Flow
    • 支持包容、排它、并行、循环等网关
  • 支持 Spring、jFinal、Vert.x 等 Solon 以外的框架
  • 等…更多内容,参考官网介绍

v3.8.0 更新

重要变化:

  • mcp-java-sdk 升为 v0.17 (支持 2025-06-18 版本协议)
  • 添加 mcp-server McpChannel.STREAMABLE_STATELESS 通道支持(集群友好)
  • 添加 mcp-server 异步支持

具体更新:

  • 添加 solon-ai FunctionPrompt:handleAsync(用于 mcp-server 异步支持)
  • 添加 solon-ai FunctionResource:handleAsync(用于 mcp-server 异步支持)
  • 添加 solon-ai FunctionTool:handleAsync(用于 mcp-server 异步支持)
  • 添加 solon-ai-core ChatMessage:toNdjson,fromNdjson 方法(替代 ChatSession:toNdjson, loadNdjson),新方法机制上更自由
  • 添加 solon-ai-core ToolSchemaUtil.jsonSchema Publisher 泛型支持
  • 添加 solon-ai-core ToolSchemaUtil.isIgnoreOutputSchema Publisher 泛型支持
  • 添加 solon-ai-mcp mcp-java-sdk v0.17 适配(支持 2025-06-18 版本协议)
  • 添加 solon-ai-mcp mcp-server 异步支持
  • 添加 solon-ai-mcp mcp-server streamable_stateless 支持
  • 添加 solon-ai-mcp Tool,Resource,Prompt 对 org.reactivestreams.Publisher 异步返回支持
  • 添加 solon-ai-mcp McpServerHost 服务宿主接口,用于隔离有状态与无状态服务
  • 添加 solon-ai-mcp McpChannel.STREAMABLE_STATELESS (服务端)无状态会话
  • 添加 solon-ai-mcp McpClientProvider:customize 方法(用于扩展 roots, sampling 等)
  • 添加 solon-ai-mcp mcpServer McpAsyncServerExchange 注入支持(用于扩展 roots, sampling 等)
  • 优化 solon-ai-dialect-openai claude 兼容性
  • 优化 solon-ai-mcp mcp StreamableHttp 模式下 服务端正常返回时 客户端异常日志打印的情况
  • 调整 solon-ai-mcp getResourceTemplates、getResources 不再共享注册
  • 调整 solon-ai-mcp McpServerManager 内部接口更名为 McpPrimitivesRegistry (MCP 原语注册器)
  • 调整 solon-ai-mcp McpClientProvider 默认不启用心跳机制(随着 mcp-sdk 的成熟,server 都有心跳机制了)
  • mcp ToolCapabilities 添加 @JsonIgnoreProperties(ignoreUnknown = true)

新特性展示:1.MCP 无状态会话(STREAMABLE_STATELESS)和 2.CompletableFuture 异步MCP工具

@McpServerEndpoint(channel=McpChannel.STREAMABLE_STATELESS,mcpEndpoint="/mcp1")publicclassMcpServerTool{@ToolMapping(description="查询天气预报",returnDirect=true)publicCompletableFuture<String>getWeather(@Param(description="城市位置")Stringlocation){returnCompletableFuture.completedFuture("晴,14度");}}

传输方式对应表:(服务端与客户端,须使用对应的传输方式才可通讯)

服务端客户端备注
STDIOSTDIO
SSESSE
STREAMABLESTREAMABLE
STREAMABLE_STATELESSSTREAMABLE对 server 集群很友好
  • STREAMABLE_STATELESS 集群,不需要 ip_hash,但“原语”变化后无法通知 client

v3.7.4 更新(LTS 维护中)

  • 添加 solon-ai-core ChatMessage:toNdjson,fromNdjson 方法(替代 ChatSession:toNdjson, loadNdjson),新方法机制上更自由
  • 优化 solon-ai-mcp mcp StreamableHttp 模式下 服务端正常返回时 客户端异常日志打印的情况

v3.6.7 更新(LTS 维护中)

  • 添加 solon-ai-core ChatMessage:toNdjson,fromNdjson 方法(替代 ChatSession:toNdjson, loadNdjson),新方法机制上更自由

技术预览

  • 构建聊天模型(统一方式,支持不同的模型构建)
ChatModelchatModel=ChatModel.of(apiUrl).provider(provider).model(model);//同步请求chatModel.prompt("hello").call();//流式请求chatModel.prompt("hello").stream();
  • 使用 MCP
//MCP 服务端(支持无状态服务,支持异步返回)@McpServerEndpoint(channel=McpChannel.STREAMABLE_STATELESS,mcpEndpoint="/mcp")publicclassMcpServerTool{//工具@ToolMapping(description="查询天气预报")publicMono<String>getWeather(@Param(description="城市位置")Stringlocation){returnMono.just("晴,14度");}//资源@ResourceMapping(uri="config://app-version",description="获取应用版本号",mimeType="text/config")publicStringgetAppVersion(){return"v3.2.0";}//提示语@PromptMapping(description="生成关于某个主题的提问")publicCollection<ChatMessage>askQuestion(@Param(description="主题")Stringtopic){returnArrays.asList(ChatMessage.ofUser("请解释一下'"+topic+"'的概念?"));}}//MCP 客户端McpClientProviderclientProvider=McpClientProvider.builder().channel(McpChannel.STREAMABLE).apiUrl("http://localhost:8080/mcp").build();//客户端与聊天模型集成//::构建时集成(全局)ChatModelchatModel=ChatModel.of(apiUrl).provider(provider).model(model).defaultToolsAdd(clientProvider);//::聊天时集成(单次)chatModel.prompt("hello").options(o->o.toolsAdd(clientProvider)).call();

项目仓库地址?

  • gitee:https://gitee.com/opensolon/solon-ai
  • gitcode: https://gitcode.com/opensolon/solon-ai
  • github:https://github.com/opensolon/solon-ai

官网?

  • https://solon.noear.org/article/learn-solon-ai
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 6:15:28

python网上求职招聘系统_7681v

目录已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;已开发项目效果实现截图 同行可拿货,招校园代理 python网上求职招聘系统_7681v 开发技术路线 开发语…

作者头像 李华
网站建设 2026/8/21 18:40:10

python网上税务办税预约系统

目录已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;已开发项目效果实现截图 同行可拿货,招校园代理 python网上税务办税预约系统 开发技术路线 开发语言&…

作者头像 李华
网站建设 2026/8/21 18:40:04

PaddlePaddle平台如何支持弱监督与半监督学习?

PaddlePaddle如何赋能弱监督与半监督学习&#xff1a;从框架能力到产业落地 在AI工业化进程不断加速的今天&#xff0c;一个现实问题始终制约着深度学习模型的大规模落地——高质量标注数据的成本太高了。尤其是在医疗影像分析、工业缺陷检测、金融风控等专业领域&#xff0c;每…

作者头像 李华
网站建设 2026/8/21 18:40:05

基于非对称纳什谈判的多微网电能共享运行优化策略 关键词:纳什谈判 合作博弈 微网 电转气-碳捕...

基于非对称纳什谈判的多微网电能共享运行优化策略 关键词&#xff1a;纳什谈判 合作博弈 微网 电转气-碳捕集 P2P电能交易交易 参考文档&#xff1a;《基于非对称纳什谈判的多微网电能共享运行优化策略》完美复现 仿真平台&#xff1a;MATLAB CPLEX 主要内容&#xff1a;…

作者头像 李华
网站建设 2026/8/21 18:40:05

JS正则判断汉字:匹配与验证方法详解

在处理前端表单验证或文本分析时&#xff0c;判断字符串中是否包含汉字是一个常见需求。JavaScript的正则表达式为我们提供了一种高效、直接的解决方案。掌握这个方法&#xff0c;能有效提升数据处理的准确性和用户体验。 如何使用正则表达式匹配单个汉字 在JavaScript中&#…

作者头像 李华
网站建设 2026/8/21 18:40:06

【Open-AutoGLM开发实战指南】:掌握高效AI自动化开发的5大核心技巧

第一章&#xff1a;Open-AutoGLM开发入门与环境搭建Open-AutoGLM 是一个面向自动化代码生成与自然语言理解的开源框架&#xff0c;基于 GLM 架构构建&#xff0c;支持多种编程语言的智能补全与语义分析。为顺利开展开发工作&#xff0c;需首先完成基础环境的配置与核心依赖的安…

作者头像 李华