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

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

maynowei2周前 (08-19)技术知识7

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#

相关文章

分享我的产品策划流程,希望对你也有用

本文笔者梳理拆解了自己的产品策划流程,并给出了自己对各流程的思考,希望能够给你带来一定的启发。记得刚开始做产品出需求方案的时候,上来就开始画原型写文档,在写的过程中发现某个交互没想明白或者漏了一部分逻...

从零搭建网站?5个步骤详解网站建设全流程

在数字化时代,拥有一个专业网站已成为企业或个人品牌展示的核心竞争力。但对于新手而言,网站建设往往显得复杂难懂。本文梳理出5大关键步骤,手把手带你完成从策划到上线的全流程,省时省力不踩坑!一、前期准备:...

真来了,iOS 16.6 beta 利用,隐藏 Dock 栏

昨天提到!iOS 16.5 kfd 漏洞可以隐藏 Dock 栏消息,现在已经确定 iOS 16.6 beta 内测也是支持使用 kfd 漏洞,当然!也是支持隐藏 Dock 栏,主要验证该系统是否可用。...

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

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

那些技术—Listview的性能提高篇(listview提高效率)

ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能。 · 1.在adapter中的...

Django 官方推荐的姿势:类视图(django类视图和函数视图哪个好)

作者:HelloGitHub-追梦人物在开发网站的过程中,有一些视图函数虽然处理的对象不同,但是其大致的代码逻辑是一样的。比如一个博客和一个论坛,通常其首页都是展示一系列的文章列表或者帖子列表。对处理...