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