loading…
Search for a command to run...
loading…
A development tool that serves as a bridge to launch and inspect other stdio MCP servers on demand, ensuring a clean process for every operation. It enables dev
A development tool that serves as a bridge to launch and inspect other stdio MCP servers on demand, ensuring a clean process for every operation. It enables developers to bypass host caching issues by providing tools to list and call target server components during active development.
CI CodeQL OpenSSF Scorecard Publish License: MIT GitHub stars
MCP Stdio Wrapper is a small MCP server that lets one MCP client launch and inspect another stdio MCP server on demand.
Its job is to remove a painful MCP development loop: some mainstream MCP hosts cache the real server process, so after every code change you end up refreshing the window or restarting the extension host just to smoke-test the change. This wrapper sits in front of the real target server and gives your agent a stable bridge for repeated smoke tests while the target implementation keeps changing underneath it.
Use this project when:
This project is intentionally narrow. It is for local development and smoke testing, not for production traffic proxying.
The wrapper also exposes built-in guidance that agents can discover directly:
wrapper://how-to-usetool_usage_guideThe wrapper exposes two modes.
Default one-shot tools:
stdio_mcp_list_toolsstdio_mcp_call_toolstdio_mcp_list_resourcesstdio_mcp_read_resourcestdio_mcp_list_promptsstdio_mcp_get_promptEach one-shot bridge call:
Optional session tools:
stdio_mcp_open_sessionstdio_mcp_get_sessionstdio_mcp_close_sessionstdio_mcp_session_list_toolsstdio_mcp_session_call_toolstdio_mcp_session_list_resourcesstdio_mcp_session_read_resourcestdio_mcp_session_list_promptsstdio_mcp_session_get_promptThat means:
Clone the repo and install dependencies:
nvm use
npm install
Start the wrapper:
npm start
The published package can also be run directly with:
npx mcp-stdio-wrapper
The package is published at https://www.npmjs.com/package/mcp-stdio-wrapper.
This repo is set up for npm trusted publishing from GitHub Actions. See Publishing checklist for the initial publish sequence and the OIDC trusted-publishing handoff.
Point your main MCP client at this wrapper, then use one of the bridge tools with launch input like:
{
"command": "node",
"args": ["C:\\path\\to\\your-mcp\\dist\\index.js"],
"cwd": "C:\\path\\to\\your-mcp",
"inheritParentEnv": true,
"env": {
"EXAMPLE_ENV": "value"
},
"startupTimeoutMs": 30000,
"operationTimeoutMs": 30000
}
Then ask your agent to:
Use one-shot mode for initial inspection and small stateless calls. If the target returns jobId-style handles, expects in-memory state between calls, or simply has expensive startup, open an explicit session first and then use the stdio_mcp_session_* tools before closing it.
Common launch fields:
command: target executableargs: target command argumentscwd: optional target working directoryinheritParentEnv: when true, merge the wrapper process environment into the target launchenv: additional target environment variablesstartupTimeoutMs: optional one-shot startup and MCP initialize timeoutoperationTimeoutMs: optional one-shot operation timeouttimeoutMs: legacy one-shot shortcut for both phases; session tools still use timeoutMsBridge operations:
stdio_mcp_list_tools: inspect target toolsstdio_mcp_call_tool: call one target toolstdio_mcp_list_resources: inspect target resourcesstdio_mcp_read_resource: read one target resourcestdio_mcp_list_prompts: inspect target promptsstdio_mcp_get_prompt: fetch one target prompt definitionSession operations:
stdio_mcp_open_session: launch one target process and keep it alive for multiple operationsstdio_mcp_get_session: inspect session diagnostics like status, timestamps, pid, exit code, and stderr tailstdio_mcp_close_session: close a live or terminal session and remove its recordstdio_mcp_session_list_tools: inspect tools through an existing sessionstdio_mcp_session_call_tool: call one target tool through an existing sessionstdio_mcp_session_list_resources: inspect resources through an existing sessionstdio_mcp_session_read_resource: read one target resource through an existing sessionstdio_mcp_session_list_prompts: inspect prompts through an existing sessionstdio_mcp_session_get_prompt: fetch one target prompt definition through an existing sessionWrapper guidance surfaces:
wrapper://how-to-use: plain-text usage guidetool_usage_guide: prompt form of the same instructionsSession mode is the better fit when:
jobIdДобавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-stdio-wrapper": {
"command": "npx",
"args": []
}
}
}