02Bread MCP · 第 1 章
总进度 10 / 33

JSON-RPC 2.0 入门 + stdio 通信

学 MCP 之前,先看它使用的 JSON RPC 消息格式。一个程序把“想调用什么、参数是什么”写成 JSON 发出去,另一个程序处理后,再把结果按约定格式返回。

2026-09-28约 20 分钟40 行代码难度 ★

如果想获取全套课程资料,请关注微信公众号 「AI面包君」,回复 「课程资料」 即可领取。

1. 先看两个程序怎样交换消息

学 MCP 之前,先看它使用的 JSON-RPC 消息格式。一个程序把“想调用什么、参数是什么”写成 JSON 发出去,另一个程序处理后,再把结果按约定格式返回。

这一章先用标准库 json 展示这些消息,再看 stdin 和 stdout 怎样传递它们。MCP 还包含初始化、能力声明和具体方法等约定,后面会逐步加上。

<!-- bread-visual:start -->

JSON-RPC:像寄信一样调用函数

图解: 请求与响应使用相同 id;通知不要求响应。 本课程的 stdio 传输:每行一个 JSON,发送后 flush;日志写到 stderr。

<!-- bread-visual:end -->

2. 跑起来

cd ch00_jsonrpc
python main.py

你会看到一段格式化打印,展示:

============================================================
一条 JSON-RPC 请求长这样:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "add",
  "params": { "a": 3, "b": 5 }
}

============================================================
成功响应:
{ "jsonrpc": "2.0", "id": 1, "result": 8 }

失败响应:
{ "jsonrpc": "2.0", "id": 1, "error": {...} }

...

image-20260610180950876

试读到这里 · 后续内容已封存

关注公众号,继续把这章学完

在「AI面包君」发送关键词「学习AI」拿到口令。验证一次,这个浏览器就能继续阅读全部课程。