关于 mcp-stdio-to-streamable-http-adapter MCP Server
这是一个 STDIO 类型的 MCP 服务,用于把只支持 STDIO 的 MCP 客户端连接到 Streamable HTTP MCP 服务。适合希望在客户端中直接使用远程 Streamable HTTP 服务的开发者。它把请求转发到指定地址,使客户端无需原生支持该传输方式。
主要功能
- 01将 STDIO 请求转发到 Streamable HTTP 服务
- 02通过 URI 环境变量指定目标地址
- 03支持可选的 Bearer Token 认证
- 04可为多个服务分别配置名称以区分
适用场景
- 01在 Claude Desktop 中使用 Streamable HTTP MCP 服务
- 02在 LibreChat 等支持 STDIO 的客户端中接入远程服务
- 03为 Streamable HTTP 服务提供可分发的 STDIO 安装方式
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-stdio-to-streamable-http-adapter MCP 服务
将任何支持 STDIO MCP 服务的 MCP 客户端(大多数都支持)与 Streamable HTTP MCP 服务集成
如果你有一个 Streamable HTTP MCP 服务,可以基于此项目创建分支、写死 URI 并发布,这样就能得到一个可供他人使用的仓库,你可以将它添加到目录中,并让用户通过 STDIO 使用。
注意:这与 mcp-remote package 有相似之处。
为什么?
添加 Streamable HTTP 传输方式的 MCP 规范于 2025 年 3 月底正式发布,截至 4 月底,还没有客户端支持该方式。typescript-sdk 已合并相关代码,但尚未发布。Python SDK 仍在开发支持中。Inspector 支持该方式,但除此之外别无其他。
这让开发者陷入了两难:要么使用 STDIO 或 SSE(已弃用)开发 MCP 服务,以便客户端能够使用;要么使用 Streamable HTTP 传输方式开发,但没人能用。
我(ferrants)想让 Streamable HTTP MCP 服务不再只能通过 inspector 使用,因此需要一种立即将它们连接到客户端和大模型的方法!
此软件包旨在通过充当 STDIO MCP 服务并将请求转发到你的 Streamable HTTP MCP 服务,来弥合这一差距。这样一来,所有 MCP 客户端都能立即支持 Streamable HTTP。开发者现在也可以开发 Streamable HTTP MCP 服务,并提供安装方式。

安装
要在 Claude Desktop 中添加 OpenAI,请添加服务配置:
MacOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json
环境变量
URI:Streamable HTTP MCP 服务的 URL。必填。MCP_NAME:MCP 服务的名称。可选。如果配置多个服务,则必填,以确保名称不重复。BEARER_TOKEN:Streamable HTTP MCP 服务的 Bearer 令牌。可选。如果指定,该令牌会随请求一并发送到 Authorization 标头中。
配置
你可以在 Claude Desktop 配置中通过 npx 使用,示例如下:
{
"mcpServers": {
"my-saas-app-development": {
"command": "npx",
"args": [
"@pyroprompts/mcp-stdio-to-streamable-http-adapter"
],
"env": {
"URI": "http://localhost:3002/mcp",
"MCP_NAME": "local-custom-streamable-http-adapter"
}
}
}
}
或者,克隆仓库后,你可以构建并在 Claude Desktop 配置中使用,示例如下:
{
"mcpServers": {
"my-saas-app-development": {
"command": "node",
"args": [
"/path/to/mcp-stdio-to-streamable-http-adapter/build/index.js"
],
"env": {
"URI": "http://localhost:3002/mcp",
"MCP_NAME": "local-custom-streamable-http-adapter"
}
}
}
}
你可以多次引用同一个 MCP 服务,并使用不同的 env 参数来添加多个提供方:
{
"mcpServers": {
"my-saas-app-development": {
"command": "node",
"args": [
"/path/to/mcp-stdio-to-streamable-http-adapter/build/index.js"
],
"env": {
"URI": "http://localhost:3002/mcp",
"MCP_NAME": "local-custom-streamable-http-adapter"
}
},
"pyroprompts": {
"command": "node",
"args": [
"/path/to/mcp-stdio-to-streamable-http-adapter/build/index.js"
],
"env": {
"URI": "https://api.pyroprompts.com/mcp",
"MCP_NAME": "pyroprompts",
"BEARER_TOKEN": "abcdefg"
}
}
}
}
配置好这三个后,你会在 Claude Desktop 首页看到每个服务对应的一个工具:

然后,你就可以与其他大模型聊天,并在聊天界面中看到如下内容:

或者,按如下方式在 LibreChat 中配置:
my-saas-app-development:
type: stdio
command: npx
args:
- -y
- @pyroprompts/mcp-stdio-to-streamable-http-adapter
env:
URI: "http://localhost:3002/mcp",
MCP_NAME: "my-custom-saas-app"
PATH: '/usr/local/bin:/usr/bin:/bin'
配置后会在 LibreChat 中显示:

开发
安装依赖:
npm install
构建服务:
npm run build
启用自动重新构建进行开发:
npm run watch
调试
由于 MCP 服务通过 stdio 通信,调试可能颇具挑战。我们建议使用 MCP Inspector,它可通过软件包脚本运行:
npm run inspector
Inspector 会提供一个 URL,让你在浏览器中访问调试工具。
致谢
- 显然要感谢 modelcontextprotocol 和 Anthropic 团队制定 MCP 规范,并将其集成到 Claude Desktop 中。https://modelcontextprotocol.io/introduction
- 感谢 PyroPrompts 赞助本项目。在 Pyroprompts 使用代码
MCPSTREAMABLEADAPTER,即可获得 20 次免费自动化额度。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。