Skip to content

🌐 Servidor MCP SSH Nativo (Gestión Remota y Optimización de Tokens) ​

Context Code incluye un servidor MCP (Model Context Protocol) SSH integrado directamente en su núcleo. Esto permite al agente de IA conectarse a servidores o máquinas remotas de forma segura, explorar directorios, leer/escribir archivos y ejecutar comandos directamente, todo ello optimizando de manera crítica el consumo de tokens y el contexto de la conversación.


🚀 ¿Qué es el Servidor MCP SSH? ​

Es un puente de comunicación seguro que implementa la especificación de Model Context Protocol sobre SSH. El agente de Context Code actúa como un MCP Client y se conecta a este servidor interno para interactuar con tus entornos de staging, producción, bases de datos o servidores en la nube sin que tengas que salir de tu terminal de trabajo.

🛡️ Optimización de Tokens de Contexto ​

Las interacciones tradicionales de agentes con consolas remotas suelen consumir decenas de miles de tokens de contexto innecesarios al transferir buffers crudos gigantes. Este servidor mitiga el problema mediante:

  1. Truncamiento Inteligente Local: Las salidas de comandos muy largas (stdout) se recortan localmente antes de ser entregadas a la IA.
  2. SFTP Paginado: Lectura de archivos extensos mediante rangos de líneas controlados.
  3. Parcheo Remoto Directo (ssh_apply_patch): Permite aplicar cambios quirúrgicos de líneas de código en el servidor remoto en un solo turno, eliminando la necesidad de leer, reescribir y volver a subir archivos enteros.
  4. Listados Compactos: Oculta automáticamente directorios masivos de control (node_modules, .git) en el host remoto.

⚙️ Configuración y Activación ​

1. Levantar el Servidor por Consola (Modo stdio) ​

El servidor MCP SSH está integrado en el binario de Context Code y se puede levantar mediante el flag --ssh-mcp:

bash
context --ssh-mcp

(Este comando inicia el servidor en espera de peticiones JSON-RPC bajo el transporte de entrada/salida estándar).

2. Registrar el Servidor en Context Code ​

Para que Context Code detecte automáticamente el servidor MCP SSH en todas tus sesiones del CLI, agrégalo a tu archivo de configuración global de MCP en ~/.context/mcp.json (o .mcp.json en la raíz de tu proyecto):

json
{
  "mcpServers": {
    "context-ssh": {
      "command": "node",
      "args": ["d:/Documents/GitHub/Claude/claude-code_V1/Context_Code_V1/apps/cli/dist/context-bootstrap.js", "--ssh-mcp"]
    }
  }
}

🔧 Herramientas Expuestas al Agente ​

Una vez activo, el agente de IA tendrá acceso a las siguientes herramientas de control remoto:

1. ssh_connect ​

Establece una conexión segura con el host.

  • Parámetros:
    • host (string, requerido): Nombre de host o dirección IP.
    • username (string, requerido): Usuario de autenticación.
    • port (number, opcional): Puerto SSH (por defecto 22).
    • password (string, opcional): Contraseña del usuario.
    • privateKey (string, opcional): Contenido de tu llave privada PEM/OpenSSH.
    • passphrase (string, opcional): Contraseña para descifrar tu llave privada.

2. ssh_execute_command ​

Ejecuta comandos de consola en el host remoto con control de timeout.

  • Parámetros:
    • command (string, requerido): Comando a ejecutar.
    • timeoutMs (number, opcional): Tiempo de espera en milisegundos (por defecto 30000).

3. ssh_list_directory ​

Lista el contenido de una ruta de forma compacta (oculta .git y node_modules para ahorrar tokens).

  • Parámetros:
    • path (string, opcional): Ruta a explorar (por defecto . o home del usuario).

4. ssh_read_file ​

Lee archivos remotos de forma paginada o completa vía SFTP.

  • Parámetros:
    • path (string, requerido): Ruta del archivo.
    • startLine (number, opcional): Línea inicial (1-indexed).
    • endLine (number, opcional): Línea final (inclusive).

5. ssh_write_file ​

Crea o sobrescribe archivos remotos vía SFTP de forma segura.

  • Parámetros:
    • path (string, requerido): Ruta del archivo.
    • content (string, requerido): Contenido completo.

6. ssh_apply_patch ​

Aplica diferencias y ediciones parciales rápidas y baratas en tokens.

  • Parámetros:
    • path (string, requerido): Ruta del archivo.
    • targetContent (string, requerido): Bloque exacto de código a buscar.
    • replacementContent (string, requerido): Nuevo código para reemplazar el original.

💬 Ejemplos Prácticos de Uso ​

Una vez registrado el servidor, puedes interactuar de forma completamente natural en el chat de Context Code:

  • Conexión inicial:

    "Conéctate a mi host de pruebas en 192.168.1.10 con el usuario root usando mi llave privada que te pego aquí..."

  • Diagnóstico de recursos:

    "Revisa cuál es el espacio de disco libre y el uso de memoria en el servidor remoto."

  • Inspección de logs:

    "Lee las últimas 50 líneas del log de errores en /var/log/nginx/error.log"

  • Modificación de configuraciones (Parcheo barato):

    "En el archivo /etc/nginx/nginx.conf, cambia el puerto de escucha de 80 a 8080." (El agente utilizará de forma automática ssh_apply_patch para realizar el cambio en milisegundos con un costo de tokens mínimo).


🔒 Seguridad y Multiplataforma ​

  • Sandboxing y Permisos: Context Code mantiene su robusta política de seguridad. Cada vez que el agente intente realizar una acción de conexión SSH, ejecución de comandos o escritura de archivos remotos, solicitará tu aprobación explícita en consola o a través de la WebApp antes de proceder.
  • Compatibilidad Multiplataforma: La implementación es 100% compatible con Windows, macOS (Intel/Apple Silicon) y Linux. Utiliza un motor nativo multiplataforma que no requiere compilación C++ obligatoria, facilitando su despliegue y uso en cualquier entorno de desarrollo.

Desarrollado con pasión e Inteligencia Artificial.