在现代 AI 应用中,一个日益突出的挑战是:如何让大语言模型理解并调用我们的业务系统、数据库或私有 API?Model Context Protocol(MCP)为我们提供了这座桥梁。通过实现 MCP 协议,我们可以让 Claude 等模型“开口”与本地服务交流,调用私有接口、访问实时数据,甚至直接执行复杂业务逻辑。
本文将从零开始,教你如何使用 Spring Boot + Spring AI 构建一套符合 MCP 协议的服务端,并无缝接入 Claude Desktop 客户端。最终实现 Claude 通过自然语言与本地服务交互,比如“新增一个课程”或“获取所有课程信息”。
什么是 MCP?为什么它重要?
Model Context Protocol(MCP) 是一套开放标准,它的核心作用是让 AI 模型通过结构化协议与外部世界交互。具体能力包括:
- 访问受限或私有数据源
- 调用本地 API 执行业务逻辑
- 执行模型训练时未具备的功能
- 实现 AI 与任意第三方系统的实时交互
你可以把 MCP 理解为 LLM 的「插件系统」,让原本只能回答文字的模型,具备了「动手能力」。
技术选型与开发框架
本项目使用如下技术栈:
- Spring Boot 3.3+
- Spring AI + MCP Tool Framework
- PostgreSQL 作为业务数据源
- Claude Desktop 作为对接客户端
- Maven 构建工具
项目概览
安装 Claude Desktop 在本项目中,我们使用的是 Claude Desktop。如果你尚未安装,请前往 Claude 官方网站下载并安装 Claude Desktop。
安装并打开后,你将看到如下所示的聊天窗口:
第一步:构建课程业务服务(Spring Boot)
这一层是我们的真实业务系统,用于模拟 Claude 要调用的“第三方服务”。
/controller/CourseController.java
/service/CourseService.java
第二步:基于 MCP 定义 AI 可调用的工具服务
这一步中,我们将业务系统“暴露”给 Claude 模型,并注册为 MCP 工具。
/mcp/CourseToolService.java
第三步:Spring Boot 启动类配置 + 注册 MCP 工具
application.properties 配置 MCP 模式
启动并接入 Claude Desktop
使用以下命令构建 MCP 服务端:
找到构建出的 JAR 包,比如:
然后,在 Claude Desktop 的配置文件(如 ~/.claude/claude_desktop_config.json)中,添加如下 MCP Server 配置:
重启 Claude Desktop,在 设置 > Developer > MCP Servers 处即可看到 claude-mcp 工具服务被成功识别。
验证 Claude AI 的调用能力
打开 Claude Desktop 对话框,尝试:
你会看到 Claude 调用了我们的 MCP 服务,业务系统的数据库被成功写入一条新记录!
总结:AI × Java 工程师的未来已来
通过本文,我们成功构建了一个 Spring Boot + Spring AI 驱动的 MCP 本地服务端,实现了 Claude 模型对本地 API 的实时调用。这种模式背后的巨大意义在于:
- 为 AI 模型赋予了执行力,接入真实世界的业务逻辑;
- MCP 成为大模型“插件系统”,打通企业私域数据;
- Spring AI 提供优雅的注解式开发体验,让 Java 工程师也能轻松参与大模型生态。
从今天开始,你的每一行业务逻辑都可以是 Claude 的可调用工具,让 AI 真正成为你的超级编程搭子