加载中...
返回AI 编程实战
AI 编程知识库 · AI 编程实战 · MCP 系统性进阶

传输层与版本演进:stdio、Streamable HTTP 与 WebMCP

MCP 传输层对比


传输层:MCP 的通信基础

在上一篇文章中,我们了解了 MCP 使用 JSON-RPC 2.0 作为消息格式。但消息格式只是「说什么」,传输层决定「怎么说」。

MCP 支持三种传输方式,每种都有其适用场景:

传输方式 发布版本 适用场景
stdio 2024-11 本地开发、个人工具
Streamable HTTP 2025-03 云端部署、企业应用
WebMCP 2026-02 网站能力开放

stdio 传输:本地开发的最佳选择

工作原理

stdio(标准输入/输出)是操作系统提供的基础通信机制。MCP 的 stdio 传输是这样工作的:

Host 启动 Server 子进程
         ↓
    通过 stdin 发送 JSON-RPC 请求
         ↓
    Server 通过 stdout 返回响应
         ↓
         Host 解析响应

配置示例

{
  "mcpServers": {
    "my-server": {
      "command": "node",
      "args": ["/path/to/server.js"]
    }
  }
}

关键点:

  • command:启动 Server 的可执行文件
  • args:传递给 Server 的参数
  • Host 自动管理进程生命周期

优势

简单性

  • 无需网络配置
  • 无需处理端口占用
  • 无需考虑防火墙

可靠性

  • 进程隔离,崩溃不影响 Host
  • 操作系统级别的进程管理
  • 资源占用可控

开发友好

  • 易于调试(可以直接运行 Server)
  • 日志输出到 stderr
  • 支持热重载

局限性

只能本地使用

  • 无法跨机器部署
  • 无法被多个 Host 共享
  • 难以实现负载均衡

监控困难

  • 无法使用网络监控工具
AI 编程知识库会员专享内容
开通后解锁「传输层与版本演进:stdio、Streamable HTTP 与 WebMCP」全文,AI 编程知识库全年访问

扫码添加企业微信,找大熊掌门开通会员

企业微信二维码

添加后说明想开通的会员类型即可

加载中...