MCP Hub
Back to servers

SSH MCP Server

An MCP server providing remote server management through SSH and SFTP, supporting command execution, file transfers, and interactive PTY-based shell sessions.

Tools
11
Updated
Dec 9, 2025

SSH MCP Server

An MCP (Model Context Protocol) server that provides SSH access with Warp-like terminal experience. Connect to remote servers, execute commands, transfer files, and manage interactive shell sessions.

Installation

npm install -g @kpanuragh/ssh-mcp

Or run directly with npx:

npx @kpanuragh/ssh-mcp

Features

  • SSH Connection Management - Multiple concurrent connections with session persistence
  • Command Execution - Run commands with stdout/stderr capture and exit codes
  • SFTP Operations - Upload, download, and list files on remote servers
  • Interactive Shell - PTY-based shell sessions for interactive commands
  • Authentication - Support for both password and SSH key authentication

MCP Tools

ToolDescription
ssh_connectEstablish SSH connection to a remote server
ssh_execExecute a command on connected server
ssh_disconnectClose an SSH session
ssh_list_sessionsList all active SSH sessions
sftp_uploadUpload a file to remote server
sftp_downloadDownload a file from remote server
sftp_listList files in remote directory
ssh_shell_startStart interactive shell session
ssh_shell_sendSend input to interactive shell
ssh_shell_readRead output from interactive shell
ssh_shell_closeClose interactive shell session

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "ssh": {
      "command": "npx",
      "args": ["@kpanuragh/ssh-mcp"]
    }
  }
}

Example Workflow

1. Connect to a server

{
  "tool": "ssh_connect",
  "arguments": {
    "host": "example.com",
    "username": "user",
    "password": "password"
  }
}

Or with SSH key:

{
  "tool": "ssh_connect",
  "arguments": {
    "host": "example.com",
    "username": "user",
    "privateKeyPath": "/home/user/.ssh/id_rsa"
  }
}

2. Execute commands

{
  "tool": "ssh_exec",
  "arguments": {
    "sessionId": "uuid-from-connect",
    "command": "ls -la"
  }
}

3. Transfer files

{
  "tool": "sftp_upload",
  "arguments": {
    "sessionId": "uuid-from-connect",
    "localPath": "/local/file.txt",
    "remotePath": "/remote/file.txt"
  }
}

4. Interactive shell

{
  "tool": "ssh_shell_start",
  "arguments": {
    "sessionId": "uuid-from-connect"
  }
}
{
  "tool": "ssh_shell_send",
  "arguments": {
    "sessionId": "uuid-from-connect",
    "shellId": "shell-uuid",
    "input": "cd /var/log\n"
  }
}

5. Disconnect

{
  "tool": "ssh_disconnect",
  "arguments": {
    "sessionId": "uuid-from-connect"
  }
}

License

MIT

Reviews

No reviews yet

Sign in to write a review