Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SSH MCP Serverconnect to user@example.com and check the status of nginx"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcpOr run directly with npx:
npx @kpanuragh/ssh-mcpFeatures
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 |
| Establish SSH connection to a remote server |
| Execute a command on connected server |
| Close an SSH session |
| List all active SSH sessions |
| Upload a file to remote server |
| Download a file from remote server |
| List files in remote directory |
| Start interactive shell session |
| Send input to interactive shell |
| Read output from interactive shell |
| 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\n"
}
}5. Disconnect
{
"tool": "ssh_disconnect",
"arguments": {
"sessionId": "uuid-from-connect"
}
}License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.