# 1. 如何用 MCP Inspector 检查初始化、能力列表、Schema、资源读取、工具调用和协议错误 A Inspector 可检查初始化、能力列表、Schema、资源读取、工具调用与协议错误,是 Server 调试的必备工具 ✓ 正确答案 B Inspector 只能查看日志,不能调用工具 C Inspector 只用于 Python Server D Inspector 会自动修复协议错误
# 2. 将订单或知识库服务封装为 MCP Server 时,如何保持最小能力、幂等性、明确错误和版本兼容 A 最小能力、幂等键、结构化错误与向后兼容的 Schema 共同保证工具安全、可预测、可演进 ✓ 正确答案 B 应暴露数据库全部能力,保证模型灵活 C 写入工具无需幂等,重试即可 D 错误只需抛异常,无需结构化
# 3. 把现有内部 REST 服务(如订单查询)封装为 MCP Server 时,如何在 Tool Schema 中准确表达参数约束而不泄漏内部细节 A Schema 应直接暴露内部字段名与数据库列名 B 内部错误堆栈应如实返回给模型 C Schema 只需表达参数类型,无需约束 D 用 JSON Schema 表达约束,参数用语义化命名,隐藏内部细节,服务端校验并规范化,返回脱敏 ✓ 正确答案
# 4. MCP Server 的“可观测性”应采集哪些指标(tools/call 耗时、错误率、客户端 ID、prompt token) A 只需采集工具调用耗时,其他无需 B 客户端 ID 隐私敏感,不应采集 C token 指标与成本无关,无需采集 D 应采集工具调用耗时、错误率、客户端 ID、token 消耗与资源指标,支撑排障、成本与容量治理 ✓ 正确答案
# 5. 多 Server 出现同名工具或互不信任的数据源时,Host 如何命名空间隔离、授权和路由 A Host 用 namespace 前缀隔离同名工具、按 Server/用户授权、路由到正确后端,并用独立信任边界隔离数据源 ✓ 正确答案 B 同名工具应让 Server 自行改名,避免冲突 C 互不信任的数据源无需隔离,模型会处理 D 命名空间隔离会破坏协议,不应使用
# 6. 怎样为 MCP 做日志、分布式追踪、权限审查、Schema 契约和跨版本兼容测试 A 只需日志即可,其他不重要 B 权限审查与可观测性无关 C 结构化日志 + OpenTelemetry 追踪 + 权限审计 + Schema 契约测试 + 跨版本兼容测试共同保障可观测、可审计与兼容 ✓ 正确答案 D 跨版本兼容只需在发布时测试一次
# 7. MCP Inspector 在本地调试时如何复现生产请求,包括鉴权头、Sampling 请求与 Elicitation A 通过配置鉴权头、模拟 Sampling 响应与 Elicitation 输入,把生产上下文对齐到本地以复现问题 ✓ 正确答案 B Inspector 只能调试无鉴权的本地请求 C Sampling 与 Elicitation 无法在 Inspector 中复现 D 复现生产请求只需传参数,无需鉴权
# 8. 把内部已有 OpenAPI(Swagger)自动转换为 MCP Server 时,参数命名、必填与安全标记如何忠实保留 A 应忠实保留参数命名、必填、安全标记、类型约束与描述,转换后做契约对比验证 ✓ 正确答案 B 转换时只需保留参数类型,其他可丢弃 C 安全标记无需保留,MCP 认证统一处理 D 必填信息转换后模型会自动推断
# 9. 企业内自研 MCP Server 与公共 MCP Server 共存时,如何让 Host 自动选择合适的 Server(按用户、租户、场景) A 应始终优先用公共 Server,减少自研成本 B Server 选择只能由用户手动指定 C 所有请求都应走自研 Server,保证一致 D 按用户、租户、场景与数据敏感性路由,敏感数据强制走自研 Server,选择可审计并支持灰度 ✓ 正确答案
# 10. MCP 与传统 API Gateway 关系是什么,是否所有内部 API 都应暴露为 MCP,还是只暴露高频/低敏感操作 A 所有内部 API 都应暴露为 MCP,方便模型调用 B MCP 复用 Gateway 的治理,但只暴露高频、低敏感、适合 Agent 的操作,避免全量暴露放大风险 ✓ 正确答案 C MCP 应替代 API Gateway,完全独立 D 暴露的 API 越多越好,模型越灵活
# 11. MCP 错误传播(Tool 抛错、Server 内部异常)如何在 Client 端做用户友好提示同时保留调试信息 A Server 结构化错误,Client 给用户可读提示并保留调试信息(含 trace id),用户提示不暴露内部细节 ✓ 正确答案 B 错误堆栈应直接展示给用户,便于理解 C 所有错误都应提示"服务不可用",无需区分 D 调试信息无需保留,用户提示即可
# 12. 官方 SDK、参考 Server 与 mcp.so、glama.ai 等第三方目录的信任级别为何不能等同 A 第三方目录收录的 Server 与官方 SDK 同等可信 B 第三方目录收录即代表官方背书 C 参考 Server 是生产级,可直接用于生产 D 官方 SDK 信任最高、参考 Server 展示最佳实践、第三方目录仅作发现入口,其 Server 需企业严格审查 ✓ 正确答案
# 13. MCP 与 Skills 在运行时发现协议和预定义能力包上的差异是什么,组合使用时如何划界 A MCP 与 Skills 完全等价,只是名称不同 B MCP 只能用于本地预定义能力 C Skills 支持跨进程动态发现 D MCP 是运行时发现协议(动态工具/跨进程),Skills 是本地预定义能力包,按"是否需动态发现/跨进程"划界组合 ✓ 正确答案
# 14. MCP Server 是否应支持只读模式(dry-run)让用户在生产环境先看效果再实际执行 A dry-run 会导致真实副作用,应禁止 B 所有工具都应支持 dry-run,包括只读工具 C dry-run 返回"将要执行什么、什么影响"的预览,用户确认后再执行真实操作,降低高风险写操作风险 ✓ 正确答案 D dry-run 无需鉴权,因为不执行副作用
# 15. MCP Server 的 Schema 应在 CI 中自动测试,避免错误描述导致模型“幻觉式调用” A Schema 无需测试,模型会自行适配 B CI 中校验 Schema 合法性、描述一致性、参数有效性与兼容性,防止错误 Schema 导致模型幻觉式调用 ✓ 正确答案 C Schema 测试只需在人工 review 时做 D 描述不一致不会影响模型调用
# 16. 为什么不能假设所有 MCP Server 都遵循最小权限原则,Client 端应主动校验 Server 返回的 capability A Server 声明是待校验输入,Client 应核对能力合理性、按最小权限启用、调用时校验并监控行为 ✓ 正确答案 B 应信任 Server 的能力声明,因为它是协议的一部分 C 所有 Server 都遵循最小权限,无需校验 D 只校验工具名即可,无需校验 Schema
# 17. Spring AI 2.0 的 MCP Client/Server 与官方 Java SDK 应如何选型并接入现有 Spring 安全边界 A 官方 Java SDK 一定优于 Spring AI MCP B Spring 项目不能用官方 Java SDK C Spring AI MCP 深度集成 Spring 生态并复用 Spring Security 鉴权,官方 SDK 更底层适合精细控制,均需接入现有安全边界 ✓ 正确答案 D MCP 接入与 Spring Security 无关
# 18. 在 Spring AI 中如何让 MCP Client 自动发现并注册多个 Server(stdio + Streamable HTTP) A 每个 Server 必须手写连接代码 B 通过 application.yml 声明多个 Server(stdio/HTTP),Spring AI 自动创建 Client、拉取工具并注册到容器,可加命名空间避免冲突 ✓ 正确答案 C Spring AI 一次只能注册一个 Server D stdio 与 HTTP Server 不能在 Spring AI 中共存