LabscoMCP early access ↗
jeprecatedMCP SERVER

MCP SSH SRE

Read-only Linux and Unraid diagnostics over SSH — logs, SMART data, containers, no shell exposed.

by jeprecated ↗Editors, Terminals & Local Dev EnvironmentCommunity

LABSCO SUMMARY

Diagnostics without handing over a shell.

The design point is the restriction: predefined commands mean the agent can read smartctl output and container logs but cannot run anything you did not build in. That covers exactly the questions platform APIs cannot answer — disk health, real load averages, log correlation — and it means a compromised conversation still cannot touch the box.

What it is

An MCP server that runs predefined diagnostic commands on a server over SSH and passes only the results to the model. The credentials and the shell stay on the server side; the agent gets findings, not a prompt.

What you get

  • 12 tool modules with 79+ actions, loaded according to the platform the server auto-detects at startup — 10 core modules on generic Linux, 12 on Unraid
  • Docker — container logs, stats, environment, ports and network topology
  • Storage and array — parity checks, SMART data, temperatures and mover logs on Unraid
  • System and logs — processes, disk I/O, network connections, and search across container and system logs
  • VMs and security — list and inspect VMs with VNC details and libvirt logs; port scanning, login monitoring and permission audits
  • Health diagnostics that aggregate status with automatic issue detection
  • Read-only by design, so there is no path to an accidental change

Requirements

A reachable host over SSH and a key. The quickest path is the published image: docker run ghcr.io/jeprecated/mcp-ssh-sre:latest with SSH_HOST, SSH_USERNAME and SSH_KEY_PATH set and the key mounted read-only, exposing port 3000; then point your client at http://your-server:3000/mcp. Stdio is available too. Unraid and generic Linux are fully supported; TrueNAS and Proxmox are untested, though the core tools should work. Package version 2.0.2. ISC.

Setup effort

One command — docker run -d -p 3000:3000 -e SSH_HOST=server.local -e SSH_USERNAME=mcp-readonly -e SSH_KEY_PATH=/keys/id_ed25519 -v ~/.ssh/id_ed25519_mcp:/keys/id_ed25519:ro ghcr.io/jeprecated/mcp-ssh-sre:latest