LLM交互协议框架

Spring AI的Model Context Protocol (MCP) 是一个标准化框架,用于大型语言模型(LLM)与外部数据、工具和服务的交互,支持工具调用、检索增强生成(RAG)和插件架构,适用于构建智能代理应用。

  • by eminyuce
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 eminyuce/simple-mcp-server-springboot

使用说明

Spring AI——模型上下文协议(MCP)和MCP服务器启动程序

Spring AI介绍 模型上下文协议(MCP) 作为大型语言模型(LLM)的标准化方法 与外部数据、工具和服务交互.MCP提供了一个灵活的框架,使在Spring Boot中构建智能代理应用程序变得容易。


🔷 什么是MCP(模型上下文协议)?

主控程序 是Spring AI引入的协议和运行时模型,用于:

  • 描述 外部工具, 函数,或 数据 LLM可以访问。
  • 启用 结构化通信 在LLM和您的应用程序之间(例如调用外部API或数据库查询)。
  • 允许 双向交互 以标准化的方式使用LLM。

它支持:

  • 工具使用 (函数调用)
  • 检索增强生成(RAG) 上下文
  • 流媒体响应
  • 插件架构

🔧 MCP服务器启动程序

Spring AI提供 MCP服务器启动程序 帮助开发人员快速构建符合MCP的应用程序。启动器包括自动配置和内置组件。

📦 钥匙起动模块

起动机 说明
spring-ai-starter-mcp-server MCP服务器实现的核心支持。
spring-ai-starter-mcp-server-webmvc 通过Spring Web MVC添加对HTTP传输的支持(服务 /mcp/chat, /mcp/tools等等)。
spring-ai-starter-mcp-server-webflux 类似于WebVC,但适用于使用WebFlux的响应式应用程序。

📁 Maven依赖关系示例

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

您还可以使用 spring-ai-starter-mcp-server-webflux 如果你正在构建一个反应式服务器。


🛠️ 基本配置示例

@Configuration
public class ToolConfig {

    @Bean
    public ToolCallbackProvider tools(MyService myService) {
        return MethodToolCallbackProvider.of(myService);
    }
}

这暴露了 MyService 方法作为可调用工具,通过 /mcp/tools.


🌐 可用端点(通过WebVC/WebFlux)

终点 目的
/mcp/chat 接受LLM聊天请求并返回结果。
/mcp/tools 列出LLM可用的工具。
/mcp/context 描述可用的RAG文档和嵌入。

📘 用例:使用LLM的工具

您可以构建一个LLM应用程序,该应用程序:

  • 接受诸如“伊斯坦布尔的天气怎么样?”之类的问题
  • 在内部将其映射到工具(例如。, WeatherService.getWeather(String city))
  • 调用它并将结果反馈给LLM以生成进一步的响应。

🔗 资源