stdio MCP Server Support
DeployStack Satellite now supports Node.js-based MCP servers that use stdio transport. This expands the platform from supporting ~20% of available MCP servers to ~80% of the MCP ecosystem.

Before This Update
- ✅ HTTP/SSE MCP servers worked (like Context7)
- ❌ npm package-based MCP servers didn't work
- ❌ MCP servers requiring npx commands didn't work
After This Update
- ✅ HTTP/SSE MCP servers work (unchanged)
- ✅ Node.js MCP servers work (installed via npx i.e.: memory)
- ✅ MCP servers from npm registry work
- ❌ Python MCP servers still don't work (coming later)
What You Can Do Now
Install npm-Based MCP Servers
You can now install MCP servers from the npm registry directly through DeployStack:
Examples of servers that now work:
- @modelcontextprotocol/server-filesystem - File system access
- @modelcontextprotocol/server-sqlite - SQLite database queries
- @modelcontextprotocol/server-postgres - PostgreSQL database access
- Any MCP server published to npm with stdio transport
How It Works
- Install a Server: Add an npm-based MCP server from the catalog
- Automatic Setup: Satellite downloads and spawns the Node.js process
- Instant Access: Tools appear in your IDE within 30 seconds
- Team Isolation: Each team gets their own isolated process
What Happens Behind the Scenes
When you install an npm-based MCP server:
- Satellite receives the installation command from the backend
- Spawns a Node.js subprocess using npx (allows package downloads)
- Performs MCP handshake with 30-second timeout
- Discovers available tools from the running process
- Makes tools available through your IDE's MCP client
Technical Details
Auto-Restart with Limits
If an MCP server process crashes:
- Automatic restart up to 3 times within 5 minutes
- Exponential backoff: 1s → 5s → 15s between retries
- Permanent failure after 3 crashes (visible in dashboard)
- Immediate restart if process ran successfully for 60+ seconds
This prevents infinite restart loops from misconfigured servers while recovering from temporary failures.
Resource Limits (Production Only)
In production environments, stdio processes run with resource limits:
- Memory: 100MB per process
- CPU Time: 60 seconds total CPU time
- Processes: Maximum 50 child processes
- Isolation: Complete namespace isolation per team
Development environments run without limits for easier debugging.
Tool Discovery
Tools from stdio processes are:
- Automatically discovered after process starts
- Namespaced to prevent conflicts (e.g., filesystem-read_file)
- Cached for performance
- Team-isolated using OAuth tokens
Current Limitations
Python MCP Servers Not Supported
What doesn't work yet:
- MCP servers requiring Python/pip installation
- Servers using uvx or pip commands
- Python-based MCP packages
Why: This release focused on Node.js (which covers ~80% of MCP servers). Python support is planned for a future release.
Known Issues
- First installation takes longer: npx downloads packages on first run (30s timeout accounts for this)
- No version pinning yet: Servers always install latest version from npm
Acknowledgments
This release builds on the architecture from DeployStack Gateway (our deprecated local CLI), adapting process management for multi-tenant cloud deployment. The implementation maintains backward compatibility while adding significant new capabilities.