MCP 协议的两种核心通信方式:stdio 与 SSE

目录

一、前言

[二、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 核心特点(新手重点记)

  1. 无需配置网络端口、域名,开发 / 调试成本极低;
  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 核心特点(新手重点记)

  1. 依赖网络,需要配置 Server 的网络地址(IP / 域名 + 端口);
  2. 支持跨设备、跨网络调用,适配远程 / 云端场景;
  3. 基于 HTTP 协议,开发时需处理 HTTP 请求 / 响应的基础逻辑。

四、stdio vs SSE怎么选?

维度 stdio(标准输入输出) SSE(Server-Sent Events)
通信范围 仅本地(同一台设备) 远程 / 跨设备(需联网)
依赖条件 无网络依赖,仅需本地进程运行 依赖网络,需配置 HTTP 服务
适用场景 操作本地文件 / 软件 / 数据库 调用在线 API、云端服务
开发复杂度 低(默认方式,无需额外配置) 稍高(需处理 HTTP、网络配置)
MCP 默认选择 否(需手动配置)

五、总结

MCP 的两种通信方式本质是为不同交互场景设计:

  1. stdio 是本地交互的 "极简方案",默认、易开发,适配所有本地资源操作;
  2. SSE 是远程交互的 "通用方案",支持跨网络调用,适配在线 API / 云端服务。
相关推荐
1104.北光c°2 分钟前
【AI核心概念讲解】一口气搞懂 Agent:干翻传统后端!自主循环决策的秘密,ReAct 与 Plan-and-Execute 范式
java·人工智能·程序人生·ai·agent·react·智能体
MClink4 分钟前
CC Switch:一个工具管住所有 AI 编程助手,Claude Code、Codex、Gemini CLI 一键切换
人工智能·mcp
薛定谔的猫3692 小时前
深入浅出 Model Context Protocol (MCP):连接 AI 与外部数据的桥梁
ai·llm·agent·mcp·modelcontextprotocol
Jing_jing_X2 小时前
MCP (二)原理深度解析:一次工具调用到底发生了什么?
ai编程·mcp
金智维科技官方1 天前
AI智能体在7×24客服场景中的真实表现评估
大数据·人工智能·ai·rpa·智能体
七夜zippoe1 天前
OpenClaw Subagent 深度实践
人工智能·ai·智能体·subagent·openclaw
梦想画家1 天前
拒绝硬编码:将 LangFlow 编排的 AI 工作流无缝接入 OpenClaw
人工智能·智能体·mcp服务
一起学开源2 天前
企业级AI应用开发底座应该怎么设计?
人工智能·系统架构·智能体
tiger从容淡定是人生2 天前
AI替代软件战略(一):从 CCleaner 到 MCP 架构重构 —— TigerCleaner 的工程实践
人工智能·重构·架构·c#·mcp