SpringBoot改造MCP服务器(StreamableHTTP)

项目地址: https://gitee.com/kylewka/smart-ai

1 项目说明

MCP(Model Context Protocol)协议是一个用于 AI 模型和工具之间通信的标准协议。随着 AI 应用变得越来越复杂并被广泛部署,原有的通信机制面临着一系列挑战。

近期 MCP 仓库的 PR #206【1】 引入了一个全新的 Streamable HTTP 传输层替代原有的 HTTP+SSE 传输层

Streamable HTTP 相比 HTTP + SSE 具有更好的稳定性,在高并发场景下表现更优。

Streamable HTTP 在性能方面相比 HTTP + SSE 具有明显优势,响应时间更短且更稳定。

Streamable HTTP 客户端实现相比 HTTP + SSE 更简单,代码量更少,维护成本更低。

本文介绍了SpringBoot如何实现MCP StreamableHTTP 服务器,并且使用 Cherry Studio 客户端测试MCP服务器

Streamable HTTP 支持无状态的服务和有状态的服务,目前的大部分场景无状态的 Streamable HTTP 的可以解决,通过对比两种传输方案的客户端实现代码,可以直观地看到无状态的 Streamable HTTP 的客户端实现简洁性。

由于官方的 mcp-java-sdk 还未支持 StreamableHTTP 模式,同时需要研究以原有项目提供MCP服务,故设计了该项目

项目已经封装为 springboot 的 starter 组件,仅需添加几个注解就能实现MCP服务器方法

项目地址: https://gitee.com/kylewka/smart-ai

2 使用说明

2.1 安装教程

确保您的开发环境已安装 JDK 8 或更高版本以及 Maven

克隆本仓库到本地:git clone https://gitee.com/kylewka/smart-ai.git​

进入项目根目录,执行 Maven 构建命令:mvn clean install​

2.2 添加依赖

在您的 Spring Boot 项目的 pom.xml​ 文件中添加以下依赖

该依赖暂未发布到 Maven 仓库,需要手动安装至本地仓库
com.github.kylewka smart-ai-mcp-spring-boot-starter 1.0.0

2.3 创建 MCP 服务端点

使用 @McpServerEndpoint 注解标注您的服务类,并使用 @McpFunction 注解标注服务方法

@McpServerEndpoint(value = "/mcp", version = "1.0.0", name = "测试MCP服务")

public class McpServerTool {

复制代码
@McpFunction(name = "getWeather", description = "获取天气信息")
public String getWeather(@McpParam(name = "city", description = "城市名称", required = true) String city) {
    return String.format("%s: 晴天,温度25℃", city);
}

@McpFunction(name = "getSpeciality", description = "获取城市特产")
public String getSpeciality(@McpParam(name = "city", description = "城市名称", required = true) String city) {
    return String.format("%s特产是小笼包", city);
}

}

2.4 启动应用

直接启动 Spring Boot 启动,即可启动MCP服务

MCP服务受项目本身的鉴权系统影响,请根据实际情况进行配置

客户端使用

使用新版MCP协议的客户端软件 Cherry Studio,建议使用 Cherry Studio >= 1.2.0

相关推荐
GitCode官方1 天前
参会预告 | AtomGit 邀您共赴 TritonNext 2026 技术大会,解锁 AI 系统与编译生态新机遇
人工智能·开源·atomgit
MobiusStack1 天前
Cursor团队最新文章解读丨动态上下文发现,重新定义AI记忆
人工智能
Rui_Freely1 天前
Vins-Fusion之 相机—IMU在线标定(十一)
人工智能·算法·计算机视觉
沛沛老爹1 天前
Web开发者5分钟上手:Agent Skills环境搭建与基础使用实战
java·人工智能·llm·llama·rag·agent skills
DeepFlow 零侵扰全栈可观测1 天前
3分钟定位OA系统GC瓶颈:DeepFlow全栈可观测平台实战解析
大数据·运维·人工智能·云原生·性能优化
想用offer打牌1 天前
一站式讲清Spring AI Alibaba的OverAllState和RunnableConfig
人工智能·架构·github
生成论实验室1 天前
生成论之基:“阴阳”作为元规则的重构与证成——基于《易经》与《道德经》的古典重诠与现代显象
人工智能·科技·神经网络·算法·架构
数据分享者1 天前
对话对齐反馈数据集:12000+高质量人类-助手多轮对话用于RLHF模型训练与评估-人工智能-大语言模型对齐-人类反馈强化学习-训练符合人类期望的对话模型
人工智能·语言模型·自然语言处理
Java后端的Ai之路1 天前
【人工智能领域】- 卷积神经网络(CNN)深度解析
人工智能·神经网络·cnn
_清欢l1 天前
Dify+test2data实现自然语言查询数据库
数据库·人工智能·openai