mcpField
A
auto-mcp-client

auto-mcp-client

github.com/down-to-earth1994框架与 SDK1276 周前更新

关于 auto-mcp-client

基于 Spring AI 封装的 MCP 客户端框架,支持 stdio 和 HTTP SSE 与 MCP 服务通信。项目实现自动初始化、健康检查、超时管理和连接复用,帮助 Web 智能体便捷接入 MCP 服务。

主要功能

  1. 01支持 stdio 和 HTTP SSE 通信协议
  2. 02自动连接初始化与健康检查
  3. 03超时自动关闭与连接复用
  4. 04多 Agent 隔离环境
  5. 05与 Spring AI 框架集成

适用场景

  1. 01Web 应用集成 MCP 服务进行数据查询
  2. 02智能体自动调用外部工具与资源
  3. 03多个 Agent 共享同一 MCP 服务
  4. 04降低服务器资源占用

MCP 相关

这是一个基于 Spring AI 的 MCP 客户端实现,通过 stdio 和 HTTP SSE 协议连接 MCP 服务,为 Web 智能体提供工具和资源的访问能力。

详细介绍

来自项目 README

auto-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. 项目运行前配置
  1. 需要更改bootstrap.yml中的nacos配置中心以及命名空间 需要将mcp-client-dev.yml配置导入到nacos配置中心
  2. 默认对接的是阿里百炼 qwen2.5-72b-instruct大模型(openai协议);支持更换私有openai协议模型;apikey需要自己申请
  3. 内置默认的 default-mcp-registry.json 需要修改成自己的apikey 或者其他mcpserver
  4. 需要修改配置文件中node服务路径 服务启动会优先检查node服务是否可用 检查目的是为了适配stdio协议更多的mcp server
3.内置效果展示 (其他工具自行配置后进行提问均可访问)
  • 效果一:
  1. question: 帮我对比下北京天气和上海天气今天谁的气温高 生成 柱状图
  2. answer:

北京VS上海气温对比图

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

福建省gdp to5

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

firecrawl.png

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

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