关于 Spring Ai Mcp
Spring Ai Mcp 是一个以 Spring AI 和 MCP 构建的微服务聊天示例,供用户通过自然语言操作个人信息、账户和交易服务。它由聊天客户端及多个 MCP 微服务组成,并支持跨轮次保留上下文。
主要功能
- 01自然语言调用服务
- 02统一聊天界面
- 03实时连接多个服务
- 04支持接入新微服务
- 05多轮交互上下文管理
适用场景
- 01查询个人资料
- 02查看个人账户及余额
- 03查询账户交易记录
MCP 相关
个人信息、账户和交易微服务均实现 MCP;聊天客户端使用 Spring AI 将自然语言请求转换为对相关服务的调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Spring AI MCP(Model Context Protocol)
本项目演示如何使用 Spring AI 和 MCP(Model Context Protocol)实现基于聊天的界面,以便与微服务通信。系统允许用户通过自然语言聊天与各种微服务交互,并借助上下文理解和模型驱动的交互,更轻松地跨不同服务执行操作。
项目结构
项目由以下组件构成:
- chat-client:Spring Boot 应用,为用户提供与微服务交互的聊天界面
- person-mcp-service:用于管理人员相关操作的微服务
- account-mcp-service:用于处理账户相关操作的微服务
- transaction-mcp-service:用于处理交易相关操作的微服务
前提条件
- Java 21
- Maven 3.8+
- Spring Boot 3.5.0
- Spring AI 1.0.0
快速开始
- 克隆仓库:
git clone https://github.com/yourusername/spring-ai-mcp.git
cd spring-ai-mcp
- 构建项目:
mvn clean install
- 启动服务:
# Start each service in separate terminals
mvn spring-boot:run -pl person-mcp-service
mvn spring-boot:run -pl account-mcp-service
mvn spring-boot:run -pl transaction-mcp-service
mvn spring-boot:run -pl chat-client
架构
项目采用微服务架构,其中:
- 每个微服务(person、account、transaction)都实现了 Model Context Protocol(MCP)
- 聊天客户端使用 Spring AI 来:
- 处理自然语言输入
- 将用户请求转换为合适的模型上下文调用
- 处理来自微服务的响应
- 以用户友好的格式呈现结果
- 在多次交互间保留上下文
功能
- 用于服务交互的自然语言处理
- 适用于所有微服务的统一聊天界面
- 与多个服务实时通信
- 无缝集成新的微服务
使用方法
- 通过 chat-client 应用访问聊天界面
- 使用自然语言输入请求
- 系统将:
- 解析请求
- 识别相关微服务
- 执行必要的操作
- 以对话形式返回结果
聊天交互示例
以下是与 AI 助手的一些对话示例,展示了 Model Context Protocol 如何通过聊天实现无缝且结合上下文的银行业务操作:
1. 查看个人信息
用户请求查看 John Smith 的个人信息。助手提供了 ID、名和姓。
2. 查询某人的账户
用户请求查看 John Smith 名下的账户。助手列出了所有账户及其余额。
3. 查看账户交易记录
用户请求查看先前列出的账户的交易记录。助手返回账户和交易详情,并保留了之前消息中的上下文。
开发
添加新微服务
- 在项目中创建新模块
- 实现 MCP 协议
- 将模块添加到父级 pom.xml
- 更新聊天客户端,以处理新服务的操作
配置
每个服务都可以通过各自的 application.properties 或 application.yml 文件进行配置。常见配置包括:
- 服务端口
- 数据库连接
- AI 模型设置
- Model Context Protocol 设置
- 上下文管理参数
贡献
- Fork 仓库
- 创建功能分支
- 提交更改
- 将更改推送到分支
- 创建 Pull Request
许可证
本项目采用 MIT License 许可,详情请参阅 LICENSE 文件。
支持
如需支持,请在 GitHub 仓库中提交 issue,或联系开发团队。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。