- Home
- MCP servers
- MCP Stdio to Streamable HTTP Adapter
MCP Stdio to Streamable HTTP Adapter
- javascript
22
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You can bridge any MCP client that supports STDIO with a Streamable HTTP MCP Server by using a small adapter that relays between the two transports. This lets you write and publish a local Streamable HTTP MCP Server configuration and make it usable by clients and LLMs immediately, without waiting for broader client adoption.
How to use
Use this adapter to connect a local STDIO MCP Server to a Streamable HTTP MCP Server. You can run it directly via npx for quick testing or build it and run a local instance from disk for longer workflows. Point clients at the HTTP endpoint you expose and provide the required access credentials if needed.
How to install
Prerequisites: Node.js and npm or npx must be installed on your system.
Install dependencies and build the server (if you plan to run from source):
npm install
npm run build
Configuration and usage examples
You can configure the adapter to run as a local STDIO MCP Server either via npx for quick testing or by running a built index.js from disk. The configuration exposes the Streamable HTTP MCP Server URL and an optional bearer token for authorization.
Example 1: Run via npx (quick start) with a local HTTP URI and a named MCP server
{
"mcpServers": {
"my-saas-app-development": {
"command": "npx",
"args": [
"-y",
"@pyroprompts/mcp-stdio-to-streamable-http-adapter"
],
"env": {
"URI": "http://localhost:3002/mcp",
"MCP_NAME": "local-custom-streamable-http-adapter"
}
}
}
}
Example 2: Run from built source with a local HTTP URI and a named MCP server
{
"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"
}
}
}
}
Multiple providers
You can add multiple providers pointing to different HTTP endpoints by reusing the same adapter with different environment settings.
{
"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"
}
}
}
}
Notes on connectivity and tokens
Provide the URI of the Streamable HTTP MCP Server you want to connect to. If your server requires authorization, supply a BEARER_TOKEN which will be sent in the Authorization header.
Development
Install dependencies and build the project to enable local development and debugging.
npm install
npm run build
npm run watch
Debugging
Debugging MCP servers over STDIO can be challenging. Use the MCP Inspector to access debugging tools from your browser.
npm run inspector
Acknowledgements
Acknowledgements reference the MCP Specification and related tooling that enables Streamable HTTP transport within MCP-enabled workflows.
Security and best practices
Keep your BEARER_TOKEN secure. Do not expose credentials in client configurations or publicly accessible files. Use environment isolation for each MCP server configuration.
Available tools
inspector
Debugging tools that provide a browser-based UI for inspecting MCP communications and flow.
build
Compile and bundle the adapter so you can run a local index.js from disk.
watch
Auto-rebuild and reload during development for faster iteration.