Command-Line MCP Server

Un servidor MCP seguro para ejecutar comandos de terminal con acceso controlado a directorios y permisos de comandos.

Documentación

Servidor MCP de Línea de Comandos

PyPI version Python Versions License: MIT

Un servidor MCP que permite a los asistentes de IA ejecutar comandos de terminal de forma segura. Los comandos están categorizados (lectura/escritura/sistema), los directorios están en la lista blanca y los patrones peligrosos se bloquean automáticamente.


Inicio Rápido

pip install cmd-line-mcp

# Or from source
git clone https://github.com/andresthor/cmd-line-mcp.git
cd cmd-line-mcp
pip install -e .

Ejecuta el servidor:

cmd-line-mcp                        # default config
cmd-line-mcp --config config.json   # custom config

Configuración de Claude Desktop

Añade a ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "cmd-line": {
      "command": "/path/to/venv/bin/cmd-line-mcp",
      "args": ["--config", "/path/to/config.json"],
      "env": {
        "CMD_LINE_MCP_SECURITY_REQUIRE_SESSION_ID": "false",
        "CMD_LINE_MCP_SECURITY_AUTO_APPROVE_DIRECTORIES_IN_DESKTOP_MODE": "true"
      }
    }
  }
}

Reinicia Claude Desktop después de guardar.

[!TIP] Establece require_session_id: false para evitar bucles de aprobación en Claude Desktop.


Cómo Funciona

Los comandos pasan por un pipeline de validación antes de ejecutarse:

  1. Coincidencia de patrones — bloquea construcciones peligrosas (system(), escapes de shell, etc.)
  2. Clasificación de comandos — cada comando debe estar en la lista de lectura, escritura, sistema o bloqueados
  3. Verificación de directorio — el directorio de destino debe estar en la lista blanca o aprobado por la sesión
  4. Verificación de aprobación — los comandos de escritura/sistema requieren aprobación de la sesión

Se admiten tuberías, punto y coma y & — cada segmento se valida de forma independiente.

Lo Que Está Permitido

CategoríaComandosAprobación
Lecturals, cat, grep, find, head, tail, sort, wc, …Automática
Escrituracp, mv, rm, mkdir, touch, chmod, awk, sed, …Requerida
Sistemaps, ping, curl, ssh, xargs, …Requerida
Bloqueadossudo, bash, sh, python, eval, …Siempre denegado

Lo Que Está Bloqueado

Los shells, intérpretes de scripting y vectores conocidos de ejecución de comandos están bloqueados — incluida la ejecución indirecta a través de awk system(), sed /e, find -exec, tar --checkpoint-action, env y xargs. Consulta docs/SECURITY.md para ver la lista completa.


Configuración

El servidor funciona de fábrica con valores predeterminados sensatos. Personalízalo mediante configuración JSON, variables de entorno o archivos .env:

# Whitelist directories
export CMD_LINE_MCP_SECURITY_WHITELISTED_DIRECTORIES="/projects,/var/data"

# Add commands (merges with defaults)
export CMD_LINE_MCP_COMMANDS_READ="jq,rg"

Consulta docs/CONFIGURATION.md para obtener la referencia completa de configuración, documentación de herramientas MCP y detalles de seguridad de directorios.


Licencia

MIT