SSH Session MCP MCP Server
io.github.Zw-awa/ssh-session-mcp
What is the SSH Session MCP MCP server?
Shared SSH PTY runtime for MCP clients with viewer, input lock, async tracking, and policy rules.
How to install SSH Session MCP
Copy-paste configuration for popular MCP clients.
SSH_MCP_CONFIGOptional explicit path to ssh-session-mcp.config.json when the config is not in the current working directory.
SSH_MCP_INSTANCEOptional runtime instance id used to isolate state across multiple MCP clients or agents.
VIEWER_PORTViewer HTTP port. Use auto to allocate a free local port, or 0 to disable the browser viewer.
VIEWER_HOSTOptional viewer bind host. Defaults to 127.0.0.1 for local-only browser access.
AUTO_OPEN_TERMINALSet to true or 1 to automatically open the browser terminal when a session is created.
SSH_MCP_MODEOperation mode. safe blocks risky or unsuitable terminal actions by default, while full allows broader execution.
SSH_MCP_LOCALSet to true or 1 to run a local shell instead of opening a real SSH connection. Useful for demos and offline testing.
SSH_MCP_DEBUGSet to true or 1 to expose browser-side debug controls intended for demos and local troubleshooting.
SSH_HOSTLegacy single-target SSH host when not using ssh-session-mcp.config.json device profiles.
SSH_PORTLegacy single-target SSH port when not using ssh-session-mcp.config.json device profiles.
SSH_USERLegacy single-target SSH username when not using ssh-session-mcp.config.json device profiles.
SSH_PASSWORDsecretOptional legacy password-based SSH authentication value.
SSH_KEYOptional path to a local SSH private key file for legacy single-target mode.
{
"mcpServers": {
"ssh-session-mcp": {
"command": "npx",
"args": [
"-y",
"ssh-session-mcp"
],
"env": {
"SSH_MCP_CONFIG": "<YOUR_SSH_MCP_CONFIG>",
"SSH_MCP_INSTANCE": "<YOUR_SSH_MCP_INSTANCE>",
"VIEWER_PORT": "<YOUR_VIEWER_PORT>",
"VIEWER_HOST": "<YOUR_VIEWER_HOST>",
"AUTO_OPEN_TERMINAL": "<YOUR_AUTO_OPEN_TERMINAL>",
"SSH_MCP_MODE": "<YOUR_SSH_MCP_MODE>",
"SSH_MCP_LOCAL": "<YOUR_SSH_MCP_LOCAL>",
"SSH_MCP_DEBUG": "<YOUR_SSH_MCP_DEBUG>",
"SSH_HOST": "<YOUR_SSH_HOST>",
"SSH_PORT": "<YOUR_SSH_PORT>",
"SSH_USER": "<YOUR_SSH_USER>",
"SSH_PASSWORD": "<YOUR_SSH_PASSWORD>",
"SSH_KEY": "<YOUR_SSH_KEY>"
}
}
}
}{
"mcpServers": {
"ssh-session-mcp": {
"command": "npx",
"args": [
"-y",
"ssh-session-mcp"
],
"env": {
"SSH_MCP_CONFIG": "<YOUR_SSH_MCP_CONFIG>",
"SSH_MCP_INSTANCE": "<YOUR_SSH_MCP_INSTANCE>",
"VIEWER_PORT": "<YOUR_VIEWER_PORT>",
"VIEWER_HOST": "<YOUR_VIEWER_HOST>",
"AUTO_OPEN_TERMINAL": "<YOUR_AUTO_OPEN_TERMINAL>",
"SSH_MCP_MODE": "<YOUR_SSH_MCP_MODE>",
"SSH_MCP_LOCAL": "<YOUR_SSH_MCP_LOCAL>",
"SSH_MCP_DEBUG": "<YOUR_SSH_MCP_DEBUG>",
"SSH_HOST": "<YOUR_SSH_HOST>",
"SSH_PORT": "<YOUR_SSH_PORT>",
"SSH_USER": "<YOUR_SSH_USER>",
"SSH_PASSWORD": "<YOUR_SSH_PASSWORD>",
"SSH_KEY": "<YOUR_SSH_KEY>"
}
}
}
}{
"mcpServers": {
"ssh-session-mcp": {
"command": "npx",
"args": [
"-y",
"ssh-session-mcp"
],
"env": {
"SSH_MCP_CONFIG": "<YOUR_SSH_MCP_CONFIG>",
"SSH_MCP_INSTANCE": "<YOUR_SSH_MCP_INSTANCE>",
"VIEWER_PORT": "<YOUR_VIEWER_PORT>",
"VIEWER_HOST": "<YOUR_VIEWER_HOST>",
"AUTO_OPEN_TERMINAL": "<YOUR_AUTO_OPEN_TERMINAL>",
"SSH_MCP_MODE": "<YOUR_SSH_MCP_MODE>",
"SSH_MCP_LOCAL": "<YOUR_SSH_MCP_LOCAL>",
"SSH_MCP_DEBUG": "<YOUR_SSH_MCP_DEBUG>",
"SSH_HOST": "<YOUR_SSH_HOST>",
"SSH_PORT": "<YOUR_SSH_PORT>",
"SSH_USER": "<YOUR_SSH_USER>",
"SSH_PASSWORD": "<YOUR_SSH_PASSWORD>",
"SSH_KEY": "<YOUR_SSH_KEY>"
}
}
}
}{
"servers": {
"ssh-session-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ssh-session-mcp"
],
"env": {
"SSH_MCP_CONFIG": "<YOUR_SSH_MCP_CONFIG>",
"SSH_MCP_INSTANCE": "<YOUR_SSH_MCP_INSTANCE>",
"VIEWER_PORT": "<YOUR_VIEWER_PORT>",
"VIEWER_HOST": "<YOUR_VIEWER_HOST>",
"AUTO_OPEN_TERMINAL": "<YOUR_AUTO_OPEN_TERMINAL>",
"SSH_MCP_MODE": "<YOUR_SSH_MCP_MODE>",
"SSH_MCP_LOCAL": "<YOUR_SSH_MCP_LOCAL>",
"SSH_MCP_DEBUG": "<YOUR_SSH_MCP_DEBUG>",
"SSH_HOST": "<YOUR_SSH_HOST>",
"SSH_PORT": "<YOUR_SSH_PORT>",
"SSH_USER": "<YOUR_SSH_USER>",
"SSH_PASSWORD": "<YOUR_SSH_PASSWORD>",
"SSH_KEY": "<YOUR_SSH_KEY>"
}
}
}
}claude mcp add ssh-session-mcp --env SSH_MCP_CONFIG=<YOUR_SSH_MCP_CONFIG> --env SSH_MCP_INSTANCE=<YOUR_SSH_MCP_INSTANCE> --env VIEWER_PORT=<YOUR_VIEWER_PORT> --env VIEWER_HOST=<YOUR_VIEWER_HOST> --env AUTO_OPEN_TERMINAL=<YOUR_AUTO_OPEN_TERMINAL> --env SSH_MCP_MODE=<YOUR_SSH_MCP_MODE> --env SSH_MCP_LOCAL=<YOUR_SSH_MCP_LOCAL> --env SSH_MCP_DEBUG=<YOUR_SSH_MCP_DEBUG> --env SSH_HOST=<YOUR_SSH_HOST> --env SSH_PORT=<YOUR_SSH_PORT> --env SSH_USER=<YOUR_SSH_USER> --env SSH_PASSWORD=<YOUR_SSH_PASSWORD> --env SSH_KEY=<YOUR_SSH_KEY> -- npx -y ssh-session-mcpRelated MCP servers
Scrapling MCP Server
Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.
Chrome DevTools MCP
Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.
com.puter/mcp-server
Let AI agents manage your Puter files, websites, and serverless workers over MCP.
Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.
Run arbitrary shell commands from an MCP-connected AI agent.
Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.