PluginBench
MCP Server
Active
Apache-2.0

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.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • SSH_MCP_CONFIG

    Optional explicit path to ssh-session-mcp.config.json when the config is not in the current working directory.

  • SSH_MCP_INSTANCE

    Optional runtime instance id used to isolate state across multiple MCP clients or agents.

  • VIEWER_PORT

    Viewer HTTP port. Use auto to allocate a free local port, or 0 to disable the browser viewer.

  • VIEWER_HOST

    Optional viewer bind host. Defaults to 127.0.0.1 for local-only browser access.

  • AUTO_OPEN_TERMINAL

    Set to true or 1 to automatically open the browser terminal when a session is created.

  • SSH_MCP_MODE

    Operation mode. safe blocks risky or unsuitable terminal actions by default, while full allows broader execution.

  • SSH_MCP_LOCAL

    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

    Set to true or 1 to expose browser-side debug controls intended for demos and local troubleshooting.

  • SSH_HOST

    Legacy single-target SSH host when not using ssh-session-mcp.config.json device profiles.

  • SSH_PORT

    Legacy single-target SSH port when not using ssh-session-mcp.config.json device profiles.

  • SSH_USER

    Legacy single-target SSH username when not using ssh-session-mcp.config.json device profiles.

  • SSH_PASSWORD
    secret

    Optional legacy password-based SSH authentication value.

  • SSH_KEY

    Optional path to a local SSH private key file for legacy single-target mode.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "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>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "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>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "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>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "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 Code
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-mcp

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →