MCP 技术要点:用大白话把“传输方式”和“长连接”讲清楚

一句话总结:MCP 把"说什么"和"怎么送"拆开了。stdio 是本地子进程的悄悄话,Streamable HTTP 是远程服务的标准邮件------平时寄封信就走,需要直播时才开流。** 选哪种,不看哪个"高级",只看 Server 离你有多远、是一个人用还是一群人在用。

一、先搞懂三个词:Host、Client、Server

MCP 全称是 Model Context Protocol(模型上下文协议) ,你可以把它理解成一套"AI 和外部工具之间的通用插头标准"。它采用 Host → Client → Server 的三层结构。

Host(宿主) 就是你正在用的 AI 应用,比如 Claude Desktop、Cursor 或者公司内部的 AI 助手。它是"总指挥",负责管理所有连接、控制权限、决定哪些工具可以用。

Client(客户端) 是 Host 内部的一个"联络员"。每一个 Server 都对应一个专属的 Client,一对一绑定,不会串线。

Server(服务端) 是真正干活的程序。它可以是本机上的一个小工具,也可以是部署在云端的远程服务。Server 负责暴露工具、资源和提示词,但它看不到完整的对话历史,只拿到自己需要的那一小块上下文。

用一句话概括:Host 是老板,Client 是秘书,Server 是外部专家。老板不会直接联系专家,而是让秘书一对一去对接。

二、传输方式只有两种:stdio 和 Streamable HTTP

MCP 的消息格式用的是 JSON-RPC (一种结构化的"信件格式"),但"信怎么送"由传输层决定。2026 年的主线只有两种标准传输方式:stdio 和 Streamable HTTP。

传输方式只决定"消息怎么搬",不改变工具本身的含义。同一个工具,不管用哪种传输,参数和结果都是一样的。

三、stdio:面对面说悄悄话

原理 :Host 直接把 Server 拉起来,作为自己电脑上的一个子进程。双方通过标准输入(stdin)和标准输出(stdout)传话,一行一条 JSON-RPC 消息。

什么时候用 :Server 装在你本机上,比如读本地文件、操作本机 Git、连本地数据库。Host 启动子进程,生命周期归 Host 管,用完就回收。

优点 :不走网络,延迟最低,部署最简单,数据不出本机。缺点:只能本地用,单连接,别人连不进来。

四、Streamable HTTP:打长途电话,但不用一直占线

原理 :Server 是一个独立进程 ,可以部署在远程,同时服务多个 Client。Client 每发一条消息,就是一次普通的 HTTP POST 请求,打到同一个 MCP 端点上。

关键点在于"响应形态" :Server 收到请求后,可以返回一个普通的 JSON 对象 (一问一答,立刻结束),也可以把这次响应临时升级成 SSE 流(Server 慢慢往外吐数据,直到说完)。

选了 HTTP,并不是一定建立长连接一直连着。

  • 平时:查个天气、读个配置,就是一次短连接,发完请求、收到 JSON、连接关闭,非常省资源。
  • 需要时 :生成长文、处理大文件、实时推送进度,才在这一个请求内部临时开启 SSE 流,说完就断。

SSE 本身没有消失,它从"整个会话强制长连接"降级成了"按请求可选的流式通道"。

五、旧版 HTTP+SSE 为什么被淘汰

旧方案是两个端点 + 强制长连接 :一个 GET /sse 永远挂着用来收消息,另一个 POST 端点用来发消息。

问题很实在:连接断了没法从断点恢复,只能重来;服务器必须一直维持高可用长连接,并发一高资源就被吃光;而且在安全和基础设施层面也很难处理------长连接一旦建立,中间件往往只检查一次身份,之后门就一直开着。所以它被 Streamable HTTP 取代了。

六、企业内部怎么选:看"服务对象是一个人,还是一个组织"

个人桌面工具 → stdio。员工本机用的效率工具,优先 stdio。零网络暴露,权限就是当前系统用户,客户端退出子进程就回收。企业要做的是在 stdio 外面加沙箱和权限管控,而不是换传输方式。

团队共享服务 → Streamable HTTP。一旦工具连的是公司共享资源(内部代码仓库、工单系统、共享数据库),或者需要集中升级和审计,就必须让 Server 作为独立服务跑起来,用 Streamable HTTP 对内暴露。

企业场景下有几个硬要求:必须上 HTTPS ,内网也不例外;认证不能省 ,MCP 的授权模型以 OAuth 2.1 为基础;通常会引入 MCP 网关做统一收口------工具的注册发现、权限过滤、调用审计、敏感动作管控都在网关层完成。

相关推荐
Danny转行做跨境3 小时前
AI发布流水线重复推送怎么防:三道幂等防线实战拆解
跨境电商·mcp·sorftime
MartinA8 小时前
1024 想请全组吃麦当劳,结果我先写了个拼单工具
mcp
流烟默8 小时前
MCP第 2 篇:Java 本地实战:官方 SDK + stdio + 单能力 Server
人工智能·mcp
用户460381291948 小时前
MCP 给了 Agent 一堆“手”,Skill 才教它怎么干活:两者到底什么关系?
agent·mcp
xrlfreedom9 小时前
MCP 面试高频考点:如何给 Java MCP Server 写可重复执行的集成测试,并兼顾最小权限与审计日志
mcp·mcp server·最小权限与审计日志·java mcp sdk
Danny转行做跨境20 小时前
我给AI写作流水线装了六道发布闸门,带病文出不了门
跨境电商·mcp·sorftime
goehou1 天前
Agent 接飞书实战:回调验签、事件去重与异步回复(附踩坑)
实战·飞书·agent·mcp·im集成
xrlfreedom1 天前
MCP 面试高频考点:给 Tool 调用加身份认证、最小权限与 RAG 协作,你能答到第几层?
json schema·mcp·rag 知识库
跨境Jacky1 天前
选品数据采集: MCP 与爬虫的稳定性差异实测
跨境电商·mcp·sorftime