Sponsored by Deepsite.site

auto-mcp-client

Created By
down-to-earth19948 months ago
基于Spring AI 封装了 mcp-client 服务,目的使web网页智能体也能通过 stdio 和 HTTP SSE(Server-Sent Events) 与 MCP Server 进行交互。项目实现了自动化的连接管理机制,包括自动初始化连接、健康检查、超时关闭以及链接复用等功能
Content

auto-mcp-client

项目简介

这是一个基于 Spring AI 1.0.0-M7 的 Java 项目,封装了 mcp-client 服务,支持通过 stdioHTTP 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

功能特性

  • 多协议支持:支持通过 stdioHTTP 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

Recommend Clients
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
DeepChatYour AI Partner on Desktop
MCP ConnectEnables cloud-based AI services to access local Stdio based MCP servers via HTTP requests
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
Cline – #1 on OpenRouterAutonomous coding agent right in your IDE, capable of creating/editing files, executing commands, using the browser, and more with your permission every step of the way.
WindsurfThe new purpose-built IDE to harness magic
ChatWiseThe second fastest AI chatbot™
Roo Code (prev. Roo Cline)Roo Code (prev. Roo Cline) gives you a whole dev team of AI agents in your code editor.
MODELSCOPE---MODELSCOPE-PLATFORM-MCP-SERVICES
LutraLutra is the first MCP compatible client built for everyone
Refact.aiOpen-source AI Agent for VS Code and JetBrains that autonomously solves coding tasks end-to-end.
Continue⏩ Create, share, and use custom AI code assistants with our open-source IDE extensions and hub of models, rules, prompts, docs, and other building blocks
A Sleek AI Assistant & MCP Client5ire is a cross-platform desktop AI assistant, MCP client. It compatible with major service providers, supports local knowledge base and tools via model context protocol servers .
ZedCode at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
MCP PlaygroundCall MCP Server Tools Online
HyperChatHyperChat is a Chat client that strives for openness, utilizing APIs from various LLMs to achieve the best Chat experience, as well as implementing productivity tools through the MCP protocol.
Cherry Studio🍒 Cherry Studio is a desktop client that supports for multiple LLM providers.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
y-cli 🚀A Tiny Terminal Chat App for AI Models with MCP Client Support
CursorThe AI Code Editor
chatmcpChatMCP is an AI chat client implementing the Model Context Protocol (MCP).