MCP server/cloud

SSH MCP Server

Remote server management through SSH and SFTP with interactive shell support.

★ 3kpanuragh/ssh-mcp ↗by kpanuraghupdated
1

Add it to Claude Code

claude mcp add ssh-mcp-1c41 -- npx @kpanuragh/ssh-mcp
2

Make your agent remember this setup

ssh-mcp-1c41's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.

npx conare@latest

Free · one command · indexes the sessions already on disk. Set up in the browser instead →

What it does

  • Multiple concurrent SSH connections with session persistence
  • Remote command execution with stdout/stderr capture
  • Full SFTP support for uploading and downloading files
  • PTY-based interactive shell sessions
  • Support for both password and SSH key authentication

Tools 11

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

Try it

Connect to my production server at 192.168.1.10 and list the files in the /var/www/html directory.
Execute 'df -h' on the connected server to check disk usage.
Upload the local file 'config.json' to the remote path '/etc/app/config.json'.
Start an interactive shell session on the server and run a system update command.
Original README from kpanuragh/ssh-mcp

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

Tool Description
ssh_connect Establish SSH connection to a remote server
ssh_exec Execute a command on connected server
ssh_disconnect Close an SSH session
ssh_list_sessions List all active SSH sessions
sftp_upload Upload a file to remote server
sftp_download Download a file from remote server
sftp_list List files in remote directory
ssh_shell_start Start interactive shell session
ssh_shell_send Send input to interactive shell
ssh_shell_read Read output from interactive shell
ssh_shell_close Close 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
"
  }
}

5. Disconnect

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

License

MIT

Frequently Asked Questions

What are the key features of SSH MCP Server?

Multiple concurrent SSH connections with session persistence. Remote command execution with stdout/stderr capture. Full SFTP support for uploading and downloading files. PTY-based interactive shell sessions. Support for both password and SSH key authentication.

What can I use SSH MCP Server for?

Automating server maintenance tasks by executing scripts via Claude. Managing remote configuration files directly from the AI interface. Monitoring server logs and system status through interactive shell sessions. Transferring deployment artifacts to remote servers during development.

How do I install SSH MCP Server?

Install SSH MCP Server by running: npm install -g @kpanuragh/ssh-mcp

What MCP clients work with SSH MCP Server?

SSH MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep SSH MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest