輕松開(kāi)發(fā) Streamable HTTP MCP Server
大家好!我是韓老師。
還是那句話:也許有一天,AI 程序員不懂 MCP,就猶如前端程序員不懂 JavaScript!
相信不少童鞋已經(jīng)了解了甚至參與到了 MCP 相關(guān)的開(kāi)發(fā)。
從 MCP 支持的兩個(gè)協(xié)議 stdio 和 SSE 來(lái)看,MCP 確實(shí)有點(diǎn)“快而糙”。如果我當(dāng)年本科的暑假大作業(yè),還有一天就要deadline了,我也許才會(huì)選擇這兩個(gè)協(xié)議,能讓我快速出活。
在第一篇文章中,我就提到了 stdio 和 SSE 的的“快而糙”。
SSE 的最大缺陷之一,顯而易見(jiàn):SSE 需要 server 端保持一個(gè)長(zhǎng)連接,而且,根據(jù) MCP 的協(xié)議,在 MCP Client 與 MCP Server 建立 SEE 連接后,在整個(gè) connection 的生命周期中,MCP Server 需要一直保持著這個(gè) SSE 連接。
那么,對(duì)于要支持 SSE 的運(yùn)行在 remote 的 MCP Server 來(lái)說(shuō),就需要保證高可靠性。在高并發(fā)的情況下,對(duì) MCP Server 的負(fù)載更是一個(gè)挑戰(zhàn)。
在 3 月 26 日,MCP 發(fā)布了最新的 spec,用 Streamable HTTP “取代”了 SSE。
簡(jiǎn)單來(lái)說(shuō),在新的 Streamable HTTP 協(xié)議中,MCP Server 可以根據(jù)自己實(shí)際的使用場(chǎng)景來(lái)決定自己是 Stateless 還是 Stateful 的,而不是像 SSE 那樣,一定是 Stateful 的。
這對(duì)開(kāi)發(fā) Remote MCP Server 的開(kāi)發(fā)者來(lái)說(shuō),真是一個(gè)極好的消息,因?yàn)樵诓簧賵?chǎng)景中,Stateless server 會(huì)對(duì) MCP Server 的要求降低很多!
今天,我也要和大家分享個(gè)好消息,韓老師的 Code Runner MCP Server 和 Yeoman Generator for MCP Server 都已經(jīng)支持 Streamable HTTP 啦!
現(xiàn)在,韓老師就用 Yeoman Generator for MCP Server,來(lái)帶領(lǐng)大家快速開(kāi)發(fā)一個(gè) Streamable HTTP 的 MCP Server!
安裝 Node.js
從 https://nodejs.org/en 安裝 LTS 版的 Node.js 即可。
安裝 Scaffolding Tool
在命令行運(yùn)行下面命令,安裝 Yeoman Generator for MCP Server:
npm install -g yo generator-mcp@latest
創(chuàng)建 MCP Server 項(xiàng)目
在命令行運(yùn)行下面命令,創(chuàng)建 MCP Server 項(xiàng)目:
yo mcp -n 'Weather MCP Server'
實(shí)現(xiàn)代碼邏輯
主要的代碼邏輯在 src\streamableHttp.ts 文件中,可以不做修改直接使用。
啟動(dòng)項(xiàng)目
在命令行運(yùn)行下面命令,啟動(dòng) MCP Server 項(xiàng)目:
npm run build npm run start:streamableHttp
在 VS Code 運(yùn)行
安裝好最新的 VS Code Insiders 版本。
打開(kāi) .vscode\mcp.json,取消 weather-mcp-server-streamable-http 的注釋?zhuān)c(diǎn)擊 “start” 按鈕:
現(xiàn)在,就能在 VS Code Insiders 的 Agent Mode 調(diào)用你的 MCP Server 啦!
大功告成!
到此這篇關(guān)于輕松開(kāi)發(fā) Streamable HTTP MCP Server 的文章就介紹到這了,更多相關(guān)開(kāi)發(fā) Streamable HTTP MCP Server 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 教你如何實(shí)現(xiàn)容器化 MCP Server
- 在 VS Code 中,一鍵安裝 MCP Server!
- 從零開(kāi)始開(kāi)發(fā)一個(gè) MCP Server!
- VS?Code擴(kuò)展Code?Runner?MCP?Server來(lái)了
- Go語(yǔ)言開(kāi)發(fā)實(shí)現(xiàn)查詢IP信息的MCP服務(wù)器
- 一文弄懂用Go實(shí)現(xiàn)MCP服務(wù)的示例代碼
- 一文帶你學(xué)會(huì)使用Go語(yǔ)言實(shí)現(xiàn)自己的MCP服務(wù)端
- SpringBoot項(xiàng)目引入MCP的實(shí)現(xiàn)示例
- .NET?MCP?文檔詳細(xì)指南
- 把 MCP Server 打包進(jìn) VS Code extension
相關(guān)文章
Node中使用http-proxy-middleware實(shí)現(xiàn)代理跨域的方法步驟
本文主要介紹了Node中使用http-proxy-middleware實(shí)現(xiàn)代理跨域的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11NodeJS http模塊用法示例【創(chuàng)建web服務(wù)器/客戶端】
這篇文章主要介紹了NodeJS http模塊用法,結(jié)合實(shí)例形式分析了node.js創(chuàng)建web服務(wù)器與客戶端,進(jìn)行HTTP通信的相關(guān)操作技巧,需要的朋友可以參考下2019-11-11nodejs提示:cross-device link not permitted, rename錯(cuò)誤的解決方法
這篇文章主要給大家介紹了關(guān)于nodejs提示:cross-device link not permitted, rename錯(cuò)誤的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用nodejs具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06輕松創(chuàng)建nodejs服務(wù)器(2):nodejs服務(wù)器的構(gòu)成分析
這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(2):nodejs服務(wù)器的構(gòu)成分析,本文是對(duì)第一節(jié)中簡(jiǎn)單服務(wù)器的代碼進(jìn)行分析總結(jié),需要的朋友可以參考下2014-12-12nodejs腳本centos開(kāi)機(jī)啟動(dòng)實(shí)操方法
在本篇文章里小編給大家整理的是關(guān)于nodejs腳本centos開(kāi)機(jī)啟動(dòng)實(shí)操方法,有興趣的朋友們參考下。2020-03-03