Shared SSH PTY runtime for MCP clients with viewer, input lock, async tracking, and policy rules.
Connect Runs on your machine
claude mcp add ssh-session-mcp -e SSH_MCP_CONFIG=<SSH_MCP_CONFIG> -e SSH_MCP_INSTANCE=<SSH_MCP_INSTANCE> -e VIEWER_PORT=<VIEWER_PORT> -e VIEWER_HOST=<VIEWER_HOST> -e AUTO_OPEN_TERMINAL=<AUTO_OPEN_TERMINAL> -e SSH_MCP_MODE=<SSH_MCP_MODE> -e SSH_MCP_LOCAL=<SSH_MCP_LOCAL> -e SSH_MCP_DEBUG=<SSH_MCP_DEBUG> -e SSH_HOST=<SSH_HOST> -e SSH_PORT=<SSH_PORT> -e SSH_USER=<SSH_USER> -e SSH_PASSWORD=<SSH_PASSWORD> -e SSH_KEY=<SSH_KEY> -- npx -y [email protected]
{
"mcpServers": {
"ssh-session-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"SSH_MCP_CONFIG": "<SSH_MCP_CONFIG>",
"SSH_MCP_INSTANCE": "<SSH_MCP_INSTANCE>",
"VIEWER_PORT": "<VIEWER_PORT>",
"VIEWER_HOST": "<VIEWER_HOST>",
"AUTO_OPEN_TERMINAL": "<AUTO_OPEN_TERMINAL>",
"SSH_MCP_MODE": "<SSH_MCP_MODE>",
"SSH_MCP_LOCAL": "<SSH_MCP_LOCAL>",
"SSH_MCP_DEBUG": "<SSH_MCP_DEBUG>",
"SSH_HOST": "<SSH_HOST>",
"SSH_PORT": "<SSH_PORT>",
"SSH_USER": "<SSH_USER>",
"SSH_PASSWORD": "<SSH_PASSWORD>",
"SSH_KEY": "<SSH_KEY>"
}
}
}
}
{
"mcpServers": {
"ssh-session-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"SSH_MCP_CONFIG": "<SSH_MCP_CONFIG>",
"SSH_MCP_INSTANCE": "<SSH_MCP_INSTANCE>",
"VIEWER_PORT": "<VIEWER_PORT>",
"VIEWER_HOST": "<VIEWER_HOST>",
"AUTO_OPEN_TERMINAL": "<AUTO_OPEN_TERMINAL>",
"SSH_MCP_MODE": "<SSH_MCP_MODE>",
"SSH_MCP_LOCAL": "<SSH_MCP_LOCAL>",
"SSH_MCP_DEBUG": "<SSH_MCP_DEBUG>",
"SSH_HOST": "<SSH_HOST>",
"SSH_PORT": "<SSH_PORT>",
"SSH_USER": "<SSH_USER>",
"SSH_PASSWORD": "<SSH_PASSWORD>",
"SSH_KEY": "<SSH_KEY>"
}
}
}
}
{
"servers": {
"ssh-session-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"SSH_MCP_CONFIG": "<SSH_MCP_CONFIG>",
"SSH_MCP_INSTANCE": "<SSH_MCP_INSTANCE>",
"VIEWER_PORT": "<VIEWER_PORT>",
"VIEWER_HOST": "<VIEWER_HOST>",
"AUTO_OPEN_TERMINAL": "<AUTO_OPEN_TERMINAL>",
"SSH_MCP_MODE": "<SSH_MCP_MODE>",
"SSH_MCP_LOCAL": "<SSH_MCP_LOCAL>",
"SSH_MCP_DEBUG": "<SSH_MCP_DEBUG>",
"SSH_HOST": "<SSH_HOST>",
"SSH_PORT": "<SSH_PORT>",
"SSH_USER": "<SSH_USER>",
"SSH_PASSWORD": "<SSH_PASSWORD>",
"SSH_KEY": "<SSH_KEY>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
SSH_MCP_CONFIGOptional | Optional explicit path to ssh-session-mcp.config.json when the config is not in the current working directory. |
SSH_MCP_INSTANCEOptional | Optional runtime instance id used to isolate state across multiple MCP clients or agents. |
VIEWER_PORTOptional | Viewer HTTP port. Use auto to allocate a free local port, or 0 to disable the browser viewer. |
VIEWER_HOSTOptional | Optional viewer bind host. Defaults to 127.0.0.1 for local-only browser access. |
AUTO_OPEN_TERMINALOptional | Set to true or 1 to automatically open the browser terminal when a session is created. |
SSH_MCP_MODEOptional | Operation mode. safe blocks risky or unsuitable terminal actions by default, while full allows broader execution. |
SSH_MCP_LOCALOptional | Set to true or 1 to run a local shell instead of opening a real SSH connection. Useful for demos and offline testing. |
SSH_MCP_DEBUGOptional | Set to true or 1 to expose browser-side debug controls intended for demos and local troubleshooting. |
SSH_HOSTOptional | Legacy single-target SSH host when not using ssh-session-mcp.config.json device profiles. |
SSH_PORTOptional | Legacy single-target SSH port when not using ssh-session-mcp.config.json device profiles. |
SSH_USEROptional | Legacy single-target SSH username when not using ssh-session-mcp.config.json device profiles. |
SSH_PASSWORDOptional, secret | Optional legacy password-based SSH authentication value. |
SSH_KEYOptional | Optional path to a local SSH private key file for legacy single-target mode. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 15 May 2026 |
| Last updated | 15 May 2026 |
| Registry name | io.github.Zw-awa/ssh-session-mcp |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
