欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot改造MCP服務(wù)器的詳細(xì)說明(StreamableHTTP 類型)

 更新時(shí)間:2025年07月18日 11:53:54   作者:kylewka  
本文介紹了SpringBoot如何實(shí)現(xiàn)MCP StreamableHTTP 服務(wù)器,并且使用Cherry Studio 客戶端測(cè)試MCP服務(wù)器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

SpringBoot改造MCP服務(wù)器(StreamableHTTP)

1 項(xiàng)目說明

MCP(Model Context Protocol)協(xié)議是一個(gè)用于 AI 模型和工具之間通信的標(biāo)準(zhǔn)協(xié)議。隨著 AI 應(yīng)用變得越來(lái)越復(fù)雜并被廣泛部署,原有的通信機(jī)制面臨著一系列挑戰(zhàn)。

近期 MCP 倉(cāng)庫(kù)的 PR #206【1】 引入了一個(gè)全新的 Streamable HTTP 傳輸層替代原有的 HTTP+SSE 傳輸層

  • Streamable HTTP 相比 HTTP + SSE 具有更好的穩(wěn)定性,在高并發(fā)場(chǎng)景下表現(xiàn)更優(yōu)。
  • Streamable HTTP 在性能方面相比 HTTP + SSE 具有明顯優(yōu)勢(shì),響應(yīng)時(shí)間更短且更穩(wěn)定。
  • Streamable HTTP 客戶端實(shí)現(xiàn)相比 HTTP + SSE 更簡(jiǎn)單,代碼量更少,維護(hù)成本更低。

本文介紹了SpringBoot如何實(shí)現(xiàn)MCP StreamableHTTP 服務(wù)器,并且使用 Cherry Studio 客戶端測(cè)試MCP服務(wù)器

Streamable HTTP 支持無(wú)狀態(tài)的服務(wù)和有狀態(tài)的服務(wù),目前的大部分場(chǎng)景無(wú)狀態(tài)的 Streamable HTTP 的可以解決,通過對(duì)比兩種傳輸方案的客戶端實(shí)現(xiàn)代碼,可以直觀地看到無(wú)狀態(tài)的 Streamable HTTP 的客戶端實(shí)現(xiàn)簡(jiǎn)潔性。

由于官方的 mcp-java-sdk 還未支持 StreamableHTTP 模式,同時(shí)需要研究以原有項(xiàng)目提供MCP服務(wù),故設(shè)計(jì)了該項(xiàng)目

項(xiàng)目已經(jīng)封裝為 springboot 的 starter 組件,僅需添加幾個(gè)注解就能實(shí)現(xiàn)MCP服務(wù)器方法

項(xiàng)目地址: https://gitee.com/kylewka/smart-ai

2 使用說明

2.1 安裝教程

  1. 確保您的開發(fā)環(huán)境已安裝 JDK 8 或更高版本以及 Maven
  2. 克隆本倉(cāng)庫(kù)到本地:git clone https://gitee.com/kylewka/smart-ai.git?
  3. 進(jìn)入項(xiàng)目根目錄,執(zhí)行 Maven 構(gòu)建命令:mvn clean install?

2.2 添加依賴

在您的 Spring Boot 項(xiàng)目的 pom.xml? 文件中添加以下依賴

該依賴暫未發(fā)布到 Maven 倉(cāng)庫(kù),需要手動(dòng)安裝至本地倉(cāng)庫(kù)

<dependency>
    <groupId>com.github.kylewka</groupId>
    <artifactId>smart-ai-mcp-spring-boot-starter</artifactId>
    <version>1.0.0</version>
</dependency>

2.3 創(chuàng)建 MCP 服務(wù)端點(diǎn)

使用 @McpServerEndpoint 注解標(biāo)注您的服務(wù)類,并使用 @McpFunction 注解標(biāo)注服務(wù)方法

