Model Context Protocol(MCP)作为新一代 AI 服务交互协议,近期发布了 Java SDK 0.8 版本。
虽然新版本带来了更强大的会话管理能力和工具集成机制,但直接使用原生 SDK 仍存在以下挑战:
-
需要手动处理依赖注入和生命周期管理
-
工具注册流程较为复杂
-
缺乏与现有 Spring 生态的深度整合
为此,Spring 官方团队与 MCP 项目合作推出了 Spring AI MCP 扩展,通过 Spring Boot Starter 实现一键式整合,显著降低企业级 AI 服务的开发门槛。
一、效果展示
本文将指导您如何基于 Spring AI MCP 构建一个自定义业务的 Java MCP Server,实现在各种客户端中直接调用企业级 AI 服务的能力。通过这种方式,您可以将自己的业务逻辑和工具无缝集成到 AI 交互流程中,为用户提供更智能、更贴合业务场景的体验。
二、开发步骤
2.1 环境准备
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-mcp-server-webmvc-spring-boot-starter</artifactId>
</dependency>
2.2 业务实现
@Service
publicclassMeilisearchService {@Tool(description = "PIG ISSUE 知识库检索,解决用户技术问题 ")public String queryQuestion(@ToolParam(description = "用户的技术问题描述 ") String question) {Clientclient=newClient(newConfig()
));SearchResultresults= client.index("pigx-doc").search(newSearchRequest(question).setShowMatchesPosition(true).setSort(newString[]{"lvl2:desc"}).setLimit(1));return results.getHits().stream().map(hit -> "【"+hit.get("lvl0")+"】"+hit.get("text")).collect(Collectors.joining("\n\n"));}
}
2.3 服务注册
@Configuration
public class McpConfig {@Beanpublic ToolCallbackProvider documentTools(MeilisearchService searchService) {return MethodToolCallbackProvider.builder().toolObjects(searchService).build();}
}
三、客户端配置指南
3.1 通用配置
{"mcpServers":{"pig-issue":{"isActive":true,"command":"java","args":["-Dspring.ai.mcp.server.stdio=true","-jar","/Users/lengleng/env/repository/io/github/pig-mesh/pig-issue-query-mcp/0.0.1-SNAPSHOT/pig-issue-query-mcp-0.0.1-SNAPSHOT.jar"]}
}
}
3.2 图形化配置步骤
3.3 客户端工具配置
Cherry 客户端配置界面:
PIG AI 客户端配置界面:
总结
ModelContextProtocol(MCP)作为面向大模型应用的标准协议,虽然规范发布已久,但随着 Java SDK[1] 的正式推出,Java 生态正在加速拥抱这一标准。Spring AI MCP 通过以下特性显著简化了开发流程:
声明式编程模型:使用 @Tool 注解快速暴露业务能力为 AI 工具
通过本文演示的 Meilisearch 集成案例可以看到,借助 Spring AI MCP 只需三步即可完成传统服务的 AI 能力封装:工具方法开发 → 服务注册 → 客户端配置。这种低侵入式的集成方式既保留了现有技术栈的优势,又为系统赋予了智能交互能力。随着 Java 生态对 MCP 的支持日趋完善,采用该协议构建企业级 AI 应用将成为提升开发效率、降低维护成本的最佳实践。
引用链接
[1] Java SDK: https://github.com/modelcontextprotocol/java-sdk