Ssh MCP Server
Remote Linux and Windows system administration through shell command execution via SSH.
Data last scanned today · Reviewed today
Overview
SSH MCP Server enables LLM-based assistants to interact directly with remote infrastructure by executing shell commands over SSH. Built with TypeScript and the official MCP SDK, it allows users to perform system tasks on both Linux and Windows environments through a configured interface. The server includes specialized tools for command execution and sudo-level operations. It provides built-in safety mechanisms such as configurable timeout protections and graceful process termination to manage hanging connections effectively.
Our verdict
This server carries a high risk level with a security score of 34/100, primarily due to the lack of formal editorial review and its status as a community-maintained project rather than an official vendor release. Given that it has not been reviewed for authentication methods, read-only mode safety, or OAuth integration, it should be used with extreme caution in environments where remote execution privileges pose a significant threat. It is recommended for development environments only.
- Small attack surface with only 3 direct dependencies.
- Built-in timeout protection and graceful process termination.
- Supports both password and SSH key authentication methods.
- Licensed under the permissive MIT license.
- Community-maintained with no official vendor backing.
- Last code commit occurred over 200 days ago.
- Authentication and read-only safety remain unreviewed.
Setup
{
"mcpServers": {
"ssh-mcp": {
"args": [
"-y",
"ssh-mcp"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| exec | Execute a shell command on the remote server | high |
| sudo-exec | Execute a shell command with sudo elevation | high |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What authentication methods does the SSH MCP Server support?
The server supports authentication via either SSH password or a private SSH key.
›How can I prevent the server from accessing sudo commands?
You can completely disable the sudo-exec tool by passing the --disableSudo flag during startup.
›Is there a limit on how long a shell command can run?
Yes, command execution is restricted by a timeout that defaults to 60,000 milliseconds, though you can configure a custom timeout using the --timeout argument.
›What happens when a command exceeds the execution timeout?
The server will attempt to kill the hanging process before closing the connection to ensure graceful handling.
›Can I increase the maximum allowed character length for command inputs?
Yes, the default limit is 1,000 characters, but you can override this by setting the --maxChars flag to a custom value or to 'none' to remove the limit entirely.
›What is the difference between sudoPassword and suPassword?
SudoPassword is for standard sudo elevation, whereas suPassword establishes a persistent root shell for continuous root access.
Changelog
Badge
Maintain this server? Add the live badge to your README.