Skip to main content
Glama
tadasant

MCP Server: SSH Rails Runner

by tadasant

Servidor MCP: SSH Rails Runner

Un servidor MCP que permite la ejecución remota segura de comandos de la consola Rails mediante SSH. Este servidor proporciona herramientas para operaciones de solo lectura y mutaciones cuidadosamente gestionadas en un entorno Rails implementado.

Esto funciona de maravilla con Cursor. Puedes usar Cursor Composer para extraer los archivos de tu modelo de Rails como contexto y luego usar las herramientas execute_read_only , dry_run_mutate y execute_mutate para realizar cambios en la base de datos. Olvídate de las complejas interfaces de administración para gestionar y analizar tus datos.

Ejemplo

Ejemplo

Related MCP server: SSH Read-Only MCP Server

Características

  • Ejecución remota de la consola Rails a través de SSH

  • Operaciones seguras de solo lectura

  • Capacidad de ejecución en seco de mutaciones

  • Ejecución de mutaciones aprobadas

  • Gestión de recursos para fragmentos de código

Instalación

npm install
npm run build

Configuración

Establezca las siguientes variables de entorno:

SSH_HOST=your.remote.host
SSH_USER=your_ssh_user
SSH_PRIVATE_KEY_PATH=your_SSH_PRIVATE_KEY_PATH
RAILS_WORKING_DIR=/path/to/rails/app

Uso con Claude Desktop

Añade a tu configuración de Claude Desktop:

{
  "mcpServers": {
    "ssh-rails-runner": {
      "command": "npx",
      "args": ["mcp-server-ssh-rails-runner"],
      "env": {
        "SSH_HOST": "your.remote.host",
        "SSH_USER": "your_ssh_user",
        "SSH_PRIVATE_KEY_PATH": "your_SSH_PRIVATE_KEY_PATH",
        "RAILS_WORKING_DIR": "/path/to/rails/app/root",
        "PROJECT_NAME_AS_CONTEXT": "Name that shows up in tool descriptions to help the LLM describe what kind of Rails project we're working with.",
        "CODE_SNIPPET_FILE_DIRECTORY": "/path/to/store/code/snippets/locally"
      }
    }
  }
}

Si no se proporciona CODE_SNIPPET_FILE_DIRECTORY , los fragmentos se almacenarán en un directorio temporal (p. ej., /tmp/mcp-ssh-rails-runner-code-snippets ). PROJECT_NAME_AS_CONTEXT es opcional y ayuda a identificar el contexto del proyecto en las descripciones de las herramientas.

Herramientas disponibles

El servidor ahora utiliza un flujo de trabajo Preparar -> Ejecutar:

mcp_ssh_rails_runner_prepare_code_snippet

  • Argumentos : name (cadena, para nombre de archivo), type (enumeración: "readOnly" | "mutate"), code (cadena, código Ruby), description (cadena, opcional).

  • Función : guarda el código Ruby proporcionado en un archivo local llamado code_snippet_<name>.json , lo marca como de solo lectura o mutado y abre el archivo para revisión.

  • Devuelve : El URI file:// del fragmento creado.

mcp_ssh_rails_runner_execute_code_snippet_read_only

  • Argumentos : uri (cadena, file:// URI de prepareCodeSnippet ).

  • Función : lee el fragmento de código de la URI, verifica que esté marcado como readOnly , realiza una verificación de seguridad en el código y lo ejecuta.

  • Devuelve : La salida del comando Rails.

mcp_ssh_rails_runner_execute_code_snippet_mutate

  • Argumentos : uri (cadena, file:// URI de prepareCodeSnippet ).

  • Función : ¡ZONA DE PELIGRO! Lee el fragmento de código, verifica que esté marcado como mutate y lo ejecuta directamente . Esta herramienta no requiere simulacros ni comprobaciones de seguridad adicionales.

  • Devuelve : La salida del comando Rails.

  • Uso : LLAME A ESTO SOLO DESPUÉS DE QUE EL USUARIO HAYA REVISADO el código preparado (a través del archivo abierto desde prepareCodeSnippet ) Y HAYA CONFIRMADO EXPLÍCITAMENTE que desea ejecutar la mutación.

Consideraciones de seguridad

  • Úselo solo con puntos finales SSH confiables de su propia máquina local a la que se le proporciona acceso (temporalmente) al entorno remoto.

  • Es fundamental revisar siempre el código guardado por prepareCodeSnippet antes de ejecutar cualquier mutación con executeCodeSnippetMutate . La responsabilidad de confirmar las mutaciones recae en el usuario y la IA que las realiza.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables SSH connections and remote command execution with persistent session management and real-time browser-based terminal monitoring. Supports multiple simultaneous SSH sessions with command history tracking and live WebSocket streaming of terminal output.
    6
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables secure remote SSH command execution with strict read-only enforcement, allowing safe delegation of SSH access to Claude while preventing write operations. Supports connection pooling, command validation, and comprehensive logging for audit trails.
    5
    1
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables remote shell command execution and file operations with restricted/unrestricted modes, background tasks, safe editing, and code search.
    MIT