参考 :(2 封私信) AI是如何确定应使用的MCP Server的? - 知乎
MCP的全称是模型上下文协议(Model Context Protocol),是由Anthropic推出的一种开放标准协议。其设计目的在于让大型语言模型(LLMs)能够与外部的数据源和工具实现无缝交互。MCP就像是为AI提供了一个“通用插头”,使得这些智能模型可以像我们使用USB接口一样,轻松连接到各种不同的设备和服务上。

MCP Server Boot Starter :: Spring AI Reference
GitHub - spring-projects/spring-ai-examples
MCP允许AI模型通过标准化的方式连接到外部数据源或服务(比如天气API、数据库查询等)。

Spring MCP Server
Spring MCP Server 提供了三种不同的模式:
- • Standard Input/Output (STDIO) - spring-ai-starter-mcp-server
- • Spring MVC (Server-Sent Events) - spring-ai-starter-mcp-server-webmvc
- • Spring WebFlux (Reactive SSE) - spring-ai-starter-mcp-server-webflux
- • Standard MCP Server 适合简单的本地开发和单进程通信。
- • WebMVC Server Transport 适合传统的基于 Servlet 的 Web 应用,支持同步模式。
- • WebFlux Server Transport 适合高性能、高并发的响应式应用,支持异步模式。
WebFlux Server Transport
- • 核心功能:WebFlux Server Transport 是基于 Spring WebFlux 的服务器实现。它提供了响应式 SSE 支持,能够处理高并发的异步流式数据。
- • 适用场景:适合需要高性能、非阻塞 I/O 的现代响应式应用,特别是在处理大量并发连接时表现出色。
- • 特点:
- • 基于响应式编程模型,支持非阻塞操作。
- • 提供响应式的 SSE 端点,客户端可以通过
text/event-stream协议与服务器进行流式交互。 - • 支持异步模式,适合需要高并发和低延迟的应用。
GitHub - spring-projects/spring-ai-examples

打开项目后,我们先运行 McpServerApplication.java

然后运行测试文件 ClientSse.java ,可以看到终端返回了天气信息。



Dify MCP客户端是指在Dify平台上通过插件安装的能够调用MCP Server的工具。具体来说:
-
Dify MCP客户端是指Dify平台上的插件,这些插件允许Dify作为客户端与MCP Server进行交互。
-
它们包括Agent策略和MCP SSE / StreamableHTTP插件,其中Agent策略支持MCP工具,而MCP SSE / StreamableHTTP插件则用于处理基于HTTP和SSE协议的MCP请求。
-
通过安装这些插件,Dify可以轻松地将任何MCP Server配置为工具,从而调用这些服务中的功能或数据。
这个客户端插件的存在,使得Dify能够与遵循MCP协议的外部服务无缝对接,扩展其功能并利用更多外部资源。
Dify 暂时未使用


参考:必看!SpringAI轻松构建MCP Client-Server架构-腾讯云开发者社区-腾讯云
STDIO 是 Standard Input/Output(标准输入/输出)的缩写。
在 spring-ai-starter-mcp-client 这个上下文中,支持 STDIO 意味着该客户端可以通过进程的标准输入(stdin)和标准输出(stdout)流与另一个进程进行通信。
具体来说:
- 通信方式:它不依赖于网络(如 HTTP),而是通过操作系统提供的标准输入输出流。通常,一个进程(比如你的 Spring Boot 应用)会启动另一个进程(比如一个实现了 MCP 协议的本地工具或服务),然后通过读取该子进程的
stdout来接收数据,并通过向其stdin写入数据来发送指令。 - 应用场景:这种方式常用于与本地运行的、命令行工具风格的进程进行集成。例如,你的 Spring Boot 应用启动一个 Python 脚本,这个脚本负责与某个 AI 模型交互,两者之间通过
STDIO传递 JSON 格式的请求和响应。 - 优点:
- 简单高效:对于本地进程间通信(IPC),
STDIO通常比网络通信开销更小。 - 易于集成:很多脚本语言(Python, Node.js 等)编写的工具天然支持从
stdin读取输入并输出到stdout,便于与主应用集成。 - 跨语言:只要子进程能处理
STDIO流,就可以用任何语言编写。
- 简单高效:对于本地进程间通信(IPC),
- 与 HTTP/SSE 的对比:
HTTP/SSE(Server-Sent Events) 是基于网络的通信,适用于远程服务或需要通过网络 API 访问的场景。STDIO是基于本地进程管道的通信,适用于与同一台机器上运行的辅助进程协作。
总结: 在 spring-ai-starter-mcp-client 中,STDIO 支持允许你的 Spring Boot 应用通过标准输入输出流,与一个本地运行的、实现了 MCP (Model Context Protocol) 的进程进行通信,为集成本地 AI 工具或代理提供了一种轻量级、高效的途径。
参考 SpringAI系列---【MCP协议与AI Agent技术解析】 - 少年攻城狮 - 博客园
一、核心概念与角色定位
1. MCP协议(Model Context Protocol)
- 定义:由Anthropic提出的开放协议,标准化AI模型与外部系统的交互接口
- 三大核心特性:
- 🌀 动态服务发现:自动识别可用设备与服务
- 🧩 协议统一化:屏蔽不同品牌设备的API差异
- 🔄 双向通信:支持状态监控与实时控制
2. AI Agent(智能代理)
- 本质:具备自主决策能力的AI程序
- 核心能力:
- 上下文感知(用户习惯/环境状态)
- 多目标优化(舒适度 vs 节能)
- 异常自愈(设备故障自动切换)
3. FunctionCall(函数调用)
- 传统模式:硬编码调用特定设备API
- 典型缺陷:
- 🔗 设备强耦合(更换品牌需重构代码)
- 📉 扩展性差(新增设备需修改逻辑)
4. Spring AI
- 定位:企业级AI应用开发框架
- 核心价值:
- 🛠️ 封装MCP协议实现细节
- 🔒 提供安全审计与权限控制
- 📈 支持高并发设备管理
1036

被折叠的 条评论
为什么被折叠?



