MCP Academy · 课时

stdio 传输的工作原理

了解本地服务器为何通过标准输入和标准输出通信。

第 1 / 4 课13 个步骤

stdio 传输的工作原理 是 CoddyKit 上的免费 MCP Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 MCP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 MCP Academy 课程共包含 4 节课。

通过管道通信

在将服务器接入任何组件之前,您需要了解它实际如何通信。默认通道是标准输入输出。🔌

标准输入,标准输出

标准输入输出就是标准输入加标准输出:每个程序从启动时起就拥有的两个文本流。

宿主启动您的进程

使用标准输入输出时,宿主会将您的服务器作为子进程启动。没有端口,也没有网络请求,只有一个由宿主控制的本地程序。

消息按行流动

客户端将 JSON-RPC 消息写入服务器的标准输入,服务器则通过标准输出将回复写回。

您负责运行,它负责连接

您几乎不需要亲自启动脚本。您只需告诉宿主一个命令,宿主就会运行该命令来启动服务器。

{
  "command": "python",
  "args": ["server.py"]
}

标准输出不可干扰

由于回复通过标准输出传输,该流必须专用于协议。在那里执行任何多余的打印操作,都会扰乱客户端期待的 JSON。

将日志写入标准错误

需要给自己留下记录吗?请将其发送到标准错误。宿主会将标准错误视为日志,因此调试信息不会影响消息流。

import sys
print("server ready", file=sys.stderr)

一个客户端,一个进程

每个标准输入输出连接都是一条私有链路:一个客户端对应一个进程。关闭客户端后,您的服务器进程也会随之关闭。

非常适合本地工具

标准输入输出非常适合本地工作。它不需要身份验证、防火墙或网址,因此在您进行开发时是理想的传输方式。💻

本地方式的局限

但问题在于:服务器必须与宿主位于同一台机器上。若要远程访问服务器,之后需要切换到 HTTP 传输。

每行一条消息

每条 JSON-RPC 消息都只占一行,并以换行符结尾。这样的边界格式让双方都能将数据流拆分成清晰、独立的消息。

快速检查

标准输入输出服务器会将 JSON-RPC 回复发送到哪里?

回顾

您已经了解标准输入输出的工作方式:宿主启动您的进程,通过标准输入和标准输出通信,并将日志保存在标准错误中。现在,让我们把它接入 Claude。✅

免费开始

用 AI 导师学习 Python — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
30
课程
120

常见问题解答

「stdio 传输的工作原理」课时是免费的吗?

是的 — 「stdio 传输的工作原理」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 MCP Academy 课程的其余内容,请升级到 CoddyKit PRO。 MCP Academy 课程共包含 4 节课。

「stdio 传输的工作原理」这节课中我会学到什么?

了解本地服务器为何通过标准输入和标准输出通信。 你通过在浏览器中直接运行的动手代码来练习 MCP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 MCP Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 MCP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「stdio 传输的工作原理」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 MCP Academy 课中编写并运行代码吗?

能。每节 MCP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. stdio 传输的工作原理
  2. 接入 Claude Desktop
  3. 使用 MCP Inspector 探索
  4. 调试无法启动的服务器
← 返回 MCP Academy