@McpServerEndpoint(value = "/mcp", version = "1.0.0", name = "測(cè)試MCP服務(wù)")
public class McpServerTool {
    @McpFunction(name = "getWeather", description = "獲取天氣信息")
    public String getWeather(@McpParam(name = "city", description = "城市名稱", required = true) String city) {
        return String.format("%s: 晴天,溫度25℃", city);
    }
    @McpFunction(name = "getSpeciality", description = "獲取城市特產(chǎn)")
    public String getSpeciality(@McpParam(name = "city", description = "城市名稱", required = true) String city) {
        return String.format("%s特產(chǎn)是小籠包", city);
    }
}

2.4 啟動(dòng)應(yīng)用

直接啟動(dòng) Spring Boot 啟動(dòng),即可啟動(dòng)MCP服務(wù)

  1. MCP服務(wù)受項(xiàng)目本身的鑒權(quán)系統(tǒng)影響,請(qǐng)根據(jù)實(shí)際情況進(jìn)行配置

客戶端使用

使用新版MCP協(xié)議的客戶端軟件 Cherry Studio,建議使用 Cherry Studio >= 1.2.0

客戶端設(shè)置中添加MCP服務(wù)器

配置模型并選擇MCP服務(wù)器

對(duì)話測(cè)試效果

到此這篇關(guān)于SpringBoot改造MCP服務(wù)器的詳細(xì)說明(StreamableHTTP 類型)的文章就介紹到這了,更多相關(guān)SpringBoot MCP服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java 動(dòng)態(tài)代理與CGLIB詳細(xì)介紹

    Java 動(dòng)態(tài)代理與CGLIB詳細(xì)介紹

    這篇文章主要介紹了 Java 動(dòng)態(tài)代理與CGLIB詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • java swing GUI窗口美化方式

    java swing GUI窗口美化方式

    這篇文章主要介紹了java swing GUI窗口美化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • java實(shí)現(xiàn)稀疏矩陣的壓縮與解壓的方法

    java實(shí)現(xiàn)稀疏矩陣的壓縮與解壓的方法

    這篇文章主要介紹了java實(shí)現(xiàn)稀疏矩陣的壓縮與解壓 ,把該稀疏矩陣壓縮以三元組形式表示并以文件形式保存,再寫另一個(gè)程序讀取文件中的信息把壓縮后的三元組還原成原來(lái)的稀疏矩陣,需要的朋友可以參考下
    2022-03-03
  • Spring裝配bean方法實(shí)例總結(jié)

    Spring裝配bean方法實(shí)例總結(jié)

    這篇文章主要介紹了spring裝配bean方法實(shí)例總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • AQS同步組件Semaphore信號(hào)量案例剖析

    AQS同步組件Semaphore信號(hào)量案例剖析

    這篇文章主要為大家介紹了AQS同步組件Semaphore信號(hào)量案例剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 淺談java獲取UUID與UUID的校驗(yàn)

    淺談java獲取UUID與UUID的校驗(yàn)

    這篇文章主要介紹了java獲取UUID與UUID的校驗(yàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java8新特性時(shí)間日期庫(kù)DateTime API及示例詳解

    Java8新特性時(shí)間日期庫(kù)DateTime API及示例詳解

    這篇文章主要介紹了Java8新特性時(shí)間日期庫(kù)DateTime API及示例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Java使用GUI繪制線條的示例

    Java使用GUI繪制線條的示例

    這篇文章主要介紹了Java使用GUI繪制線條的示例,幫助大家更好的理解和學(xué)習(xí)java gui編程,感興趣的朋友可以了解下
    2020-09-09
  • Java實(shí)現(xiàn)限流的6種方案詳解

    Java實(shí)現(xiàn)限流的6種方案詳解

    在 Java 生態(tài)中,除了 Guava 的 RateLimiter,還有多種限流方案可供選擇,本文為大家整理了6個(gè)常用的方案,有需要的小伙伴可以根據(jù)需求進(jìn)行選擇
    2025-06-06
  • Java模擬qq軟件的詳細(xì)過程

    Java模擬qq軟件的詳細(xì)過程

    這篇文章主要為大家詳細(xì)介紹了用Java實(shí)現(xiàn)模擬QQ,實(shí)現(xiàn)了消息通信+登陸界面美化,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評(píng)論