CCA-F 练习题库· Tool Design & MCP Integration
在 Model Context Protocol(MCP)架构中,关于 host、client 和 server,下列哪项陈述是正确的?
- A单个 MCP client 通过一条共享传输复用与多个 MCP server 的连接,host 从这一个 client 读取全部工具
- BMCP host(即 AI 应用)为每个 MCP server 创建一个 MCP client,每个 client 与其对应的 server 维持一条专用连接,而 server 负责提供上下文
- CMCP server 位于各个 host 之上并负责协调它们,把每个进来的请求路由给声明了匹配工具的那个 client,再把回复送回发起请求的那个 host
- Dclient 和 server 是同一个进程;这两个术语只是同一条连接内的消息角色,随每次请求和响应交替出现
正确答案:B
解析
- B正确:官方 MCP 架构文档(modelcontextprotocol.io/docs/learn/architecture)指出,MCP 遵循 client-server 架构,其中 MCP host——即 AI 应用(例如 Claude Code、Claude Desktop、VS Code)——“accomplishes this by creating one MCP client for each MCP server”(为每个 MCP server 创建一个 MCP client),并且 “Each MCP client maintains a dedicated connection with its corresponding MCP server”(每个 MCP client 与其对应的 MCP server 维持一条专用连接),而 server “is a program that provides context to MCP clients”(是一个向 MCP client 提供上下文的程序,即 tools、resources、prompts)。
- B与此完全吻合,包括 client 与 server 一对一、专用连接以及提供上下文这些细节。
- A是错的,因为一个 client 并不会通过一条共享连接复用多个 server——每个 client 只持有与单个 server 的一条专用连接(复用是反方向的:一个远程 server 可以服务多个 client)。
- C颠倒了角色——是 host 协调各个 client;server 不会在多个 host 之间协调或路由。
- D是错的,因为 client 和 server 是不同的参与方(通常是不同的进程,例如本地的 stdio 子进程或远程的 Streamable HTTP 服务),而不只是同一进程内的消息角色。
延伸阅读
本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。