NestDaddy

SSH Session MCP

io.github.Zw-awa/ssh-session-mcp · v2.7.1

Shared SSH PTY runtime for MCP clients with viewer, input lock, async tracking, and policy rules.

Connect Runs on your machine

Terminal
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]
claude_desktop_config.json
{
  "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>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "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>"
      }
    }
  }
}
.vscode/mcp.json
{
  "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

NameDescription
SSH_MCP_CONFIG
Optional
Optional explicit path to ssh-session-mcp.config.json when the config is not in the current working directory.
SSH_MCP_INSTANCE
Optional
Optional runtime instance id used to isolate state across multiple MCP clients or agents.
VIEWER_PORT
Optional
Viewer HTTP port. Use auto to allocate a free local port, or 0 to disable the browser viewer.
VIEWER_HOST
Optional
Optional viewer bind host. Defaults to 127.0.0.1 for local-only browser access.
AUTO_OPEN_TERMINAL
Optional
Set to true or 1 to automatically open the browser terminal when a session is created.
SSH_MCP_MODE
Optional
Operation mode. safe blocks risky or unsuitable terminal actions by default, while full allows broader execution.
SSH_MCP_LOCAL
Optional
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_DEBUG
Optional
Set to true or 1 to expose browser-side debug controls intended for demos and local troubleshooting.
SSH_HOST
Optional
Legacy single-target SSH host when not using ssh-session-mcp.config.json device profiles.
SSH_PORT
Optional
Legacy single-target SSH port when not using ssh-session-mcp.config.json device profiles.
SSH_USER
Optional
Legacy single-target SSH username when not using ssh-session-mcp.config.json device profiles.
SSH_PASSWORD
Optional, secret
Optional legacy password-based SSH authentication value.
SSH_KEY
Optional
Optional path to a local SSH private key file for legacy single-target mode.

Details

Package[email protected] (NPM, stdio)
First published15 May 2026
Last updated15 May 2026
Registry nameio.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.