docs/errors/MCPX_STDIO_EXIT_NONZERO.md
MCPX_STDIO_EXIT_NONZEROSeverity: error Domain: STDIO
mcpproxy spawned the stdio server, but the process exited with a non-zero exit
code before the MCP initialize handshake completed. Whatever crashed it usually
printed something useful to stderr.
args.uvx/pipx/npx).mcpproxy upstream logs <server-name> --tail 100
The exit was synchronous: the very last lines almost always contain the real error (a Python traceback, a Node error, "module not found", etc.).
Reproduce in a normal shell with the exact same command, args, and env
from your config:
ENV_KEY=value /full/path/to/cmd --flag1 --flag2
If it fails the same way, fix the underlying tool before retrying through mcpproxy.
Many MCP servers require API keys via environment:
mcpproxy upstream inspect <server-name> # shows resolved env (secrets redacted)
Add missing keys to the upstream env field or to a referenced secret.
python3 --version # the server may require >=3.10
node --version # some packages drop support for old Node majors
MCPX_STDIO_HANDSHAKE_TIMEOUT — process started but never repliedMCPX_CONFIG_MISSING_SECRET — secret references don't resolve