What is Integrate any MCP Client with Streamable HTTP MCP Servers.?
The mcp-stdio-to-streamable-http-adapter allows integration of any MCP Client that supports STDIO with Streamable HTTP MCP Servers. This package bridges the gap by being a STDIO MCP Server that relays to your Streamable HTTP MCP Server, enabling immediate support for Streamable HTTP across all MCP Clients.
Documentation
mcp-stdio-to-streamable-http-adapter MCP Server
Integrate any MCP Client that has STDIO MCP Server Support (most do) with the Streamable HTTP MCP Servers
The MCP Spec to add a Streamable HTTP Transport landed end of March 2025 and as of the end of April, no clients have adopted support. The typescript-sdk has merged the code, but not released. The Python SDK is still in development to support it. The Inspector supports it, but that's it.
This leaves developers in an awkward position. Develop the MCP Server using STDIO or SSE (deprecated) so it works with clients or develop with Streamable HTTP transport, but nobody can use it.
I (ferrants) want to start integrating the Streamable HTTP MCP Servers beyond just the inspector, so I need a way to connect them to clients and LLMs right away!
This package aims to bridge the cap by being a STDIO MCP Server that relays to your Streamable HTTP MCP Server. This makes all MCP Clients support Streamable HTTP right away. And now developers can develop the Streamable HTTP MCP Servers and provide an installation method.
Installation
To add OpenAI to Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Env Vars
URI: The URL of the Streamable HTTP MCP Server. This is required.
MCP_NAME: The name of the MCP Server. This is optional. If you configure multiple, this is required so they do not have the same names.
BEARER_TOKEN: The Bearer token for the Streamable HTTP MCP Server. This is optional. If specified, this will be sent along in the Authorization header.
Configuration
You can use it via npx in your Claude Desktop configuration like this: