关于 auto-mcp-client
基于 Spring AI 封装的 MCP 客户端框架,支持 stdio 和 HTTP SSE 与 MCP 服务通信。项目实现自动初始化、健康检查、超时管理和连接复用,帮助 Web 智能体便捷接入 MCP 服务。
主要功能
- 01支持 stdio 和 HTTP SSE 通信协议
- 02自动连接初始化与健康检查
- 03超时自动关闭与连接复用
- 04多 Agent 隔离环境
- 05与 Spring AI 框架集成
适用场景
- 01Web 应用集成 MCP 服务进行数据查询
- 02智能体自动调用外部工具与资源
- 03多个 Agent 共享同一 MCP 服务
- 04降低服务器资源占用
MCP 相关
这是一个基于 Spring AI 的 MCP 客户端实现,通过 stdio 和 HTTP SSE 协议连接 MCP 服务,为 Web 智能体提供工具和资源的访问能力。
详细介绍
来自项目 READMEauto-mcp-client
项目简介
这是一个基于 Spring AI 1.0.0-M7 的 Java 项目,封装了 mcp-client 服务,支持通过 stdio 和 HTTP SSE(Server-Sent Events) 与 MCP Server 进行交互。项目实现了自动化的连接管理机制,包括自动初始化连接、健康检查、超时关闭以及链接复用等功能。
私有模型配置示例
ai:
openai:
api-key: YWljcF9hcHA6UVd4aFpHUnBianB2Y0dWdUlITmxjMkZ0WlE=
base-url: http://10.0.1.133:30080
chat:
options:
stream: true
model: qwen3-30b-a3b
base-url: http://10.0.1.133:30080
completions-path: /v10/llm/chat/qwen3-30b-a3b/completion
功能特性
- 多协议支持:支持通过
stdio和HTTP SSE与 MCP Server 通信。 - 自动初始化连接:项目启动时会自动完成与 MCP Server 的连接初始化。
- 自动健康检查:定期检查连接的健康状态,确保连接始终可用。
- 自动超时关闭:当连接超过指定超时时间未被使用时,自动关闭连接以释放资源。
- 链接复用:在超时时间范围内,复用相同的连接以提高性能和资源利用率。
- 环境隔离: 多个智能体相同mcp server是相互隔离的。
技术栈
- 框架:Spring AI 1.0.0-M7
- 语言:Java
- 依赖库:
- mcp-client
- Spring Boot 3.3.6
- HTTP 客户端库(如 OkHttp 或 HttpClient)
快速开始
1. 环境准备
- Java 版本:确保已安装 JDK 17 或更高版本。
- Maven/Gradle:项目使用 Maven/Gradle 构建工具,请确保已正确配置。
2. 项目运行前配置
- 需要更改bootstrap.yml中的nacos配置中心以及命名空间 需要将mcp-client-dev.yml配置导入到nacos配置中心
- 默认对接的是阿里百炼 qwen2.5-72b-instruct大模型(openai协议);支持更换私有openai协议模型;apikey需要自己申请
- 内置默认的 default-mcp-registry.json 需要修改成自己的apikey 或者其他mcpserver
- 需要修改配置文件中node服务路径 服务启动会优先检查node服务是否可用 检查目的是为了适配stdio协议更多的mcp server
3.内置效果展示 (其他工具自行配置后进行提问均可访问)
- 效果一:
- question: 帮我对比下北京天气和上海天气今天谁的气温高 生成 柱状图
- answer:

- 效果二:
- question: 帮我分析数据库中 福建省gdp top5 并帮我绘制成饼图
- answer:

- 效果三:
- question: 帮我整理这个网页上内容并绘总到markdown
- answer:

评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。