当前位置: 首页 > news >正文

Spring Boot 之MCP Server开发全介绍

Spring AI 的 MCP(模型上下文协议,Model Context Protocol)服务器启动器为在 Spring Boot 应用程序中设置 MCP 服务器提供了自动配置功能。它使得 MCP 服务器功能能够与 Spring Boot 的自动配置系统实现无缝集成。

MCP 服务器启动器具备以下特性:

  • MCP 服务器组件的自动配置:能够自动配置 MCP 服务器所需的各种组件,简化配置流程。
  • 支持同步和异步操作模式:提供同步和异步两种操作模式,以满足不同应用场景的需求。
  • 多种传输层选项:支持多种传输层协议,增强系统的灵活性和可扩展性。
  • 灵活的工具、资源和提示规范:允许灵活指定工具、资源和提示信息,便于根据具体需求进行定制。
  • 变更通知能力:具备变更通知功能,能够实时感知并处理系统中的状态变化。

标准MCP服务器(Standard MCP Server)

完整支持 MCP 服务器的所有功能,并使用 STDIO 服务器传输方式。

依赖配置如下:


<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-mcp-server</artifactId>
</dependency>

该启动器适用于命令行工具和桌面应用程序。

特点

  • 无需额外的 Web 依赖:不依赖任何额外的 Web 组件,即可独立运行。
  • 自动配置功能:启动器会激活McpServerAutoConfiguration自动配置类,负责以下工作:
    • 配置基础服务器组件:设置服务器运行所需的基础组件。
    • 处理工具、资源和提示信息规范:管理工具、资源和提示信息的配置与定义。
    • 管理服务器功能和变更通知:监控并处理服务器功能的变更及通知。
    • 提供同步和异步服务器实现:支持同步和异步两种服务器实现方式,以满足不同需求。

WebMVC 服务器传输(WebMVC Server Transport)

完整支持 MCP 服务器的所有功能,基于 Spring MVC 并提供基于 SSE(服务器发送事件,Server-Sent Events)的服务器传输方式,同时可选支持 STDIO 传输方式。

依赖配置如下:


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

该启动器会激活McpWebMvcServerAutoConfiguration和McpServerAutoConfiguration两个自动配置类,以提供以下功能:

  • 基于 Spring MVC 的 HTTP 传输:使用WebMvcSseServerTransportProvider提供基于 HTTP 的 SSE 传输功能。
  • 自动配置的 SSE 端点:自动配置用于服务器发送事件的端点,便于客户端接收服务器推送的更新。
  • 可选的 STDIO 传输方式:通过设置spring.ai.mcp.server.stdio=true可以启用可选的 STDIO 传输方式,增加部署的灵活性。
  • 包含pring-boot-starter-web 和mcp-spring-webmvc 依赖**:自动引入构建 Web 应用所需的 Spring Boot 启动器以及与 MCP 相关的 Spring Web MVC 依赖,简化项目配置。

WebFlux 服务器传输(WebFlux Server Transport)

完整支持 MCP 服务器的所有功能,基于 Spring WebFlux 并提供基于 SSE(服务器发送事件,Server-Sent Events)的服务器传输方式,同时可选支持 STDIO 传输方式。

依赖配置如下:


<dependency><groupId>org.springframework.ai</groupId><artifactId></
http://www.xdnf.cn/news/286867.html

相关文章:

  • Linux | WEB服务器的部署及优化
  • 山东大学项目实训-创新实训-法律文书专家系统-项目报告(三)
  • 推特逆向算法,推特爬虫,数据分析,推特关键词搜索
  • C# 检查某个点是否存在于圆扇区内(Check whether a point exists in circle sector or not)
  • AI小智本地前后端部署
  • Web Workers 技术详解与最佳实践
  • Kubernetes(k8s)学习笔记(七)--KubeSphere 最小化安装
  • webpack 的工作流程
  • 备忘录模式(Memento Pattern)
  • 56.[前端开发-前端工程化]Day03-webpack构建工具
  • Windows11 VS code 安装 Cline 调用 Github MCP 配置过程坑点汇总
  • 深入探索 51 单片机:从入门到实践的全面指南
  • ctfshow——web入门361~368
  • 电脑怎么分屏操作?
  • Gradio全解20——Streaming:流式传输的多媒体应用(5)——基于WebRTC的摄像头实时目标检测
  • N-Gram 模型
  • 慢sql处理流程和常见案例
  • Webug4.0靶场通关笔记16- 第20关文件上传(截断上传)
  • 数据结构——算法复杂度
  • 部署GM DC Monitor 一体化监控预警平台
  • Python 整理3种查看神经网络结构的方法
  • 3DGS-slam:splatam公式
  • 开源模型应用落地-qwen模型小试-Qwen3-8B-推理加速-vLLM(一)
  • Git 标签管理
  • 【STM32 学习笔记】GPIO输入与输出
  • Scrapy分布式爬虫实战:高效抓取的进阶之旅
  • 【NLP】30. 深入理解 In-Context Learning 的核心机制与策略
  • PrivKV: Key-Value Data Collection with Local Differential Privacy论文阅读
  • vue+element 导航 实现例子
  • HarmonyOS Device Connector(hdc)