SSH
- javascript
0
GitHub Stars
javascript
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"mahathirmuh-mcp-ssh-server": {
"command": "node",
"args": [
"C:/path/to/mcp-ssh-server/dist/index.js"
]
}
}
}You can use the MCP SSH Server to manage remote servers over SSH with secure connections, file transfers, interactive shells, and Docker deployment. This server coordinates SSH-related actions through an MCP client, streamlining remote administration and automation.
How to use
To operate the MCP SSH Server, connect with your MCP client and select SSH-related tools. You can establish SSH connections, execute commands, start interactive shells, transfer files, manage credentials, and deploy Docker containers on remote hosts. Each action preserves a working directory per connection and reuses pooled SSH connections for efficiency.
How to install
Prerequisites you need before installing the server are ready: Node.js 18 or newer, TypeScript 5.3+, SSH access to the target servers, and an MCP client such as Claude Desktop.
Follow these concrete steps to install and run the MCP SSH Server locally:
# 1. Clone the repository
git clone <repository-url>
cd mcp-ssh-server
# 2. Install dependencies
npm install
# 3. Build the project
npm run build
Configuration for Claude Desktop (MCP client)
Configure Claude Desktop to load the MCP SSH Server as a local process. Create a config entry that starts the server using Node and the built index file.
{
"mcpServers": {
"ssh-server_win": {
"command": "node",
"args": ["C:/path/to/mcp-ssh-server/dist/index.js"],
"env": {}
}
}
}
Starting the server locally
After building, run Claude Desktop and ensure the configured path to dist/index.js exists. The server runs as a local process and exposes MCP endpoints to your client.
Available tools
ssh_connect
Establish an SSH connection to a remote host using the provided host, username, and authentication method.
ssh_disconnect
Close an active SSH connection and release related resources.
ssh_connect_with_credential
Connect using saved SSH credentials stored in the credential manager.
ssh_execute
Execute a command on the connected remote server and return the output.
ssh_start_interactive_shell
Open an interactive PTY-based shell session for real-time command interaction.
ssh_send_input
Send input to an active interactive shell session.
ssh_read_output
Read output from an active interactive shell session.
ssh_close_interactive_shell
Close the interactive shell session cleanly.
ssh_copy_file
Copy files between local and remote hosts, creating directories as needed.
ssh_list_files
List contents of a directory on the remote server.
ssh_file_info
Retrieve metadata for a specified file on the remote server.
ssh_save_credential
Save SSH credentials securely for reuse.
ssh_list_credentials
List saved SSH credentials.
ssh_delete_credential
Delete a saved SSH credential.
ssh_set_working_directory
Set the current working directory for the active connection.
ssh_get_working_directory
Get the current working directory for the active connection.
ssh_docker_deploy
Deploy Docker containers on the remote host.
ssh_docker_status
Check status of Docker containers on the remote host.