Bash MCP (Master Control Program)

by yannbam
Verified

local-only server

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

Integrations

  • Built as a TypeScript application that provides a secure interface for bash command execution with comprehensive session management for interactive command sessions.

Bash MCP (Programa de control maestro)

Una aplicación TypeScript que le permite a Claude ejecutar comandos bash de forma segura con medidas de seguridad.

Características

  • Ejecutar comandos bash en un entorno controlado
  • Soporte para ejecución de comandos tanto con estado como sin estado (interactivos)
  • Medidas de seguridad:
    • Comandos incluidos en la lista blanca
    • Directorios incluidos en la lista blanca
    • Validación de comandos
    • Sanitización de salida
  • Gestión de sesiones para comandos interactivos
  • Registro completo

Instalación

npm install npm run build

Configuración

La configuración se almacena en config/default.json . Puedes personalizarla:

  • Comandos permitidos
  • Directorios permitidos
  • Configuración de la sesión
  • Configuración de seguridad
  • Configuración de registro

Ejemplo de configuración:

{ "allowedCommands": ["ls", "cat", "echo", "pwd"], "allowedDirectories": ["/tmp", "/home"], "session": { "timeout": 300, "maxActiveSessions": 5, "defaultMode": "stateless" }, "security": { "validateCommandsStrictly": true, "sanitizeOutput": true, "maxOutputSize": 1048576, "commandTimeout": 30 }, "logging": { "level": "info", "file": "logs/bash-mcp.log", "maxSize": 10485760, "maxFiles": 5 } }

Uso

Ejecución de comandos simples

import { executeCommand } from 'bash-mcp'; const result = await executeCommand('ls -la', { cwd: '/home/user' }); console.log(result.output);

Sesiones interactivas

import { initBashMCP } from 'bash-mcp'; const mcp = await initBashMCP(); // Create a session const session = mcp.createSession('/home/user'); const sessionId = session.sessionId; // Execute a command in the session const result1 = await mcp.executeCommand('ls -la', { sessionId }); console.log(result1.output); // Send input to the session const result2 = await mcp.sendInput({ sessionId, input: 'echo "Hello, world!"' }); console.log(result2.output); // Close the session when done mcp.closeSession(sessionId);

Consideraciones de seguridad

Este MCP está diseñado teniendo en cuenta la seguridad, pero es importante:

  • Mantenga la lista de comandos y directorios permitidos lo más restrictiva posible
  • Revisar y actualizar periódicamente la configuración
  • Supervisar los registros para detectar actividad sospechosa
  • Mantenga el MCP y sus dependencias actualizados

Desarrollo

Edificio

npm run build

Pelusa y formato

Para comprobar si hay problemas de pelusa:

npm run lint

Para corregir automáticamente problemas de pelusa y formato:

./fix-lint.sh

O manualmente:

npm run lint:fix # Fix linting issues npm run format # Format code

Pruebas

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

Una aplicación TypeScript que le permite a Claude ejecutar comandos bash de forma segura con medidas de seguridad que incluyen comandos incluidos en la lista blanca, directorios y registro completo.

  1. Features
    1. Installation
      1. Configuration
        1. Usage
          1. Simple Command Execution
          2. Interactive Sessions
        2. Security Considerations
          1. Development
            1. Building
            2. Linting and Formatting
            3. Testing
          ID: d8uq01zv9p