上文:Spring AI 与 Spring Alibaba AI 构建智能应用
什么是MCP Server?
MCP Server 是一种基于 MCP(Model Context Protocol,模型上下文协议)的服务器,旨在为大型语言模型(LLM)提供与外部数据源和工具的无缝集成。通过 MCP Server,开发者可以轻松地将本地资源、数据库、API 等功能暴露给 AI 模型,从而实现更智能、更高效的自动化操作。
mcp服务说明
个人理解mcp是啥?
模型上下文协议(MCP) 是一种标准化协议,使 AI 模型能够以结构化的方式与外部工具和资源进行交互。它支持多种传输机制,从而提供跨不同环境的灵活性。---个人理解就是类似rpc协议
mcp有哪些协议?
mcp有很多种方式调用,比如 Stdio、Streamable HTTP 、SSE、Original
特性 | Stdio (标准输入/输出) | Streamable HTTP | SSE (Server-Sent Events) | Original (原始 TCP/UDP) |
本质 | 进程间通信(I/O 流) | 基于 HTTP 的流式数据传输 | 基于 HTTP 的单向服务器推送 | 底层网络协议(传输层) |
协议层 | 操作系统级 | 应用层(HTTP) | 应用层(HTTP) | 传输层(TCP/UDP) |
方向性 | 双向(stdin/stdout/stderr) | 单向(通常客户端拉取) | 单向(仅服务器→客户端) | 双向(TCP)或单向(UDP) |
数据格式 | 原始字节流 | 任意(如 JSON、二进制流) | 文本流(UTF-8, | 原始字节流 |
实时性 | 即时(进程内同步) | 依赖轮询/分块传输 | 长连接,低延迟推送 | 极低延迟(取决于网络) |
连接方式 | 本地管道/重定向 | HTTP 请求/响应 | 持久化 HTTP 连接 | 套接字(Socket) |
使用场景 | 命令行工具、脚本管道 | 大文件下载、流媒体 | 实时通知、股票行情、日志推送 | 游戏、音视频、自定义协议 |
客户端要求 | 终端/进程 | 支持 HTTP 的客户端 | 浏览器 | 自定义套接字客户端 |
断线重连 | 不支持(进程结束即终止) | 需手动重试 | 自动重连(内置机制) | 需手动实现 |
复杂度 | 低(系统原生支持) | 中(需处理 HTTP 分块) | 低(浏览器 API 简单) | 高(需处理协议/粘包等) |
示例用途 | `cat file.txt | grep "error"` | 视频分段加载(HLS) | 实时天气预报更新 |
最后
有了mcp那就不用天天去兼容各种diy的格式了和协议,好比统一化上高速公路的一些规则,统一只能跑80码以上,你要是龟速会被查水表,还有不允私自改装车(diy返回) ,所以向统用标准化协议致敬。(想起开发那些ai接口非得去兼容各种diy真的是痛苦得要命~)
相关文献:
https://www.bilibili.com/opus/1039645916895641607
https://juejin.cn/post/7483083622034096165
https://www.cursor.com/cn
https://modelcontextprotocol.io/introduction#general-architecture?login=from_csdn
https://mcp.programnotes.cn/zh/docs/ai-mcp-awsome-server
https://mcp.so/zh/servers