mcpField
M
mcp-stdio-to-streamable-http-adapter MCP Server

mcp-stdio-to-streamable-http-adapter MCP Server

本地服务
github.com/pyroprompts开发工具2662 周前更新

关于 mcp-stdio-to-streamable-http-adapter MCP Server

这是一个 STDIO 类型的 MCP 服务,用于把只支持 STDIO 的 MCP 客户端连接到 Streamable HTTP MCP 服务。适合希望在客户端中直接使用远程 Streamable HTTP 服务的开发者。它把请求转发到指定地址,使客户端无需原生支持该传输方式。

主要功能

  1. 01将 STDIO 请求转发到 Streamable HTTP 服务
  2. 02通过 URI 环境变量指定目标地址
  3. 03支持可选的 Bearer Token 认证
  4. 04可为多个服务分别配置名称以区分

适用场景

  1. 01在 Claude Desktop 中使用 Streamable HTTP MCP 服务
  2. 02在 LibreChat 等支持 STDIO 的客户端中接入远程服务
  3. 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 服务,并提供安装方式。

MCP Stdio 到 Streamable HTTP 适配器架构图

安装

要在 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 首页看到每个服务对应的一个工具:

显示聊天工具的 Claude Desktop 首页

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

与 OpenAI 聊天的 Claude

或者,按如下方式在 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 中显示:

使用 Perplexity 聊天的 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 次免费自动化额度。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。