Java 開發(fā)必看!MCP Server 實(shí)戰(zhàn)全攻略,原來這么簡(jiǎn)單 原創(chuàng)
Model Context Protocol(MCP)作為新一代 AI 服務(wù)交互協(xié)議,近期發(fā)布了 Java SDK 0.8 版本。新版本帶來了更強(qiáng)大的會(huì)話管理能力和工具集成機(jī)制,但在使用原生 SDK 時(shí),開發(fā)者仍面臨以下挑戰(zhàn):
- 依賴注入和生命周期管理:需手動(dòng)處理,操作繁瑣。
- 工具注冊(cè)流程:較為復(fù)雜,配置步驟多。
- 與 Spring 生態(tài)整合:缺乏深度整合,與現(xiàn)有 Spring 項(xiàng)目適配性差。
為解決這些問題,Spring 官方團(tuán)隊(duì)與 MCP 項(xiàng)目合作推出了 Spring AI MCP 擴(kuò)展。通過 Spring Boot Starter,實(shí)現(xiàn)了一鍵式整合,顯著降低了企業(yè)級(jí) AI 服務(wù)的開發(fā)門檻,讓開發(fā)者可以更輕松地在 Spring 項(xiàng)目中使用 MCP 功能。
1、MCP Server 開發(fā)步驟
本文將手把手教您搭建一個(gè)基于 Spring AI MCP 的 Java MCP Server,讓您能夠在各類客戶端輕松調(diào)用企業(yè)級(jí) AI 服務(wù)。借助這一方案,您可以將業(yè)務(wù)邏輯與工具無縫融入 AI 交互流程,為用戶提供更智能、更貼合業(yè)務(wù)場(chǎng)景的體驗(yàn)。
第一、準(zhǔn)備環(huán)境
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-mcp-server-webmvc-spring-boot-starter</artifactId>
</dependency>
第二、業(yè)務(wù)邏輯實(shí)現(xiàn)
@Service
publicclassMeilisearchService {
@Tool(description = "PIG ISSUE 知識(shí)庫(kù)檢索,解決用戶技術(shù)問題 ")
public String queryQuestion(@ToolParam(description = "用戶的技術(shù)問題描述 ") 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"));
}
}
第三、服務(wù)注冊(cè)
@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.客戶端配置界面
第三、效果展示
本文轉(zhuǎn)載自公眾號(hào)玄姐聊AGI 作者:玄姐
?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
已于2025-4-3 07:32:05修改
贊
收藏
回復(fù)
分享
微博
QQ
微信
舉報(bào)

回復(fù)
相關(guān)推薦