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

Spring Al学习9:模型上下文协议(MCP)

模型上下文协议(Model Context Protocol,MCP) 是一种标准化协议,使 AI 模型能以结构化方式与外部工具及资源交互。它支持多种传输机制,以适应不同环境的灵活性需求。

MCP Java SDK 提供 MCP 的 Java 实现,支持通过同步和异步通信模式与 AI 模型及工具进行标准化交互。

Spring AI MCP 通过集成 Spring Boot 扩展了 MCP Java SDK,同时提供 客户端 和 服务端 Starter。使用 Spring Initializer可快速构建支持 MCP 的 AI 应用。

MCP Java SDK 0.8.0 重大变更 ⚠️

MCP Java SDK 0.8.0 版本引入多项重大变更,包括基于会话的新架构。若从 Java SDK 0.7.0 升级,请参阅 迁移指南 获取详细说明。
MCP Java SDK 架构
本节概述 MCP Java SDK 架构。有关 Spring AI MCP 集成的详细信息,请参阅 Spring AI MCP Boot Starters 文档。

Java MCP 实现采用三层架构:

MCP Stack Architecture

Client/Server 层:McpClient 处理客户端操作,McpServer 管理服务端协议操作,二者均通过 McpSession 进行通信管理。Session 层(McpSession):通过 DefaultMcpSession 实现管理通信模式及状态。Transport 层(McpTransport):处理 JSON-RPC 消息的序列化与反序列化,支持多种传输协议实现。

MCP 客户端

MCP 客户端是 Model Context Protocol(MCP)架构的核心组件,负责建立并管理与 MCP 服务器的连接。它实现协议的客户端逻辑,主要处理以下功能:

协议版本协商以确保与服务器的兼容性功能协商以确定可用特性消息传输及 JSON-RPC 通信工具发现与执行资源访问与管理提示词系统交互可选功能根目录管理采样支持同步与异步操作传输协议选项:基于 Stdio 的进程间通信传输协议基于 Java HttpClient 的 SSE 客户端传输协议WebFlux SSE 客户端传输协议(用于响应式 HTTP 流式通信)

Java MCP 客户端架构
MCP 服务器

MCP 服务器是 Model Context Protocol(MCP)架构的基础组件,用于向客户端提供工具、资源和功能。它实现协议的服务端逻辑,主要职责包括:

服务端协议操作的实现工具暴露与发现基于 URI 的资源管理及访问提示(Prompt)模板的提供与处理与客户端的功能协商结构化日志记录与通知并发客户端连接管理同步与异步 API 支持传输协议实现:基于 Stdio 的进程间通信传输协议基于 Servlet 的 SSE 服务器传输协议WebFlux SSE 服务器传输协议(用于响应式 HTTP 流式通信)WebMVC SSE 服务器传输协议(用于基于 Servlet 的 HTTP 流式通信)

Java MCP 服务器价格

具体实现指导(使用底层 MCP 客户端/服务端 API)请参阅 MCP Java SDK 文档。若需通过 Spring Boot 简化配置,请使用下文所述的 MCP Boot Starter。
Spring AI MCP 整合

Spring AI 通过以下 Spring Boot Starter 提供 MCP 集成:
Client Starter

spring-ai-starter-mcp-client - 核心 starter(提供 STDIO 及基于 HTTP 的 SSE 支持)spring-ai-starter-mcp-client-webflux - 基于 WebFlux 的 SSE 传输实现

Server Starter

spring-ai-starter-mcp-server - 核心服务端(支持 STDIO 传输协议)spring-ai-starter-mcp-server-webmvc - 基于 Spring MVC 的 SSE 传输实现spring-ai-starter-mcp-server-webflux - 基于 WebFlux 的 SSE 传输实现
http://www.dtcms.com/a/550249.html

相关文章:

  • 浙江省大成建设集团有限公司网站wordpress 插件有后门
  • linux 网站开发网络营销员岗位的职责与要求
  • 网站首页置顶是怎么做电商系统服务好的商家
  • 做网站没有数据家庭网做网站
  • 陕西高速公路建设网站有专门做辩论的网站吗
  • 怎么登陆建设工程网站php网站开发要学什么软件
  • Visual Basic 数据打印
  • 算法学习 18
  • 【19】C语言多向分支Switch case语法详解
  • 上海网站建设高端创业平台app有哪些
  • 从近10年历年论文题目看系统分析师考试出题趋势
  • IDS车载入侵检测系统
  • 人工智能重塑金融数字化:从精准服务到生态革新的全景探索
  • 合肥seo网站优化上海排名优化推广工具
  • WebRTC项目架构详解
  • 个人网站一定要备案吗手机医疗网站建设
  • 公司网站建设计入什么费用网站建设中图片是什么
  • 西安企业自助建站系统私人定制音乐app软件
  • 哪个网站能帮助做试卷贵州软件制作
  • 滨州市城乡建设部网站首页把excel做数据库分享成网站
  • Tailwind CSS 使用指南
  • Ubuntu18.04部署k8s
  • wordpress 格子主题长沙专业网站优化定制
  • 11. 深入Spring AI:格式化输出
  • seo网站推广可以自己搞吗电子商务平台建设实施方案
  • 网站建设 宜昌广州市白云区网站建设
  • TCP/IP 四层模型:网络协议的分工与协作
  • Huffman树的实现
  • 【Python办公】文件拆分工具开发实战(兼容Excelcsv)
  • 海南哪家公司做网站做的好网页游戏制作器