REA
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Descripción del creador (original en inglés)
Stdio MCP server for SSH host storage and remote command execution with a connection-pool monitor.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Pasó 2/2 revisiones · Funciona en tu computadora
Primero: ¿qué IA usas?
Elige tu app y los pasos aparecen abajo.
Funciona con Claude, pero hay que preparar algo antes
Necesitas una clave de SSH Host Storage & Remote Exec (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
Una sola vez; sirve para todos los servidores que necesitan Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Puede tener costo.
SettingsDeveloperEdit Config
{
"mcpServers": {
"ssh-exec-cmd": {
"command": "npx",
"args": [
"-y",
"@xlbbb-cn/mcp_ssh_exec_cmd"
],
"env": {
"MCP_SSH_CONFIG_DIR": "your-value",
"MCP_SSH_MASTER_KEY": "your-value",
"MCP_SSH_POOL_IDLE_MS": "your-value",
"MCP_SSH_POOL_MAX_HOSTS": "your-value"
}
}
}
}Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Usa SSH Host Storage & Remote Exec y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude dice que está usando SSH Host Storage & Remote Exec o muestra una herramienta de SSH Host Storage & Remote Exec en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
ChatGPT todavía no puede conectar SSH Host Storage & Remote Exec
SSH Host Storage & Remote Exec se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web
A · Usa una app que pueda conectar SSH Host Storage & Remote Exec
B · Otros en Herramientas para desarrolladores que funcionan con ChatGPT
Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave
Funciona con Claude Code, pero hay que preparar algo antes
Necesitas una clave de SSH Host Storage & Remote Exec (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez)
Una sola vez; sirve para todos los servidores que necesitan Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Puede tener costo.
Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell
claude mcp add ssh-exec-cmd --env MCP_SSH_CONFIG_DIR=your-value --env MCP_SSH_MASTER_KEY=your-value --env MCP_SSH_POOL_IDLE_MS=your-value --env MCP_SSH_POOL_MAX_HOSTS=your-value -- npx -y @xlbbb-cn/mcp_ssh_exec_cmdCambia “your-value” por tu clave antes de pulsar Enter
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Deberías ver SSH Host Storage & Remote Exec en la lista como conectado
Usa SSH Host Storage & Remote Exec y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude Code dice que está usando SSH Host Storage & Remote Exec o muestra una herramienta de SSH Host Storage & Remote Exec en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con Cursor, pero hay que preparar algo antes
Necesitas una clave de SSH Host Storage & Remote Exec (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez)
Una sola vez; sirve para todos los servidores que necesitan Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Puede tener costo.
En la configuración de SSH Host Storage & Remote Exec, MCP_SSH_CONFIG_DIR, MCP_SSH_MASTER_KEY, MCP_SSH_POOL_IDLE_MS, MCP_SSH_POOL_MAX_HOSTS está vacío; añade tu clave y guarda
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Usa SSH Host Storage & Remote Exec y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Cursor dice que está usando SSH Host Storage & Remote Exec o muestra una herramienta de SSH Host Storage & Remote Exec en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con VS Code, pero hay que preparar algo antes
Necesitas una clave de SSH Host Storage & Remote Exec (regístrate en el sitio del autor; puede tener costo) · Instala Node.js en tu computadora primero (una sola vez)
Una sola vez; sirve para todos los servidores que necesitan Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Puede tener costo.
En la configuración de SSH Host Storage & Remote Exec, MCP_SSH_CONFIG_DIR, MCP_SSH_MASTER_KEY, MCP_SSH_POOL_IDLE_MS, MCP_SSH_POOL_MAX_HOSTS está vacío; añade tu clave y guarda
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Usa SSH Host Storage & Remote Exec y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si VS Code dice que está usando SSH Host Storage & Remote Exec o muestra una herramienta de SSH Host Storage & Remote Exec en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps
Ver todas las apps que usan MCP →
La configuración JSON está en “Para desarrolladores”, abajo
Claude Code
claude mcp add ssh-exec-cmd --env MCP_SSH_CONFIG_DIR=your-value --env MCP_SSH_MASTER_KEY=your-value --env MCP_SSH_POOL_IDLE_MS=your-value --env MCP_SSH_POOL_MAX_HOSTS=your-value -- npx -y @xlbbb-cn/mcp_ssh_exec_cmdClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"ssh-exec-cmd": {
"command": "npx",
"args": [
"-y",
"@xlbbb-cn/mcp_ssh_exec_cmd"
],
"env": {
"MCP_SSH_CONFIG_DIR": "your-value",
"MCP_SSH_MASTER_KEY": "your-value",
"MCP_SSH_POOL_IDLE_MS": "your-value",
"MCP_SSH_POOL_MAX_HOSTS": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"ssh-exec-cmd": {
"command": "npx",
"args": [
"-y",
"@xlbbb-cn/mcp_ssh_exec_cmd"
],
"env": {
"MCP_SSH_CONFIG_DIR": "your-value",
"MCP_SSH_MASTER_KEY": "your-value",
"MCP_SSH_POOL_IDLE_MS": "your-value",
"MCP_SSH_POOL_MAX_HOSTS": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"ssh-exec-cmd": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@xlbbb-cn/mcp_ssh_exec_cmd"
],
"env": {
"MCP_SSH_CONFIG_DIR": "your-value",
"MCP_SSH_MASTER_KEY": "your-value",
"MCP_SSH_POOL_IDLE_MS": "your-value",
"MCP_SSH_POOL_MAX_HOSTS": "your-value"
}
}
}
}MCP_SSH_CONFIG_DIR envMCP_SSH_MASTER_KEY secreto envMCP_SSH_POOL_IDLE_MS envMCP_SSH_POOL_MAX_HOSTS envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
npm: @xlbbb-cn/mcp_ssh_exec_cmdSegún cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.
Se ejecutan en tu computadora en
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 11 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub xlbbb-cn, dueña del repo
Último cambio de código: hace 19 días
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.
Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.
Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.
Aún no hay reseñas
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 2 de 2 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: MCP_SSH_MASTER_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez hace 19 días, y la última versión (0.1.3) llegó al registro hace 19 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: REA, Netdata, Front-End Checklist
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
Review frontend code and live pages against 386 quality-gated web development rules.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
A standalone stdio MCP server that turns *SSH host management* and *remote command execution* into MCP tools.
It also ships an interactive / batch CLI (
remote-ssh-cli) for managing SSH hosts on the local machine.
简体中文文档见 README.zh-CN.md。
This is a Node.js re-implementation of the SSH-host half of a FastAPI project (app/services/llm_tools.py + app/utils/ssh_helper.py + app/models/host.py) — without the backend, without the database, without a network service. Any MCP client (Claude Desktop, Continue, a custom agent, …) can start it with npx and talk to it over JSON-RPC.
~/.mcp-ssh-server/hosts.json); no FastAPI backend, no database.crypto for AES-256-GCM, pure-JS ssh2 for SSH; runs on Windows / macOS / Linux.npx.pool_status renders the live pool as a desensitized table: uid, name, connection state, executed / failed commands and the last command (secrets and IP addresses masked).remote-ssh-cli manages the very same store (interactive TUI, batch commands, CSV bulk import) and can monitor the connection pool live (one frame per second, q quits).Nine tools are published:
| Tool | Description |
|---|---|
cli_help | Installation / usage / troubleshooting notes for remote-ssh-cli, optionally narrowed down with topic |
host_list | List the known hosts — only `sys_name` and `uid` (no address, user name or credential); uid is the host_id every other tool expects |
host_create | Add a host (password / private key / passphrase are encrypted at rest) |
host_update | Patch host fields (omitted credential fields keep their current value) |
host_delete | Delete a host |
ssh_run_command | Run a single non-interactive command on a host |
ssh_run_interactive | Run a command that answers prompts (sudo, …) through expect/answer pairs |
ssh_run_playbook | Run a multi-step playbook (structured # @… directives *or* legacy expect:/answer: lines) |
pool_status | Monitor the live connection pool — one desensitized row per host (uid, name, state, executed / failed commands, last command) |
host_list is the entry point: every host comes back as exactly two fields — sys_name (the name) and uid (the unique identifier).host_id. Pass it back unchanged; never assemble or guess one.Host ' ' not found. host_id must be the exact 'uid' value returned by host_list — call host_list to obtain the valid identifiers. Call host_list again and retry with the value it returns.host_get is deliberately not published to MCP clients: the model only ever sees sys_name + uid, never one host's address, user name or credential. The CLI keeps its own get subcommand for human operators.| Tool | Arguments | |
|---|---|---|
cli_help | topic? — one of install, list, get, create, update, delete, import, monitor, tui, windows | |
host_list | enabled_only? (bool) | |
host_create | ip_address (required), system_name?, ssh_port? (1-65535, default 22), ssh_username? (default root), ssh_auth_method? (password \ | pubkey), ssh_password?, ssh_private_key?, ssh_private_key_passphrase?, is_enable? (default true) |
host_update | host_id (required) plus any of the fields above — an omitted field keeps its current value | |
host_delete | host_id | |
ssh_run_command | host_id, command, timeout_seconds (1-600, required) | |
ssh_run_interactive | host_id, command, expects? ([{ expect, answer }]), timeout_seconds | |
ssh_run_playbook | host_id, content (the multi-line playbook body), timeout_seconds | |
pool_status | host_id? (one host only), format? (table \ | json), include_history? (bool), include_idle_hosts? (bool) |
ip_address is unique across the store — creating a duplicate fails.
Command results come back as a plain text block:
[stdout]
hello [stderr] [exit_code=0 success=true duration_ms=42]
git clone https://github.com/xlbbb-cn/mcp_ssh_exec_cmd.git
cd mcp_ssh_exec_cmd npm install npm run build
The build output lands in dist/ and provides two binaries:
| Binary | Entry point | Purpose |
|---|---|---|
remote-ssh-server | dist/index.js | the stdio MCP server (started by your MCP client) |
remote-ssh-cli | dist/cli.js | interactive / batch host-management CLI |
The package is published to two registries under the same name, @xlbbb-cn/mcp_ssh_exec_cmd:
| Registry | Install command | Auth |
|---|---|---|
| npmjs.org (recommended) | npm install -g @xlbbb-cn/mcp_ssh_exec_cmd | none — the public registry needs no token |
| GitHub Packages | npm install -g @xlbbb-cn/mcp_ssh_exec_cmd --registry=https://npm.pkg.github.com | a personal access token (classic) with read:packages |
GitHub Packages requires authentication for installs as well — even for public packages — so give npm a token first:
npm login --scope=@xlbbb-cn --auth-type=legacy --registry=https://npm.pkg.github.com
The same thing can be written into ~/.npmrc:
//npm.pkg.github.com/:_authToken=<PAT>
@xlbbb-cn:registry=https://npm.pkg.github.com
From a local checkout:
npm run build
npm install -g --allow-scripts=ssh2,cpu-features .
Or straight from a registry:
npm install -g @xlbbb-cn/mcp_ssh_exec_cmd # npmjs.org
npm install -g @xlbbb-cn/mcp_ssh_exec_cmd --registry=https://npm.pkg.github.com # GitHub Packages
Afterwards remote-ssh-cli is on your PATH:
remote-ssh-cli # interactive TUI
remote-ssh-cli list # JSON list of every host remote-ssh-cli get remote-ssh-cli create remote-ssh-cli update remote-ssh-cli delete remote-ssh-cli import [--dry-run] remote-ssh-cli monitor # live connection-pool monitor (q quits)
create / update take a JSON file, e.g.:
{
"ip_address": "192.168.1.100", "system_name": "web-01", "ssh_port": 22, "ssh_username": "root", "ssh_auth_method": "password", "ssh_password": "your-password" }
remote-ssh-cli import hosts.csv turns every row of the file into one host. The first line must be a header row containing at least an ip_address column:
ip_address,system_name,ssh_port,ssh_username,ssh_auth_method,ssh_password
192.168.1.100,web-01,22,root,password,secret 192.168.1.101,db-01,2222,deploy,password,secret
| Column | Description | Default |
|---|---|---|
ip_address | required, host address, unique across the table | — |
system_name | display name | empty |
ssh_port | SSH port | 22 |
ssh_username | SSH user name | root |
ssh_auth_method | password / pubkey | password |
ssh_password | plain-text password (encrypted before it hits the disk) | — |
ssh_private_key | plain-text private key (encrypted before it hits the disk) | — |
ssh_private_key_path | path to a key file (alternative to ssh_private_key) | — |
ssh_private_key_passphrase | passphrase protecting the key (encrypted before it hits the disk) | — |
is_enable | true/false/1/0/yes/no | true |
ip, host, name, port, user, password, …)."" escapes are parsed per RFC 4180, so private key material is never mangled.1 when at least one row failed.--dry-run only validates and reports — nothing is written.remote-ssh-cli banner, and remote-ssh-cli import without a file argument prints the same thing.Windows note: if you hit
JScript runtime error (800A03EA), make sure npm is >= 10.8.0 or run the command from cmd.exe instead of PowerShell — the.ps1wrapper npm generates may not invokenodeexplicitly on older npm versions. Both entry points ship a#!/usr/bin/env nodeshebang.
remote-ssh-cli monitor opens a live view of the SSH connection pool. The screen is redrawn once per second and the view is left with the `q` key (Ctrl+C works as well):
SSH connection pool monitor · 15:05:31 · tick 42 · refresh 1000ms · last tick 41ms
pool 2/32 connections · idle timeout 1m00s · probe timeout 5s · press q to quit
HOST ADDRESS USER STATUS LATENCY LAST OK POOL
web-01 192.168.1.100 root up 12ms 15:05:30 1m05s db-01 10.0.0.5:2222 deploy down 8ms - -
problems (1): db-01 (10.0.0.5:2222): connect ECONNREFUSED 10.0.0.5:2222
| Column | Meaning |
|---|---|
STATUS | up (the probe succeeded), down (the connection failed) or disabled (the host is switched off — it is listed but never probed) |
LATENCY | how long the last probe took, end to end |
LAST OK | clock time of the last successful probe |
POOL | age of the pooled connection — how long the session has been reused without being re-established |
ConnectionPool the SSH tools use, so the connections it shows are real, reusable sessions.echo (it exists in a POSIX shell *and* in cmd.exe); every probe runs once per interval, so keep --interval reasonable on large host lists.| Option | Description | Default |
|---|---|---|
--interval | redraw interval | 1000 |
--timeout | per-host probe timeout (1-600 s) | 5 |
--probe-cmd | command used to probe a host | echo |
--host | monitor only this host (repeatable) | all hosts |
--all | also list disabled hosts (never probed) | off |
--once | print a single frame and exit | off |
The same view is available from the interactive TUI (7) Monitor connection pool).
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "ssh": { "command": "npx", "args": ["-y", "-p", "@xlbbb-cn/mcp_ssh_exec_cmd", "remote-ssh-server"] } } }
On GitHub Packages, add the registry to the same snippet:
"args": [
"--registry=https://npm.pkg.github.com", "-y", "-p", "@xlbbb-cn/mcp_ssh_exec_cmd", "remote-ssh-server" ]