再见,SSE!你好,Streamable HTTP!轻松开发 Streamable HTTP MCP Server

大家好!我是韩老师。

之前和大家分享了三篇 MCP 相关的文章:

还是那句话:也许有一天,AI 程序员不懂 MCP,就犹如前端程序员不懂 JavaScript!

相信不少童鞋已经了解了甚至参与到了 MCP 相关的开发。

从 MCP 支持的两个协议 stdio 和 SSE 来看,MCP 确实有点"快而糙"。如果我当年本科的暑假大作业,还有一天就要deadline了,我也许才会选择这两个协议,能让我快速出活。

在第一篇文章中,我就提到了 stdio 和 SSE 的的"快而糙"。

SSE 的最大缺陷之一,显而易见:SSE 需要 server 端保持一个长连接,而且,根据 MCP 的协议,在 MCP Client 与 MCP Server 建立 SEE 连接后,在整个 connection 的生命周期中,MCP Server 需要一直保持着这个 SSE 连接。

那么,对于要支持 SSE 的运行在 remote 的 MCP Server 来说,就需要保证高可靠性。在高并发的情况下,对 MCP Server 的负载更是一个挑战。

在 3 月 26 日,MCP 发布了最新的 spec,用 Streamable HTTP "取代"了 SSE。

简单来说,在新的 Streamable HTTP 协议中,MCP Server 可以根据自己实际的使用场景来决定自己是 Stateless 还是 Stateful 的,而不是像 SSE 那样,一定是 Stateful 的。

这对开发 Remote MCP Server 的开发者来说,真是一个极好的消息,因为在不少场景中,Stateless server 会对 MCP Server 的要求降低很多!

今天,我也要和大家分享个好消息,韩老师的 Code Runner MCP Server 和 Yeoman Generator for MCP Server 都已经支持 Streamable HTTP 啦!

现在,韩老师就用 Yeoman Generator for MCP Server,来带领大家快速开发一个 Streamable HTTP 的 MCP Server!

安装 Node.js

https://nodejs.org/en 安装 LTS 版的 Node.js 即可。

安装 Scaffolding Tool

在命令行运行下面命令,安装 Yeoman Generator for MCP Server:

bash 复制代码
npm install -g yo generator-mcp@latest

创建 MCP Server 项目

在命令行运行下面命令,创建 MCP Server 项目:

text 复制代码
yo mcp -n 'Weather MCP Server'

实现代码逻辑

主要的代码逻辑在 src\streamableHttp.ts 文件中,可以不做修改直接使用。

启动项目

在命令行运行下面命令,启动 MCP Server 项目:

text 复制代码
npm run build
npm run start:streamableHttp

在 VS Code 运行

安装好最新的 VS Code Insiders 版本。

打开 .vscode\mcp.json,取消 weather-mcp-server-streamable-http 的注释,点击 "start" 按钮:

现在,就能在 VS Code Insiders 的 Agent Mode 调用你的 MCP Server 啦!

大功告成!

我的两个 MCP 项目完全开源,欢迎来围观或者一起共谋大业:

GitHub - formulahendry/generator-mcp: Yeoman Generator to quickly create a new MCP Server

GitHub - formulahendry/mcp-server-code-runner: Code Runner MCP Server

相关推荐
一个处女座的程序猿17 小时前
LLMs之MCP:2025年5月2日,Anthropic 宣布 Claude 重大更新:集成功能上线,研究能力大幅提升
anthropic·mcp
带刺的坐椅19 小时前
FastMCP(python)和 SolonMCP(java)的体验比较(不能说一样,但真的很像)
java·python·solon·mcp·fastmcp
零炻大礼包1 天前
【MCP】服务端搭建(python和uv环境搭建、nodejs安装、pycharma安装)
开发语言·python·uv·mcp
风筝超冷1 天前
MCP项目实例 - client sever交互
mcp
带刺的坐椅1 天前
Java Solon-MCP 实现 MCP 实践全解析:SSE 与 STDIO 通信模式详解
java·solon·mcp·mcp-server·mcp-client
yi念zhi间4 天前
如何把ASP.NET Core WebApi打造成Mcp Server
后端·ai·mcp
杨浦老苏4 天前
MCPHub:一站式MCP服务器聚合平台
人工智能·docker·ai·群晖·mcp
伊织code5 天前
AWS MCP Servers
服务器·python·ai·云计算·aws·mcp
Generalzy5 天前
Model Context Protocol (MCP)笔记
笔记·ai·mcp
极小狐5 天前
如何创建并使用极狐GitLab 项目访问令牌?
数据库·ci/cd·gitlab·devops·mcp