Skip to main content
Glama

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\n" } }

5. Disconnect

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

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kpanuragh/ssh-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server