Claude Code 学习站

CCA-F 练习题库· Tool Design & MCP Integration

下列哪项正确描述了 MCP 的数据层及其支持的传输方式?

  1. A数据层是带自有分帧和长度前缀、用于划定消息边界的自定义二进制协议;受支持的传输方式只有本地服务器走 Unix socket 的 gRPC 和远程服务器用的 WebSockets
  2. B本地 server 必须使用带 Server-Sent Events 的 Streamable HTTP,而远程 server 必须使用 stdio,通过标准输入/输出流交换消息
  3. C数据层使用 JSON-RPC 2.0;传输方式为 stdio(用于本地进程的标准输入/输出)和 Streamable HTTP(HTTP POST,可选配合 Server-Sent Events,用于远程 server)
  4. D数据层是基于 HTTP 的 REST/JSON,每个原语(如 tools、resources)各有一个端点;并且即便对本地 server,stdio 也不是受支持的传输方式

正确答案:C

解析

MCP 分为数据层和传输层。数据层实现一个基于 JSON-RPC 2.0 的交换协议,处理生命周期/能力协商、primitives(tools、resources、prompts)、client 特性(sampling、elicitation、logging)以及通知。

MCP 恰好支持两种传输方式:stdio,它使用标准输入/输出流与本地同机进程直接通信(没有网络开销);以及 Streamable HTTP,它使用 HTTP POST 传送 client 到 server 的消息,并可选配合 Server-Sent Events 进行流式传输,从而支持使用 OAuth bearer token 等标准 HTTP 认证的远程 server。

  • C是正确的:按惯例,本地 server 使用 stdio,远程 server 使用 Streamable HTTP——这一点已对照 modelcontextprotocol.io 的架构概览核实。
  • A是错的(它是 JSON-RPC,而不是自定义二进制协议;gRPC/WebSockets 并不是它的传输方式)。
  • B把本地/远程的正确对应关系弄反了。
  • D是错的(MCP 是 JSON-RPC,不是 REST,而且 stdio 是受支持的传输方式)。

延伸阅读

本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。