Java 開發必看!MCP Server 實戰全攻略,原來這么簡單 原創
Model Context Protocol(MCP)作為新一代 AI 服務交互協議,近期發布了 Java SDK 0.8 版本。新版本帶來了更強大的會話管理能力和工具集成機制,但在使用原生 SDK 時,開發者仍面臨以下挑戰:
- 依賴注入和生命周期管理:需手動處理,操作繁瑣。
- 工具注冊流程:較為復雜,配置步驟多。
- 與 Spring 生態整合:缺乏深度整合,與現有 Spring 項目適配性差。
為解決這些問題,Spring 官方團隊與 MCP 項目合作推出了 Spring AI MCP 擴展。通過 Spring Boot Starter,實現了一鍵式整合,顯著降低了企業級 AI 服務的開發門檻,讓開發者可以更輕松地在 Spring 項目中使用 MCP 功能。
1、MCP Server 開發步驟
本文將手把手教您搭建一個基于 Spring AI MCP 的 Java MCP Server,讓您能夠在各類客戶端輕松調用企業級 AI 服務。借助這一方案,您可以將業務邏輯與工具無縫融入 AI 交互流程,為用戶提供更智能、更貼合業務場景的體驗。
第一、準備環境
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-mcp-server-webmvc-spring-boot-starter</artifactId>
</dependency>
第二、業務邏輯實現
@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"));
}
}
第三、服務注冊
@Configuration
public class McpConfig {
@Bean
public ToolCallbackProvider documentTools(MeilisearchService searchService) {
return MethodToolCallbackProvider.builder()
.toolObjects(searchService)
.build();
}
}
2、MCP Client 配置
第一、MCP Clent 通用配置
{
"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"
]
}
}
}
第二、圖形化配置
1.Cherry 客戶端配置界面
2.客戶端配置界面
第三、效果展示
本文轉載自公眾號玄姐聊AGI 作者:玄姐
?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
已于2025-4-3 07:32:05修改
贊
收藏
回復
分享
微博
QQ
微信
舉報

回復
相關推薦