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.
You can run an MCP SSH Server to securely execute remote commands and manage files over SSH, while integrating with your MCP client workflow for streamlined remote administration and automation.
How to use
You connect to the MCP SSH Server from your MCP client using the standard connect flow, then issue commands to run shell instructions, transfer files, or list directories on remote hosts. You can perform remote command execution to automate tasks, upload and download files with progress feedback, and manage permissions and directories as needed. Use the provided endpoints to start a session, execute commands, transfer data, and inspect connection status.
How to install
# Prerequisites
node -v
npm -v
# 1. Install the MCP SSH package
npm install mcp-ssh
# 2. Add the server to your client configuration (example snippet)
# Put this in your claude_desktop_config.json under mcpServers
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["%APPDATA%/npm/node_modules/mcp-ssh/dist/server.js"],
"env": {
"SSH_PORT": "8889",
"SSH_LOG_LEVEL": "info"
}
}
}
}
# 3. Start the server (via your runtime environment, see below)
# If you use a local runtime, the server can be started through node with the provided path
Configuration and usage notes
The MCP SSH Server supports two main modes of operation: a local runtime (stdio) and a remote API (http). The default local runtime runs under Node and loads the server script from the package location. You expose a remote HTTP API on port 8889 by calling the server at the base URL http://localhost:8889. The server configuration shown here includes port and log level controls through environment variables.
Security and best practices
- Use strong authentication for SSH, prefer key-based authentication and disable password-based access for production environments.
- Keep the server port in a restricted network location or behind a firewall.
- Regularly monitor logs to detect unusual activity and enable verbose logging only for debugging.
- When transferring sensitive files, verify permissions and use secure paths for uploads and downloads.
Examples of common operations
- Connect to a remote host, execute a command, and return the output.
- Upload a file to a remote path and verify transfer progress.
- List contents of a remote directory and fetch its status.
Available tools
connect
Initiates a connection to a remote host through the MCP SSH Server, establishing a session for subsequent commands and file transfers.
exec
Executes a shell command on the connected remote host and returns its output, exit status, and errors.
upload
Uploads a local file to a specified remote path with progress tracking.
download
Downloads a file from a remote path to the local machine, with progress reporting.
ls
Lists the contents of a remote directory and returns file metadata.
status
Retrieves the current status of an existing MCP SSH connection.