# Easton-OU/rootpilot-mcp [Health: Active]

**Category:** 🖥️ Command Line  
**Repository:** https://github.com/Easton-OU/rootpilot-mcp  
**GitHub Stars:** 1  
**npm Downloads (last month):** 149  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/easton-ou-rootpilot-mcp

## Description
Safe, read-only SSH diagnostics for Linux/Docker servers: a fixed 38-command whitelist (no arbitrary execution), secret redaction, per-command timeouts. Collects evidence; your model does the reasoning. npx @rootpilot/mcp-ssh-diagnose

## Tools
Capabilities this server exposes over MCP:

- **list_hosts** — List the hosts defined in your hosts.json, with an optional reachability probe (TCP + SSH banner). Returns names to use with the other tools.
- **get_whitelist** — Return every command this server can run: key, purpose, shell template, and whether it needs a container argument. This is the complete set — nothing outside it can be executed.
- **collect** — Run up to 8 whitelisted commands on a host and return their (redacted, truncated) output. Use get_whitelist to see valid keys. Keys outside the whitelist are rejected.
- **collect_base** — Shortcut: run the base group (docker_ps, df, df_inode, free, uptime, dmesg_oom, docker_daemon) — a cheap first look at a host.
- **container_deep_dive** — Shortcut: for one container, run docker_logs, docker_inspect (redacted), container_state and docker_stats.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "rootpilot-mcp": {
    "command": "npx",
    "args": ["-y","@rootpilot/mcp-ssh-diagnose"],
    "env": {
      "RP_HOSTS": "",
      "RP_PROBE_URL": "",
      "RP_NO_PROMO": ""
    }
  }
}
```

**Requires environment variables:** `RP_HOSTS`, `RP_PROBE_URL`, `RP_NO_PROMO` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What Easton-OU/rootpilot-mcp MCP server does

Easton-OU/rootpilot-mcp MCP server gathers diagnostic evidence from Linux hosts and Docker environments through direct SSH connections. It is designed for read-only inspection: the server exposes a fixed set of 38 commands and does not provide an arbitrary shell execution tool.

The model using the MCP client decides which evidence to request and interprets the returned output. The server itself does not perform root-cause analysis, invoke a built-in LLM, or coordinate multiple diagnostic rounds. This makes it suitable when the agent should reason from clearly bounded command results while the operator retains control of the hosts.

## How it works

Host definitions are loaded from a JSON file controlled by the operator. Each host can specify a name, address, SSH port, user, and either key-based or password authentication. The MCP client sends a request for a host and either a predefined diagnostic shortcut or a set of approved command keys.

Before execution, the server renders only a whitelisted command template. Container names are the only injected value and must contain only letters, numbers, underscores, periods, and hyphens. Each command has a 15-second timeout, and returned output is truncated to limit hangs and excessive responses.

Output is scrubbed before it reaches the model. Redaction covers common key-value secrets, bearer and basic-auth tokens, recognizable API-key formats, PEM private-key blocks, credentials in URLs, and Docker inspection environment values. Data travels between the local MCP process and the configured hosts over SSH, then to the MCP client's model.

## Setup and configuration

Run the package through the documented npx command and configure it as a stdio MCP server in the client. Set `RP_HOSTS` to the path of a `hosts.json` file. The file can contain entries using key authentication with a `keyPath` or password authentication with a `password`.

`RP_PROBE_URL` optionally changes the target used by outbound-connectivity and DNS probes; its default is `https://cloudflare.com`. Set `RP_NO_PROMO=1` to suppress the one-line pointer to the full RootPilot product. A dedicated least-privilege SSH account is recommended instead of a root account.

## Tools and capabilities

Easton-OU/rootpilot-mcp MCP server exposes four tools:

- `list_hosts` returns configured host names and can optionally perform a TCP and SSH-banner reachability probe.
- `get_whitelist` lists every permitted command, its purpose, shell template, and whether it requires a container argument.
- `collect` runs up to eight approved command keys for one host and returns redacted, truncated output. Invalid keys are rejected.
- `collect_base` runs a standard first-look group covering Docker processes, filesystem space and inodes, memory, uptime, OOM messages, and Docker daemon status.
- `container_deep_dive` collects logs, redacted inspection data, container state, and Docker statistics for one container.

Two built-in prompts are also provided: `diagnose-host` for an evidence-first troubleshooting walkthrough and `health-check` for a lighter inspection.

## Limitations and notes

The server targets Linux hosts reached directly over SSH and does not support Windows servers or jump hosts in version 1. It only collects evidence; diagnosis quality depends on the MCP client's model and the commands it chooses to request. It does not change host state, send telemetry, or provide the broader history, alert-triggered diagnosis, and multi-host management features of the separate RootPilot product.

The repository is licensed under MIT. Credentials remain in the operator-controlled host configuration and are not logged by the server, but the configured MCP client still receives command output after redaction.

_Full upstream README: https://allmcps.com/mcp/easton-ou-rootpilot-mcp/readme_

