返回市场
MCP标准输入输出到可流式传输HTTP适配器

MCP标准输入输出到可流式传输HTTP适配器

作者:pyroprompts21 星标更新:2025-08-18

项目介绍

mcp-stdio-to-streamable-http-adapter MCP 服务器

将任何支持 STDIO MCP 服务器的 MCP 客户端(大多数都支持)与可流式传输的 HTTP MCP 服务器集成起来。

如果你有一个可流式传输的 HTTP MCP 服务器,通过 fork 这个仓库,硬编码 URI 并发布,你就可以得到一个可以指向并添加到目录中供人们通过 STDIO 使用的仓库。

注意:这与 mcp-remote 包有相似之处。

为什么?

MCP 规范在 2025 年 3 月底增加了对可流式传输的 HTTP 传输的支持,截至 4 月底,还没有客户端采用此支持。TypeScript SDK 已合并代码,但尚未发布。Python SDK 仍在开发以支持它。Inspector 支持它,但仅此而已。

这使得开发者处于一个尴尬的位置。使用 STDIO 或 SSE(已弃用)开发 MCP 服务器,使其能够与客户端一起工作,或者使用可流式传输的 HTTP 传输进行开发,但没有人能使用它。

我(ferrants)希望开始将可流式传输的 HTTP MCP 服务器集成到不仅仅是 Inspector 中,所以我需要一种方法立即连接它们到客户端和 LLM!

这个包旨在通过充当一个将消息转发到你的可流式传输的 HTTP MCP 服务器的 STDIO MCP 服务器来填补这一空白。这使所有 MCP 客户端都能立即支持可流式传输的 HTTP。现在开发者可以开发可流式传输的 HTTP MCP 服务器,并提供安装方法。

MCP Stdio 到可流式传输的 HTTP 适配器架构图

安装

要将 OpenAI 添加到 Claude Desktop,请添加服务器配置:

在 MacOS 上:~/Library/Application Support/Claude/claude_desktop_config.json

在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json

环境变量

  • URI:可流式传输的 HTTP MCP 服务器的 URL。这是必需的。
  • MCP_NAME:MCP 服务器的名称。这是可选的。如果你配置了多个,则需要指定不同的名称,以免名称重复。
  • BEARER_TOKEN:可流式传输的 HTTP MCP 服务器的 Bearer 令牌。这是可选的。如果指定了,将会在 Authorization 头中发送。

配置

你可以通过 npx 在你的 Claude Desktop 配置中使用它,如下所示:

{
  "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 服务器并使用不同的环境参数来添加多个提供商:

{
  "mcpServers": {
    "my-saas-app-development": {
      "command": "node",
      "args": [
        "/path/to/mcp-stdio-to-streamable-http-adapter/build/index.js"
      ],
      "env": {
        "URI": "http://localhost:3 002/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 主页带聊天工具

然后你可以与其他 LLM 聊天,并且在聊天中显示如下:

Claude 聊天与 OpenAI

或者,在 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 中显示:

LibreChat 带 Perplexity 聊天

开发

安装依赖项:

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 赞助此项目。使用代码 MCPSTREAMABLEADAPTER 在 Pyroprompts 上获得 20 个免费自动化积分。