linux-ssh-mcp-server
Provides tools for managing Docker containers and services on remote Linux hosts via SSH.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@linux-ssh-mcp-serverlist running Docker containers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
linux-ssh-mcp-server
A Linux MCP server for remote administration over SSH. Diagnose, inspect, and manage any Linux host from Cursor, Claude Code, Codex, or any MCP (Model Context Protocol) client. Connects using per-user AD credentials elicited at runtime. Passwords live only in server memory with an idle TTL and are never logged.
45+ tools: filesystem, systemd services, Docker, JBoss/WildFly discovery and log search, network, certificates, firewall, and more
Per-user AD identity: each request carries an
X-AD-Userheader; the password is either supplied via the optionalX-AD-Passwordheader (no prompt) or elicited once and cached in-memoryOptional sudo elevation: privileged commands require an explicit
elevate_sudocall; the sudo password is prompted, or reusesX-AD-Passwordwhen suppliedZero secrets on disk: no credentials in config files, env vars, or logs
Example prompts
"Why is the disk almost full on
host1? What's eating the space?""The
myappservice keeps crashing, check the journal logs and tell me why.""Grep the JBoss server log for OutOfMemory errors from today."
"Which process is listening on port 8443?"
"Is the TLS certificate on
host1:443close to expiry?""Tail the logs of the
nginxDocker container.""Restart the
httpdservice and confirm it came back up."
Related MCP server: SSH MCP Server
Tools
Session
Tool | Description |
| Open an SSH session to a Linux host and return a |
| Close an active SSH session |
| List active SSH sessions with usage details |
| Enable sudo for the session (password prompted once, cached in memory) |
Filesystem (read-only)
Tool | Description |
| List files with permissions, owner, size, and mtime |
| Recursively find files by name pattern |
| Read file contents as numbered lines via SFTP streaming |
| Grep for text in a file or recursively across a directory |
| JSON metadata for a file or directory |
| Unified-style diff of two files |
System diagnostics (read-only)
Tool | Description |
| OS, kernel, uptime, RAM, CPU count, timezone |
| Disk space for all mounted filesystems |
| Disk usage by directory, largest first |
| Processes sorted by CPU or memory |
| CPU load, memory, swap, disk I/O, top processes |
| systemd services summary or full status detail |
| systemd journal: service failures, crashes, system events |
| Kernel ring buffer: OOM kills, I/O errors, hardware faults |
| File-descriptor usage ("too many open files" diagnosis) |
| Active TCP connections with owning process |
| Interfaces, routing table, DNS servers |
| ICMP ping or TCP port test from the remote host |
| DNS resolution from the remote server's perspective |
| Environment variables, optionally filtered |
| User crontab and system cron directories |
| User accounts with recent logins |
| Permissions, ownership, and POSIX ACLs |
| TLS certificate details and days until expiry (file or endpoint) |
| firewalld or iptables rules |
Docker & JBoss (read-only)
Tool | Description |
| Containers, logs, inspect, stats, and images |
| Discover running JBoss EAP/WildFly JVMs and their paths |
| Search JBoss/WildFly logs for errors with filename context |
Write operations (all require user confirmation)
Tool | Description |
| Manage systemd services with before/after state |
| Force-kill a process by PID |
| File operations (no overwrite unless requested) |
|
|
| Delete with metadata/size shown in the prompt |
| Create or extract |
| HTTP request from the remote server via curl |
Quick Start
docker compose -f docker-compose.yml -p linux-ssh-mcp up -d --build --force-recreateClient setup
X-AD-User is required. X-AD-Password is optional: omit it and the server prompts for the password once via MCP elicitation, caching it in memory.
Cursor (mcp.json)
{
"mcpServers": {
"linux-ssh-mcp": {
"type": "http",
"url": "http://localhost:8006/mcp",
"headers": {
"X-AD-User": "<your-ad-username>",
"X-AD-Password": "<your-ad-password>"
}
}
}
}Claude Code
claude mcp add --transport http linux-ssh-mcp http://localhost:8006/mcp \
--header "X-AD-User: <your-ad-username>" \
--header "X-AD-Password: <your-ad-password>"Codex (~/.codex/config.toml)
[mcp_servers.linux-ssh-mcp]
url = "http://localhost:8006/mcp"
http_headers = { "X-AD-User" = "<your-ad-username>", "X-AD-Password" = "<your-ad-password>" }Any other MCP client works the same way: point it at the streamable HTTP endpoint and pass the headers.
This server cannot be deployed
Maintenance
Related MCP Connectors
Run commands and read/write files on your servers over Termalin's keyless tunnels (hosted MCP).
Scoped, audited SSH exec, sessions, and SFTP on your saved servers without exposing credentials
Securely use files, terminals, screenshots and processes on computers you pair with ReMCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA read-only MCP server for Linux and macOS system administration, diagnostics, and troubleshooting, supporting remote SSH execution and multi-host management.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables MCP-compatible AI clients to remotely manage a Linux server via SSH, supporting file operations, Docker control, Git pulls, and arbitrary command execution.7,741 npmMIT
- FlicenseAqualityBmaintenanceCross-platform MCP server for policy-controlled command execution on Linux and Windows, with no SSH dependency.3-
- AlicenseNot gradedqualityCmaintenanceSSH-based MCP server that enables remote execution of SSH commands, file transfers, and secure server management via the MCP protocol.ISC