目录
[二、stdio(标准输入输出):本地交互的 "默认选择"](#二、stdio(标准输入输出):本地交互的 “默认选择”)
[2.1 核心定义](#2.1 核心定义)
[2.2 适用场景(新手易理解)](#2.2 适用场景(新手易理解))
[2.3 核心特点(新手重点记)](#2.3 核心特点(新手重点记))
[三、SSE(Server-Sent Events):远程交互的 "桥梁"](#三、SSE(Server-Sent Events):远程交互的 “桥梁”)
[3.1 核心定义](#3.1 核心定义)
[3.2 适用场景(新手易理解)](#3.2 适用场景(新手易理解))
[3.3 核心特点(新手重点记)](#3.3 核心特点(新手重点记))
[四、stdio vs SSE怎么选?](#四、stdio vs SSE怎么选?)
一、前言
MCP(Model Context Protocol,模型上下文协议)作为连接 AI 客户端与外部系统的通用协议,其通信机制是实现 "AI 与外部数据 / 工具交互" 的基础。在入门 MCP 开发时,首先要搞懂它的两种核心传输方式 ------stdio(标准输入输出)和 SSE(Server-Sent Events),这决定了你的 MCP Server 该如何与 AI 客户端(Host)建立连接。本文将用最通俗的语言拆解这两种通信方式,帮新手快速理解并选对适用场景。
二、stdio(标准输入输出):本地交互的 "默认选择"
2.1 核心定义
stdio(Standard Input/Output,标准输入输出)是 MCP默认的通信方式 ,本质是通过进程的标准输入、输出流实现本地进程间的通信。简单来说,就是运行在同一台电脑上的 MCP Server 和 AI Host(比如 Claude Desktop),像 "聊天" 一样通过系统内置的输入输出通道传递数据。
2.2 适用场景(新手易理解)
stdio 专为本地服务设计,核心特征是 "无网络依赖、操作本地资源",典型场景包括:
- 让 AI 读取 / 修改本地文件(如电脑里的代码文件、日志文件);
- 调用本地软件的功能(如 Blender、Photoshop 等无在线 API 的桌面软件);
- 操作本地数据库(如本地部署的 SQLite、Postgres)。
举个例子:你开发了一个 "本地文件管理 MCP Server",想让 Claude Desktop 帮你修改电脑 D 盘的test.py文件 ------ 此时 Claude(Host)和你的 MCP Server 都在本地运行,通过 stdio 就能完成指令传递和结果返回,无需联网。
2.3 核心特点(新手重点记)
- 无需配置网络端口、域名,开发 / 调试成本极低;
- 仅支持本地通信,无法跨设备 / 跨网络调用;
- MCP 协议默认采用该方式,无需额外配置即可使用。
三、SSE(Server-Sent Events):远程交互的 "桥梁"
3.1 核心定义
SSE(Server-Sent Events,服务器推送事件)是基于 HTTP 的单向通信协议 ,在 MCP 中用于远程通信。简单理解:你的 MCP Server 部署在远程服务器(或本地但开放网络访问),AI Host(如网页版 Claude、自研云端 Agent)通过 HTTP 连接到这个 Server,实现跨网络的数据交互。
3.2 适用场景(新手易理解)
SSE 专为有在线 API 的远程服务设计,核心特征是 "依赖网络、操作远程资源",典型场景包括:
- 让 AI 访问你的谷歌邮件、Outlook 邮箱(通过邮箱官方在线 API);
- 调用天气 API、股票 API 获取实时远程数据;
- 操作云端服务(如云端数据库、GitHub 远程仓库、阿里云 OSS)。
举个例子:你开发了一个 "天气查询 MCP Server",该 Server 通过调用全国天气 API 获取数据 ------ 此时无论你的 AI Host 在哪个设备(手机、另一台电脑),只要能联网,就能通过 SSE 连接到这个 Server,让 AI 帮你查询实时天气。
3.3 核心特点(新手重点记)
- 依赖网络,需要配置 Server 的网络地址(IP / 域名 + 端口);
- 支持跨设备、跨网络调用,适配远程 / 云端场景;
- 基于 HTTP 协议,开发时需处理 HTTP 请求 / 响应的基础逻辑。
四、stdio vs SSE怎么选?
| 维度 | stdio(标准输入输出) | SSE(Server-Sent Events) |
|---|---|---|
| 通信范围 | 仅本地(同一台设备) | 远程 / 跨设备(需联网) |
| 依赖条件 | 无网络依赖,仅需本地进程运行 | 依赖网络,需配置 HTTP 服务 |
| 适用场景 | 操作本地文件 / 软件 / 数据库 | 调用在线 API、云端服务 |
| 开发复杂度 | 低(默认方式,无需额外配置) | 稍高(需处理 HTTP、网络配置) |
| MCP 默认选择 | 是 | 否(需手动配置) |
五、总结
MCP 的两种通信方式本质是为不同交互场景设计:
- stdio 是本地交互的 "极简方案",默认、易开发,适配所有本地资源操作;
- SSE 是远程交互的 "通用方案",支持跨网络调用,适配在线 API / 云端服务。