Skip to main content
Glama

MCP-ShellJS

MCP-ShellJS

Un servidor MCP que proporciona acceso ShellJS seguro y controlado para LLM como Claude.

Descripción general

MCP-ShellJS conecta el Protocolo de Contexto de Modelo (MCP) con ShellJS, lo que permite que los sistemas de IA ejecuten comandos de shell dentro de un entorno de pruebas seguro. Proporciona acceso controlado al sistema de archivos con múltiples capas de seguridad.

Características

  • Seguridad simplificada :
    • Modo de solo lectura por defecto
    • Modo de lectura y escritura opcional mediante el indicador de línea de comandos
    • Permiso de ejecución opcional a través de la bandera de la línea de comandos
  • Validación basada en esquemas con Zod
  • Funcionalidad completa de ShellJS ( ls , grep , sed , find , etc.)
  • Implementación de TypeScript con tipado fuerte
  • API sencilla para la integración de LLM

Instalación

# Clone the repository git clone https://github.com/yourusername/mcp-shelljs.git cd mcp-shelljs # Install dependencies npm install # Build the project npm run build

Uso

Línea de comandos

# Default mode (read-only) node dist/index.js # Enable read-write operations node dist/index.js --enable-rw # Enable exec command (careful!) node dist/index.js --enable-exec # Enable both node dist/index.js --enable-rw --enable-exec

Integración con TypeScript

// Import and initialize the MCP server import { startMCPServer } from 'mcp-shelljs'; // Start the server with default configuration (read-only) startMCPServer(); // Or with custom security configuration startMCPServer({ enableRw: true, // Enable read-write operations enableExec: false // Keep exec disabled });

Diseño de seguridad

MCP-ShellJS implementa un modelo de seguridad simple:

  1. Modo de solo lectura (predeterminado): solo están disponibles los comandos que no modifican el sistema de archivos
  2. Modo de lectura y escritura ( --enable-rw ): habilita comandos que pueden crear, modificar o eliminar archivos
  3. Modo de ejecución ( --enable-exec ): habilita el comando exec potencialmente peligroso para ejecutar comandos de shell arbitrarios

El servidor funciona únicamente con transporte stdio, lo que lo hace adecuado para la integración con aplicaciones LLM de escritorio.

¿Por qué utilizar MCP-ShellJS?

Para los desarrolladores de IA, MCP-ShellJS permite potentes capacidades de sistema de archivos con riesgo controlado:

  • Exploración eficiente : búsqueda rápida con grep y find en bases de código
  • Procesamiento de texto : Transforme archivos con sed sin cargarlos por completo
  • Automatización segura : deje que la IA le ayude con la organización y gestión de archivos
  • Tuberías potentes : operaciones en cadena con tuberías de estilo Unix

Recursos

Recurso de directorio

directory://{path}?include={glob}&exclude={glob}&honor_gitignore={boolean}

Proporciona un listado de directorios con potentes capacidades de filtrado:

ParámetroDescripción
includePatrones glob a incluir (por ejemplo, *.js,*.ts )
excludePatrones globales a excluir (por ejemplo, node_modules,dist )
honor_gitignoreCuando true , filtra los archivos que coinciden con patrones en .gitignore
recursiveCuando true , incluye subdirectorios recursivamente

Ejemplo:

directory:///project/src?include=*.ts&exclude=*.test.ts&honor_gitignore=true

Recurso de archivo

file://{path}?lines={boolean}&start={number}&end={number}

Proporciona contenidos de archivos con opciones para ver partes específicas:

ParámetroDescripción
linesCuando true , incluye números de línea en la salida
startPrimera línea a incluir (indexación basada en 1)
endÚltima línea a incluir
highlightPatrón de globo para resaltar el texto coincidente

Ejemplo:

file:///project/src/index.ts?lines=true&start=10&end=50

Herramientas

MCP-ShellJS expone los comandos ShellJS como herramientas, agrupados por nivel de riesgo de seguridad:

Herramientas de solo lectura

