Java面试题更新 2026-08-03

请解释 MCP(模型上下文协议)的基本概念,并说明在 Spring AI 框架中如何分别构建 MCP 客户端和服务端?

考察说明

考察对 MCP 协议的理解及在 Spring AI 中的实际应用能力。

回答思路

  1. 【回答框架 1】MCP(Model Context Protocol)是一种开放协议,用于标准化 AI 模型与外部数据源、工具之间的交互。它定义了客户端、服务端和传输层的通信方式,使模型能够安全地访问上下文信息。
  2. 【回答框架 2】在 Spring AI 中,实现 MCP 客户端可以通过引入 spring-ai-starter-model-mcp 依赖,配置 MCP 服务器的地址或传输方式(如 HTTP 或 Stdio),然后使用 MCP 客户端简化工具调用。
  3. 【回答框架 3】实现 MCP 服务端,需要创建 MCP 服务器端点,使用 Spring AI 的注解(如 @Tool)定义可被模型调用的工具方法,并配置工具的描述和参数 Schema。
  4. 【回答框架 4】Spring AI 支持两种传输方式:基于 HTTP 的 Streamable HTTP 和基于标准输入输出的 Stdio。配置时需根据部署环境选择,并通过 application.yml 设置相关参数。
  5. 【回答框架 5】客户端通过工具注册表获取服务端提供的工具列表,并在模型对话时动态调用,实现模型与外部系统的集成。
  6. 【关键点 1】MCP 协议核心是客户端-服务端模型,标准化 AI 与数据/工具的交互。
  7. 【关键点 2】Spring AI 通过 starter 依赖简化 MCP 客户端配置,支持 HTTP 和 Stdio 传输。
  8. 【关键点 3】服务端使用 @Tool 注解暴露工具,并自动生成 Schema 供模型调用。
  9. 【关键点 4】客户端在运行时动态发现并调用工具,实现模型驱动的外部操作。
  10. 【易错点 1】不要混淆 MCP 与 HTTP 协议,MCP 是应用层协议,HTTP 是传输层。
  11. 【易错点 2】注意传输方式的选择:HTTP 适合远程,Stdio 适合本地进程。
  12. 【易错点 3】确保工具方法参数和描述清晰,否则模型可能无法正确生成调用。