当前位置:首页 > 技术知识 > 正文内容

Spring AI MCP:一个用于模型上下文协议的 Java SDK

maynowei10个月前 (08-19)技术知识93

MCP 是什么?



模型上下文协议 (MCP) 是一个开放协议,它标准化了应用程序如何为大语言模型 (LLM) 提供上下文。MCP 提供了一种标准化的方式,将 AI 模型连接到不同的数据源和工具,使集成变得无缝且一致。它可以帮助你在大语言模型的基础上构建智能体和复杂的流程。大语言模型通常需要与数据和工具集成,而 MCP 提供了:

  • 一个不断增长的预构建集成列表,你的大语言模型可以直接接入
  • 在大语言模型提供商和供应商之间切换的灵活性


总体架构

在核心层面,MCP 遵循客户端 - 服务器架构,一个宿主应用程序可以连接到多个服务器。



Spring AI MCP 实现了一个模块化架构,包含以下组件:

  • Spring AI 应用程序:使用 Spring AI 框架构建生成式 AI 应用程序,这些应用程序希望通过 MCP 访问数据
  • Spring MCP 客户端:Spring AI 对 MCP 协议的实现,它们与服务器保持 1:1 的连接
  • MCP 服务器:轻量级程序,每个程序都通过标准化的模型上下文协议(MCP)暴露特定的功能
  • 本地数据源:你的计算机上的文件、数据库和服务,MCP 服务器可以安全地访问它们
  • 远程服务:通过互联网(例如通过 API)可用的外部系统,MCP 服务器可以连接到这些系统


该架构支持从简单的文件系统访问到复杂的多模型 AI 交互,涵盖数据库和互联网连接等多种用例。


MCP Server

MCP 服务器是模型上下文协议(MCP)架构中的一个基础组件,它为客户端提供工具、资源和能力。



它实现了协议的服务器端,负责以下内容:

(1)服务器端协议操作的实现

  • 工具的暴露和发现
  • 基于 URI 的资源管理
  • 提供和处理提示模板
  • 与客户端进行能力协商
  • 结构化日志记录和通知


(2)并发客户端连接管理

(3)同步和异步 API 支持

(4)传输实现:

  • 基于标准输入输出(Stdio)的传输,用于基于进程的通信
  • 基于 Servlet 的 SSE(服务器发送事件)服务器传输
  • 基于 WebFlux 的 SSE 服务器传输,用于响应式 HTTP 流式传输
  • 基于 WebMVC 的 SSE 服务器传输,用于基于 Servlet 的 HTTP 流式传输


#上头条 聊热点##mcp#

相关文章

Axure操刀微信H5页面之《人际沟通风格测试》的制作过程

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。在之前的文章中我就讲过用Axure制作H5页面(再次声明Axure输出的html文件可能并非基于html5),在H5制...

苹果编程Objective C与Swift谁更牛?

小鹏大学刚刚毕业,软件开发方面的东西学的不是很多,听好多同学说做iOS开发工资上万是很容易的,踌躇满志,一直想自学iOS开发,可突如其来的一件事让他瞬间迷茫了。时间:2014年9月10日10点地点:某...

Android监听滚动视图(监听页面滚动)

Android UI Libs之Android-ObservableScrollView1. 说明Android-ObservableScrollView,顾名思义,Android上观察滚动的视图,可...

C++ 原子操作与锁的深度解析:为什么原子操作并非万金油?

大噶好,我是henry,今天来和大家浅浅聊一下为啥C++原子操作并非万能钥匙,原因有三,且听我娓娓道来:一、原子操作的线程安全性C++11 的 std::atomic 确实为单个变量的线程安全操作提供...

分享收藏的 oracle 11.2.0.4各平台的下载地址

概述oracle 11.2.0.4是目前生产环境用的比较多的版本,同时也是很稳定的一个版本。目前官网上已经找不到下载链接了,有粉丝在头条里要求分享一下下载地址。一、各平台下载地址1.1 Linux x...

Java集合框架:总结(java集合框架是什么?说出一些集合框架的优点)

Java集合框架这个系列做了一个整理,主要包括:Map系:HashMap, LinkedHashMap, TreeMap, WeakHashMap, EnumMap;List系:ArrayList,...