HerramientaDescripciónArgumentos
catContenido del archivo de salidafiles : Cadena/Matriz, options : Objeto con -n (líneas numéricas)
grepBuscar archivos de patronesregex , files , options : Objeto con -v (invertir), -l (solo nombres de archivo), -i (ignorar mayúsculas y minúsculas)
findBuscar archivos recursivamentepaths : cadena/matriz (devuelve rutas de archivos, incluidos los directorios base)
lsListar el contenido del directoriopaths : cadena/matriz, options : objeto con -R (recursivo), -A (todos), -L (seguir enlaces simbólicos), -d (solo directorios)
whichLocalizar un comandocommand : cadena (devuelve la ruta al comando)
pwdImprimir directorio de trabajo(sin argumentos)
testCondiciones del archivo de pruebaexpression : cadena (por ejemplo, -d path del directorio, -f path del archivo)
headMostrar las primeras líneasfiles : Cadena/Matriz, options : Objeto con -n <num> (líneas a mostrar)
tailMostrar últimas líneasfiles : Cadena/Matriz, options : Objeto con -n <num> (líneas a mostrar)
sortOrdenar líneasfiles : Cadena/Matriz, options : Objeto con -r (inverso), -n (numérico)
uniqFiltrar líneas duplicadasinput : Cadena, output : Cadena, options : Objeto con -i (ignorar mayúsculas y minúsculas), -c (contar), -d (solo duplicados)

Herramientas de lectura y escritura

HerramientaDescripciónArgumentos
mkdirCrear directoriosdir : cadena/matriz, options : objeto con -p (crear directorios intermedios)
touchCrear/actualizar archivosfiles : cadena/matriz, options : objeto con -c (sin creación), -a (solo tiempo de acceso), -m (solo tiempo de modificación)
cpCopiar archivos/directoriossource : cadena/matriz, dest : cadena, options : objeto con -R (recursivo), -n (sin modificación), -f (forzar)
mvMover archivos/directoriossource : cadena/matriz, dest : cadena, options : objeto con -f (forzar), -n (sin modificar)
rmEliminar archivos/directoriosfiles : Cadena/Matriz, options : Objeto con -r/-R (recursivo), -f (forzado)
sedEditor de flujo de archivossearch_regex : RegExp, replacement : Cadena, files : Cadena/Matriz, options : Objeto con -i (en el lugar)

Herramientas de permisos especiales

HerramientaDescripciónArgumentos
execEjecutar comandocommand : Cadena, options : Objeto con async , silent , requiere allowExec: true

Licencia

GPL-3.0 o posterior

-
security - not tested
F
license - not found
-
quality - not tested

local-only server

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

Un servidor MCP seguro que proporciona acceso controlado a ShellJS para LLM, lo que permite que los sistemas de IA ejecuten de forma segura comandos de shell e interactúen con el sistema de archivos dentro de un entorno de seguridad configurable.

  1. Descripción general
    1. Características
      1. Instalación
        1. Uso
          1. Línea de comandos
          2. Integración con TypeScript
        2. Diseño de seguridad
          1. ¿Por qué utilizar MCP-ShellJS?
            1. Recursos
              1. Recurso de directorio
              2. Recurso de archivo
            2. Herramientas
              1. Herramientas de solo lectura
              2. Herramientas de lectura y escritura
              3. Herramientas de permisos especiales
            3. Licencia

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A secure MCP server for executing whitelisted shell commands with resource and timeout controls, designed for integration with Claude and other MCP-compatible LLMs.
                Last updated -
                20
                143
                2
                TypeScript
                MIT License
              • A
                security
                A
                license
                A
                quality
                An MCP server that enables secure terminal command execution, directory navigation, and file system operations through a standardized interface for LLMs.
                Last updated -
                10
                58
                Python
                MIT License
                • Apple
              • -
                security
                A
                license
                -
                quality
                A secure, container-based implementation of the Model Context Protocol (MCP) that provides sandboxed environments for AI systems to safely execute code, run commands, access files, and perform web operations.
                Last updated -
                9
                Python
                Apache 2.0
                • Linux
              • -
                security
                A
                license
                -
                quality
                An MCP server that enables secure execution of shell commands across Windows, macOS, and Linux with built-in whitelisting and approval mechanisms for enhanced security.
                Last updated -
                13
                JavaScript
                MIT License
                • Linux
                • Apple

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/erniebrodeur/mcp-shelljs'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server