Safe SSH MCP server
io.github.Areso/safe-ssh-mcp·v0.1.15·8 starsA secured scoped SSH MCP server for executing safe read-only diagnostic DevOps / SysOps commands
8 stars
Reviews
Write oneNobody has reviewed Safe SSH yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Safe SSH tools (24)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
get_crontab_tasksCollects crontab -l (crontab list) output from a remote Linux host via SSH
get_current_datetimeCollects current datetime from a remote Linux host via SSH
get_disk_freeCollects disk usage (df -h) from a remote Linux host via SSH.
get_disk_usageCollects disk usage for a specific abs path from a remote Linux host via SSH. Returns the top 20 largest files/folders in the specified directory.
get_distroname_versionCollects distr details from os-release from a remote Linux host via SSH
get_dmesgCollects dmesg log from a remote Linux host via SSH
get_docker_ps_allCollects docker ps --all output from a remote Linux host via SSH
get_free_memoryReturns free memory, swap (total/free), page cache, HugePages and so on
get_inode_usageCollects inode usage (df -i) from a remote Linux host via SSH.
get_is_installedChecks whether a binary/command is installed and callable on a remote Linux host via SSH.
get_list_of_filesCollects list of files for a specific abs path from a remote Linux host via SSH. Returns with -lah option
get_list_of_files_with_filterCollects list of files for a specific abs path with filter (grep) applied from a remote Linux host via SSH. -lah option is applied.
get_listening_socketsCollects ss -tulpn output (open ports and sockets) from a remote Linux host via SSH
get_lsblkCollects lsblk output from a remote Linux host via SSH
get_memory_pressureReturns memory pressure if supported
get_ps_aux_top_cpu_consumersLists top 10 cpu consumers, CPU desc
get_ps_aux_top_mem_consumersLists top 10 mem consumers, MEM desc
get_service_logs_from_journalctlGets recent journald logs for a specific systemd service.
get_systemd_list_allLists all systemd units. USE THIS TOOL to check for running, stopped, or FAILED daemon/service/unit.
get_systemd_list_failedLists failed systemd units. USE THIS TOOL to check for FAILED daemons/services/units.
get_systemd_list_timersLists all systemd timers. USE THIS TOOL to check for timers.
get_systemd_statusGets the detailed status, logs, and error messages for a SPECIFIC systemd daemon/service/unit.
get_topCollects top's snapshot from a remote Linux host via SSH
get_uptimeCollects uptime from a remote Linux host via SSH
Public scan report
scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it
- Code scan2 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 75 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Safe SSH compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,255 servers
- Tools
- 24
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 8
- more than 86% of 28,688 servers
What its tools let an agent do: 24 read
Install Safe SSH in Claude Code, Cursor or VS Code
claude mcp add safe-ssh-mcp -- uvx safe-ssh-mcp
What the publisher says
From the Safe SSH repository's README, as published. We do not edit it. Read it on GitHub
Safe SSH MCP Server
A secure and scoped SSH MCP server for executing read-only diagnostic commands over SSH. In this project, "safe" refers specifically to host safety: the server is designed to prevent modifications to the remote system and reduce the risk of operational harm. It does NOT attempt to guarantee that command output cannot be misused by external agents.
Badges
- security check
Overview
The core philosophy behind this MCP server is safety first. Instead of providing an AI agent with an unrestricted bash shell, this server exposes only carefully curated, read-only commands for system diagnostics and monitoring.
Available Tools (Partial List)
- getdiskfree : df -h
- getdiskusage : find -mindepth 1 -maxdepth 1 -exec du -sh -- {} + 2>/dev/null | sort -rh | head -n 20
- get_dmesg : dmesg
- get_uptime : uptime
- getcurrentdatetime : date
- getdistronameversion : cat /etc/os-release
- getsystemdlist_all : systemctl list-units --all --no-pager
- getsystemdlist_failed : systemctl list-units --state=failed --no-pager
- getsystemdlist_timers : systemctl list-timers --no-pager
- getcrontabtasks: crontab -l
- getsystemdstatus : systemctl status {daemon}
- get_top : top -b -n 1 -c
Click to open full list of available tools
Example of invocation
okay, could u check disk usage on /root/ path with help of safe-ssh-mcp server on a remote myserver.mydomain.pro using root and /Users/myUser/.ssh/id_rsa to login?
Means of connection
The server supports SSH account-password authentication and private-key authentication. Configure the private-key passphrase source in mcp_config.ini:
# ENV_VAR (SSH_KEY_PASSPHRASE) or KEYCHAIN (ssh-agent)
ssh_key_passphrase_method=ENV_VARfor a private-key passphrase.
- SSH account password: provide password to the MCP tool. Do not use this
supports unprotected keys; SSHKEYPASSPHRASE is not required.
- Unprotected SSH key: use keypath. The default ENVVAR setting also
sshkeypassphrasemethod=ENVVAR, set SSHKEYPASSPHRASE in the environment that starts the MCP server, and provide key_path.
- Passphrase-protected SSH key from an environment variable: leave
export SSH_KEY_PASSPHRASE='your-key-passphrase'
safe-ssh-mcpsshkeypassphrasemethod=KEYCHAIN, then unlock the key in the same user session that starts the MCP server. The server receives SSH signatures from ssh-agent; it does not read the key passphrase or the keypath.
- macOS Keychain / SSH agent: set
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
# Optional: make the loaded identity expire after one hour.
ssh-add -t 1h ~/.ssh/id_ed25519
# Remove one identity, or clear every loaded identity.
ssh-add -d ~/.ssh/id_ed25519
ssh-add -Drun ssh-add from any Terminal window; it updates the SSH agent for your macOS login session, so Cursor does not need to be started from that Terminal.
- Cursor launched from the macOS Dock: use KEYCHAIN (recommended). You can
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
ssh-add -lAfter changing mcpconfig.ini, restart the MCP server in Cursor (or fully quit and reopen Cursor). When invoking a tool in KEYCHAIN mode, omit keypath; the agent selects from its loaded identities.
If you must use ENV_VAR, set it in the macOS launchd session before opening Cursor from the Dock, then fully quit and reopen Cursor:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Safe SSH: common questions
- Is Safe SSH MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Safe SSH safety report
- How do I install Safe SSH?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Safe SSH need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Safe SSH maintained?
- The last commit was 77 days ago (2026-08-19). The latest release is v0.1.15.
- What can I use instead of Safe SSH?
- Servers from other publishers that do the same job: SSH Manager MCP server.
- How does Safe SSH compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,255 servers); tools 24 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Safe SSH
Same job from other publishers: the closest match first, then the best rated.
- SSH ManagerSSH for AI agents: commands, files, backups and health, with approval, a vault and an audit trailnot reviewedEstablishedA