Skip to main content
Glama
kaznak

Shell Command MCP Server

by kaznak

Servidor MCP de comandos de Shell

Este es un servidor MCP (Protocolo de Contexto de Modelo) que permite ejecutar comandos de shell dentro de un contenedor Docker. Proporciona un espacio de trabajo seguro y aislado para ejecutar comandos sin dar acceso al demonio de Docker del host.

Características

  • Ejecute scripts de shell a través de una interfaz MCP simple

    • ejecución sincrónica

    • ejecución asincrónica con 4 modos diferentes

      • completar: notificar cuando se completa el comando

      • línea: notificar en cada línea de salida

      • fragmento: notificar en cada fragmento de salida

      • Carácter: notificar sobre cada carácter de salida.

  • Herramientas de Kubernetes incluidas: kubectl, helm, kustomize, hemfile

  • Entorno de contenedor Docker aislado con usuario no root

    • Se implementó la asignación de ID de usuario/ID de grupo entre el host y el contenedor. Esto permite que el contenedor se ejecute con el mismo usuario que el host, lo que garantiza que los archivos creados por el contenedor tengan la misma propiedad y los mismos permisos que los creados por el host.

    • Monta un directorio de host en el directorio /home/mcp del contenedor para persistencia. Se convierte en el directorio de inicio en el que trabaja la IA.

    • Si el directorio del host está vacío, los archivos iniciales se copiarán desde la copia de seguridad en el contenedor.

Related MCP server: Docker MCP Server

Filosofía del diseño

Este servidor MCP proporciona a la IA un espacio de trabajo similar al de un humano. La autorización no está limitada por las funciones de MCP, sino por el aislamiento del contenedor y las restricciones de autorización externa.

Proporciona herramientas más generales, como la ejecución de scripts de shell, para que puedan utilizarse sin conocimientos especializados sobre el uso de herramientas.

La implementación del servidor se mantiene lo más simple posible para facilitar la auditoría del código.

Empezando

Prerrequisitos

  • Estibador

Uso con Claude para escritorio

Agregue la siguiente configuración a su archivo de configuración de Claude for Desktop.

Sistema operativo Mac:

"shell-command": { "command": "docker", "args": [ "run", "--rm", "-i", "--mount", "type=bind,src=/Users/user-name/MCPHome,dst=/home/mcp", "ghcr.io/kaznak/shell-command-mcp:latest" ] }

Reemplace /Users/user-name/ClaudeWorks con el directorio que desea que esté disponible para el contenedor.

Ventanas:

"shell-command": { "command": "docker", "args": [ "run", "--rm", "-i", "--mount", "type=bind,src=\\\\wsl.localhost\\Ubuntu\\home\\user-name\\MCPHome,dst=/home/mcp", "ghcr.io/kaznak/shell-command-mcp:latest" ] }

Proporcionar algunas indicaciones

Para operar los archivos en el directorio montado.

Herramientas MCP disponibles

Consideraciones de seguridad

  • El servidor MCP se ejecuta como un usuario no root dentro del contenedor

  • El contenedor no tiene acceso al demonio Docker del host

  • El espacio de trabajo del usuario se monta desde el host para persistencia

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Latest Blog Posts

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/kaznak/shell-command-mcp'

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