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 / 云端服务。
相关推荐
Shining05962 小时前
推理引擎系列(七)《InfiniLM》
人工智能·深度学习·算法·大模型·ai芯片·智能体·推理引擎
8Qi82 小时前
Hello-Agents阅读笔记--Reflection
人工智能·llm·agent·智能体
用户479492835691512 小时前
MCP VS SKILLS:你以为你懂了,其实没有
agent·mcp
OpenTiny社区15 小时前
AI-Extension:让 AI 真的「看得到、动得了」你的浏览器
前端·ai编程·mcp
sorryhc1 天前
MiniMax MCP 原理解读:从初始化到工具调用的完整链路分析
ai编程·mcp
不丿二1 天前
WebMCP深度调研报告
mcp
-许平安-1 天前
MCP项目笔记四(Transport)
开发语言·c++·笔记·ai·mcp
大龄码农有梦想2 天前
Spring AI Alibaba Skills与 Claude Skills 深度对比分析:概念、机制与应用场景
人工智能·大模型·智能体·大模型应用·spring ai·claude skills
twc8292 天前
MCP赋能测试:Tools、Resources、Prompts三种能力的开发与应用
软件测试·大模型·mcp