local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Provides controlled access to ShellJS commands for filesystem operations, including read-only functions (ls, grep, find) and optional read-write capabilities (mkdir, touch, cp, mv, rm, sed).
Built with TypeScript for strong typing, enabling integration with TypeScript applications through a programmatic API.
Implements schema-based validation for command inputs and responses, ensuring that all operations conform to defined security constraints.
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
Uso
Línea de comandos
Integración con TypeScript
Diseño de seguridad
MCP-ShellJS implementa un modelo de seguridad simple:
- Modo de solo lectura (predeterminado): solo están disponibles los comandos que no modifican el sistema de archivos
- Modo de lectura y escritura (
--enable-rw
): habilita comandos que pueden crear, modificar o eliminar archivos - Modo de ejecución (
--enable-exec
): habilita el comandoexec
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
yfind
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
Proporciona un listado de directorios con potentes capacidades de filtrado:
Parámetro | Descripción |
---|---|
include | Patrones glob a incluir (por ejemplo, *.js,*.ts ) |
exclude | Patrones globales a excluir (por ejemplo, node_modules,dist ) |
honor_gitignore | Cuando true , filtra los archivos que coinciden con patrones en .gitignore |
recursive | Cuando true , incluye subdirectorios recursivamente |
Ejemplo:
Recurso de archivo
Proporciona contenidos de archivos con opciones para ver partes específicas:
Parámetro | Descripción |
---|---|
lines | Cuando true , incluye números de línea en la salida |
start | Primera línea a incluir (indexación basada en 1) |
end | Última línea a incluir |
highlight | Patrón de globo para resaltar el texto coincidente |
Ejemplo:
Herramientas
MCP-ShellJS expone los comandos ShellJS como herramientas, agrupados por nivel de riesgo de seguridad:
Herramientas de solo lectura
Herramienta | Descripción | Argumentos |
---|---|---|
cat | Contenido del archivo de salida | files : Cadena/Matriz, options : Objeto con -n (líneas numéricas) |
grep | Buscar archivos de patrones | regex , files , options : Objeto con -v (invertir), -l (solo nombres de archivo), -i (ignorar mayúsculas y minúsculas) |
find | Buscar archivos recursivamente | paths : cadena/matriz (devuelve rutas de archivos, incluidos los directorios base) |
ls | Listar el contenido del directorio | paths : cadena/matriz, options : objeto con -R (recursivo), -A (todos), -L (seguir enlaces simbólicos), -d (solo directorios) |
which | Localizar un comando | command : cadena (devuelve la ruta al comando) |
pwd | Imprimir directorio de trabajo | (sin argumentos) |
test | Condiciones del archivo de prueba | expression : cadena (por ejemplo, -d path del directorio, -f path del archivo) |
head | Mostrar las primeras líneas | files : Cadena/Matriz, options : Objeto con -n <num> (líneas a mostrar) |
tail | Mostrar últimas líneas | files : Cadena/Matriz, options : Objeto con -n <num> (líneas a mostrar) |
sort | Ordenar líneas | files : Cadena/Matriz, options : Objeto con -r (inverso), -n (numérico) |
uniq | Filtrar líneas duplicadas | input : Cadena, output : Cadena, options : Objeto con -i (ignorar mayúsculas y minúsculas), -c (contar), -d (solo duplicados) |
Herramientas de lectura y escritura
Herramienta | Descripción | Argumentos |
---|---|---|
mkdir | Crear directorios | dir : cadena/matriz, options : objeto con -p (crear directorios intermedios) |
touch | Crear/actualizar archivos | files : cadena/matriz, options : objeto con -c (sin creación), -a (solo tiempo de acceso), -m (solo tiempo de modificación) |
cp | Copiar archivos/directorios | source : cadena/matriz, dest : cadena, options : objeto con -R (recursivo), -n (sin modificación), -f (forzar) |
mv | Mover archivos/directorios | source : cadena/matriz, dest : cadena, options : objeto con -f (forzar), -n (sin modificar) |
rm | Eliminar archivos/directorios | files : Cadena/Matriz, options : Objeto con -r/-R (recursivo), -f (forzado) |
sed | Editor de flujo de archivos | search_regex : RegExp, replacement : Cadena, files : Cadena/Matriz, options : Objeto con -i (en el lugar) |
Herramientas de permisos especiales
Herramienta | Descripción | Argumentos |
---|---|---|
exec | Ejecutar comando | command : Cadena, options : Objeto con async , silent , requiere allowExec: true |
Licencia
This server cannot be installed
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.