MCP 协议与 Java 集成实践

共 20 题
#

1. MCP(Model Context Protocol)的定位,模型与外部工具/资源的标准化接口

A 定义模型内部的权重格式
B 标准化模型与外部工具/资源的交互接口 ✓ 正确答案
C 替代模型训练框架
D 只用于单体应用内部
#

2. MCP 的核心原语,tools、resources、prompts 三类能力及其 JSON-RPC 2.0 传输

A none,不存在该原语
B resources,通过 URI 标识 ✓ 正确答案
C prompts,用于提示词
D tools,用于调用
#

3. MCP 的传输方式,stdio 与 Streamable HTTP(含 SSE)的适用场景

A 两者都只能本机使用
B 无网络传输方式
C stdio 本地进程传输
D Streamable HTTP(含 SSE)远程传输 ✓ 正确答案
#

4. Spring AI 的 MCP 集成,McpServer/McpClient 自动配置与注解式工具注册(@Tool)

A 用 @Tool 注解标注方法,由自动配置生成 Schema 并注册 ✓ 正确答案
B 只能通过外部文件声明
C 无法把方法暴露为工具
D 手写完整 MCP 报文
#

5. MCP 的授权与鉴权,OAuth 2.1(Authorization)流程与资源访问边界

A 只用于日志记录
B 替代 JSON-RPC 消息
C 加密模型权重
D 认证客户端身份并携带作用域,控制可访问的资源范围 ✓ 正确答案
#

6. MCP 工具调用的完整链路,模型生成参数后 tools/call 的执行契约,返回 content 数组(text/image/资源引用)的结构化回传

A text、image、resource 等结构化类型 ✓ 正确答案
B 只能是空数组
C 只能是二进制
D 只能是纯文本
#

7. MCP 服务器的工具定义 schema,JSON Schema 参数描述与模型调用约束

A 告诉模型参数的类型、必填与取值约束,引导其正确调用 ✓ 正确答案
B 记录调用日志
C 定义服务器的网络地址
D 存储工具执行结果
#

8. MCP 客户端如何发现并调用远程工具,工具列表缓存、能力协商(initialize)与版本协商

A 立即执行工具
B 交换协议版本与能力,建立会话基础 ✓ 正确答案
C 关闭会话
D 上传数据
#

9. 用 Java 实现 MCP Server,Spring AI Alibaba 与官方 MCP Java SDK 的工程结构

A 两者都需手写所有报文
B 无法用 Java 实现
C 用 Spring AI Alibaba,靠自动配置与 @Tool 注解减少样板代码 ✓ 正确答案
D 用官方 SDK 手写全部协议细节
#

10. MCP 工具调用的超时、限流与熔断,模型驱动调用不可控时的保护

A 无限重试直到成功
B 增加调用频率
C 忽略失败继续堆积请求
D 熔断该工具,快速断开并走降级路径 ✓ 正确答案
#

11. MCP 与 Function Calling 的关系,协议层标准化与单模型私有实现的差异

A MCP 是模型私有能力
B Function Calling 是跨模型标准协议
C 二者完全相同
D Function Calling 是模型私有实现,MCP 是协议层标准化,二者互补 ✓ 正确答案
#

12. 多 Agent 场景下 MCP 工具注册表的隔离与冲突处理

A 删除重复工具
B 忽略冲突
C 用命名空间或按 Agent 限定,隔离各 Agent 的工具注册表 ✓ 正确答案
D 所有 Agent 共享同一注册表
#

13. MCP 工具的审计日志与可观测,调用入参、结果与 token 成本归因

A 记录调用入参结果,并把 token 成本归因到对应请求/租户 ✓ 正确答案
B 不记录任何调用信息
C 忽略 token 消耗
D 只记录成功调用
#

14. MCP 的采样(sampling)与根(roots)原语在复杂工作流中的作用

A 记录调用次数
B 管理工具名称
C 定义客户端暴露给服务器的文件系统根路径,限定访问边界 ✓ 正确答案
D 生成模型输出
#

15. MCP 的进度通知(progress),长耗时工具如何通过 notifications/progress 反馈中间状态,客户端如何关联请求

A 通过 progressToken 等关联标识绑定到对应请求 ✓ 正确答案
B 无法关联,只能全局显示
C 忽略进度通知
D 按时间戳随机匹配
#

16. MCP resources 的读取与订阅,资源 URI、list/read 请求与变更通知如何驱动上下文刷新

A 变更自动写入模型权重
B 服务器发送变更通知,客户端据此刷新 ✓ 正确答案
C 无法感知变更
D 客户端只能重启后重新读取
#

17. MCP 服务器嵌入 Spring Boot 应用的进程模型,与业务线程池/虚拟线程的共享

A 合理设置并发上限与隔离,防止 MCP 流量挤占业务资源 ✓ 正确答案
B 无限制共享,任其抢占
C 为每个 MCP 请求新建无限线程
D MCP 与业务完全隔离,不共享任何资源
#

18. MCP 与 RAG 的协作,把检索工具暴露为 MCP tool 的实践

A 检索无法作为工具调用
B 只能用于本地文件检索
C 让多个 AI 应用用标准方式复用同一检索服务 ✓ 正确答案
D 每个应用必须重复实现检索
#

19. MCP 生态的互操作性问题,工具描述质量、错误码规范与版本漂移

A 模型难以准确生成调用参数,导致调用错误 ✓ 正确答案
B 与工具调用无关
C 影响网络带宽
D 只影响 UI 显示
#

20. MCP 场景的提示注入防护,工具描述、参数与系统提示的隔离,以及工具结果回流前的过滤

A 忽略工具结果
B 原样透传所有工具结果
C 让工具结果直接执行
D 工具结果回流模型前过滤,并隔离系统指令与工具内容 ✓ 正确答案