MCP 协议中 Host、Client、Server 三者分别承担什么角色,为什么 Client 要与 Server 保持一对一连接?
解释 MCP 架构中 Host、Client、Server 的角色分工:Host 管会话与权限,Client 是单连接协议端点,Server 提供能力,并说明一对一连接对状态隔离的意义。
MCP 协议专题面试题第 1 页,显示第 1–45 题,共找到 45 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
解释 MCP 架构中 Host、Client、Server 的角色分工:Host 管会话与权限,Client 是单连接协议端点,Server 提供能力,并说明一对一连接对状态隔离的意义。
围绕“MCP 客户端为什么采用 OAuth 动态客户端注册(DCR),服务端不支持 DCR 时有哪些回退”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确客户端预注册不可行的生态理由与回退选项。
围绕“MCP HTTP 传输的授权基于 OAuth 2.1,客户端如何发现授权服务器(metadata 发现流程)”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 401 与 WWW-Authenticate、resource metadata 的发现链。
围绕“MCP 授权流程中为什么强制 PKCE,公共客户端的 redirect URI 与令牌存储应注意什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确授权码拦截防护与本地回环重定向实践。
围绕“MCP 授权为什么要求 RFC 8707 Resource Indicators,如何防止 token 被滥用到其他”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 audience 绑定防止令牌混用的目的。
围绕“MCP 的 notifications/cancelled 取消机制如何工作,服务端收到取消后必须停止执行吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确取消是尽力而为、结果可能仍返回的语义及 in-flight 请求匹配。
以 MCP 2025-11-25 为明确版本,解释 initialize 的版本选择、双向能力声明与宿主准入检查,说明版本一致仍可能缺少业务必需能力。
从工作区、模型生成与用户补充信息三个方向解释 MCP 客户端能力,说明 sampling.tools 和 elicitation 模式,以及能力声明不等于授权或资源开放。
围绕“MCP 的 completion/complete 接口为提示参数与资源模板变量提供自动补全,返回结构如何设计”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 ref 类型区分 prompt 与 resource template 的参数引用方式。
围绕“MCP 安全模型中的 Confused Deputy(困惑代理)问题是什么,代理转发令牌时如何产生”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确静态 client id 代理被诱导同意的攻击链与显式同意要求。
围绕“设计一个连接多个 MCP Server 的 Host 应用时,工具命名冲突与权限隔离应如何处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确命名空间前缀与按会话隔离授权上下文的设计决策。
围绕“MCP 的 Elicitation 允许服务端向用户请求结构化输入,适用场景与敏感信息限制是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 schema 约束的表单式输入及禁止索取密码等敏感信息。
围绕“MCP 提示消息中嵌入的 EmbeddedResource 与 ImageContent 等块类型如何在上下文中呈现”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确资源内容内联进提示的序列化方式。
围绕“MCP 对 JSON-RPC 标准错误码的使用规范是什么,-32602 与自定义错误码区间如何划分”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确标准码含义与 -32000 以上自定义区间的分配。
解释 initialize 响应与 notifications/initialized 的不同责任,以连接状态和发送队列说明就绪时机、通知没有响应以及提前发请求的排查方法。
从双向消息和并发响应关联解释 MCP 的 JSON-RPC 外层结构,说明 id、result/error 互斥、通知无响应,以及传输状态与业务结果的区别。
围绕“MCP 连接的正常关闭流程是什么,stdio 与 HTTP 两种传输的关闭信号有何不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确没有显式 shutdown 方法、靠关闭输入流或 HTTP 会话终止的语义。
围绕“MCP 的 logging/setLevel 与 notifications/message 如何实现服务端向客户端”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 RFC 5424 级别语义与客户端可调级的控制权。
围绕“MCP 消息中的 _meta 字段保留给哪些用途,实现方可以在 _meta 中放自定义数据吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确协议保留键与实现自定义键的命名空间规则。
围绕“MCP 列表接口(tools/list、resources/list 等)的 cursor 分页协议如何工作,nex”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确不透明游标不可解析的约束与终止判定。
围绕“MCP 长任务中 progressToken 与 notifications/progress 如何配合上报进度,t”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 token 由请求方放在 _meta 中且服务端不自行生成。
围绕“MCP 中 Prompt(提示模板)由用户驱动的设计意图是什么,与工具、资源的触发主体差异在哪”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确三类原语由 user/model/application 分别控制的分工。
围绕“MCP 客户端通过 prompts/get 获取提示时,arguments 如何被服务端填充进消息序列”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确返回的是多轮消息数组而非纯字符串的语义。
围绕“MCP 在 HTTP 传输中用 MCP-Protocol-Version 头解决什么问题,初始化后版本如何固定”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确后续请求必须带协商版本及缺省回退值。
围绕“MCP 资源模板(Resource Template)的 URI 变量如何工作,服务端怎样处理参数补全”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明模板面向参数化资源列举与 complete 的衔接。
围绕“MCP 中资源(Resource)与工具的本质区别是什么,资源为什么用 URI 标识”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确资源是应用驱动、只读数据暴露的定位。
围绕“MCP 客户端读取资源(resources/read)返回的 text 与 blob 内容如何区分与使用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 blob 的 base64 编码与 mimeType 解释责任。
围绕“MCP 资源订阅(resources/subscribe 与 notifications/resources/upd”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确收到 updated 后需重新 read 的两段式语义。
围绕“MCP Roots 向服务端暴露客户端可访问的文件系统边界,roots/list_changed 通知何时触发”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 roots 是建议性边界而非强制沙箱的定位。
围绕“MCP 服务端如何通过 sampling/createMessage 反向请求客户端调用 LLM,Human-in-”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确采样请求需用户可见可拒绝的安全要求。
逐项解释 tools、resources、prompts、logging 的能力声明,区分目录变化和单个资源更新,并用文件索引场景说明发现、缓存失效和订阅的关系。
围绕“MCP 无状态与有状态 HTTP 部署下分别有哪些会话劫持风险,会话 id 应如何生成与绑定”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确会话 id 需加密随机且宜绑定用户身份。
围绕“MCP Streamable HTTP 中 Mcp-Session-Id 头的分配与校验规则是什么,无状态服务端可以”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确会话 id 由服务端在初始化响应下发及可省略的条件。
围绕“MCP stdio 传输的消息分帧方式是什么,为什么标准输出必须只承载协议消息”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确换行分隔 JSON 与日志只能走 stderr 的约束。
围绕“MCP Streamable HTTP 传输如何用单端点同时支持 POST 请求和 SSE 流式推送”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 POST 返回 JSON 或升级 SSE 的两种响应形态。
围绕“MCP 中 ping 请求与请求超时应如何配置以检测对端存活,为什么不能用传输层心跳替代”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确协议层 ping 可跨传输统一实现的理由。
围绕“MCP 为什么禁止服务端将上游 token 直接透传(token passthrough)给下游资源”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确受众校验失效与审计链断裂两类危害。
围绕“MCP 工具的 annotations(readOnlyHint、destructiveHint、idempoten”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明注解是提示而非安全保证、不可信的边界。
按 MCP 2025-11-25 区分工具定义 Schema、tools/call 报文和 arguments 数据三层校验,解释对象根类型、无参数工具与 JSON Schema 方言。
解释 MCP 工具返回中 content 与 structuredContent 的区别:content 是展示用、类似自然语言的块;structuredContent 是面向程序的结构化对象,受 outputSchema 约束。给出消费优先级与 outputSchema 的作用。
以笔记搜索工具解释 MCP tools/call 的发现、请求关联、参数校验和结果消费,按 2025-11-25 区分报文错误、工具输入失败及状态未知。
围绕“MCP 服务端工具集动态变化时,notifications/tools/list_changed 通知如何让客户端刷”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确声明 listChanged 能力后的重拉时序。
围绕“MCP Streamable HTTP 的断线恢复机制中 Last-Event-ID 与事件 id 如何配合实现重放”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确服务端重放义务与客户端续传请求方式。
围绕“MCP 本地 HTTP 服务端为什么要校验 Origin 与 Host 头以防范 DNS 重绑定攻击”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确监听 localhost 仍需验证来源头的理由。
围绕“MCP 客户端与服务端协议版本互不匹配时应如何降级或报错,日期式版本号如何比较”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确客户端提出版本、服务端可回退、无法接受则断开的决策顺序。