【Spring AI】基于 sse 实现 MCP Server

一、maven 依赖

在 pom.xml 文件中增加 spring-boot-starter-web 和 spring-ai-mcp-server-webmvc-spring-boot-starter 依赖,如下:

xml 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>3.2.0</version>
</dependency>

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-mcp-server-webmvc-spring-boot-starter</artifactId>
    <version>1.0.0-M6</version>
</dependency>

二、application.yml

在 application.yml 中增加如下配置:

yaml 复制代码
spring:
  ai:
    mcp:
      server:
        name: my-mcp-server # MCP Server 的名称
        version: 0.0.1

三、代码

  • 定义 MyMcpService,代码如下:
java 复制代码
@Service
public class MyMcpService {
    @Tool(description = "打招呼")
    public String hello(@ToolParam(description = "name") String name) {
        return name + ",您好!欢迎使用 MCP Server";
    }
}
  • 将 MyMcpService 注册到 MCP Tool 中,代码如下:
java 复制代码
@SpringBootApplication
public class Application {
    @Bean
    ToolCallbackProvider whatcellTools(MyMcpService myMcpService) {
        return MethodToolCallbackProvider.builder()
                .toolObjects(myMcpService)
                .build();
    }
    
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

四、使用 MCP Inspector 测试连接

假设 MCP Server 是在本机上的 9000 端口上运行,那么 MCP Inspector 如下:

5、如何将已有的 MCP Server 从 sse 升级到 streamableHttp

可参考 《【Spring AI】MCP Server 从 sse 升级到 streamableHttp》

相关推荐
小小工匠1 天前
Spring AI : 探秘 SpringAI 架构解析
spring ai
梵得儿SHI5 天前
(第三篇)Spring AI 基础入门:PromptTemplate 与对话工程实战(从字符串拼接到底层模板引擎的进阶之路)
人工智能·prompt·大模型应用·spring ai·prompttemplate·ai 响应的质量与准确性·上下文管理策略
rengang667 天前
105-Spring AI Alibaba Module RAG 使用示例
java·人工智能·spring·rag·spring ai·ai应用编程
rengang667 天前
Spring AI Alibaba 框架使用示例总体介绍
java·人工智能·spring·spring ai·ai应用编程
rengang668 天前
512-Spring AI Alibaba 字段分类分级 Graph 示例
人工智能·spring·分类·spring ai·ai应用编程
rengang668 天前
502-Spring AI Alibaba React Agent 功能完整案例
人工智能·spring·agent·react·spring ai·ai应用编程
rengang668 天前
352-Spring AI Alibaba OpenAI DashScope 多模态示例
java·人工智能·spring·多模态·spring ai·ai应用编程
rengang669 天前
134-Spring AI Alibaba OceanBase 向量数据库示例
java·人工智能·spring·oceanbase·rag·spring ai·ai应用编程
rengang669 天前
106-Spring AI Alibaba RAG ETL Pipeline 完整案例
人工智能·spring·etl·rag·spring ai·ai应用编程
rengang669 天前
353-Spring AI Alibaba ARK 多模型示例
java·人工智能·spring·多模态·spring ai·ai应用编程