MCP Server: SSH Rails Runner

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables using Cursor Composer to pull in Rails model files as context and execute database operations. The README states: 'This works great with Cursor. You can use Cursor Composer to pull in your Rails model files as context...'

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

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)

-
security - not tested
A
license - permissive license
-
quality - not tested

Permite la ejecución remota segura de comandos de consola Rails a través de SSH para operaciones de solo lectura, planificación de mutaciones y ejecución de cambios aprobados en un entorno Rails implementado.

  1. Example
    1. Features
      1. Installation
        1. Configuration
          1. Usage with Claude Desktop
            1. Available Tools
              1. mcp_ssh_rails_runner_prepare_code_snippet
              2. mcp_ssh_rails_runner_execute_code_snippet_read_only
              3. mcp_ssh_rails_runner_execute_code_snippet_mutate
            2. Security Considerations
              1. License
                ID: 77wuqfg9g3