Shell Executor
Ejecuta comandos de shell de forma segura en un servidor remoto.
GitHubPrueba este MCPPatrocinado
Documentación
Shell Executor MCP Server
Un servidor de Model Context Protocol (MCP) que proporciona capacidades seguras de ejecución de comandos de shell para agentes de IA y herramientas como VS Code Copilot.
Características
- Ejecución segura de comandos: Filtrado de comandos basado en lista blanca
- Conjunto completo de herramientas: Soporte para operaciones de archivos, procesamiento de texto, herramientas de desarrollo y utilidades del sistema
- Compatible con MCP: Soporte completo de Model Context Protocol
- Integración fácil: Interfaz JSON-RPC simple sobre stdio
Instalación
Opción 1: Uso directo
git clone https://github.com/yourusername/shell-executor-mcp.git
cd shell-executor-mcp
pip install -e .
Opción 2: Instalar desde PyPI (cuando se publique)
pip install shell-executor-mcp
Integración con VS Code
1. Configuración global
Añade a tu settings.json de VS Code o a la configuración de MCP:
{
"mcpServers": {
"shell-executor": {
"command": "python",
"args": ["/path/to/shell-executor-mcp/src/mcp_server.py"],
"env": {
"MCP_API_TOKEN": "your-secret-token"
}
}
}
}
2. Configuración del espacio de trabajo
Crea .vscode/mcp_servers.json en tu espacio de trabajo:
{
"shell-executor": {
"command": "python",
"args": ["${workspaceFolder}/path/to/mcp_server.py"],
"env": {
"MCP_API_TOKEN": "your-secret-token"
}
}
}
3. Uso con VS Code Copilot
Una vez configurado, Copilot puede descubrir y usar el ejecutor de shell a través de MCP:
@shell-executor execute ls -la
@shell-executor execute git status
@shell-executor execute cargo build
Pruebas manuales
Inicia el servidor:
python src/mcp_server.py
Envía solicitudes de prueba:
- Inicializar:
{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}
- Listar herramientas:
{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}
- Ejecutar comando:
{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "execute_command", "arguments": {"command": "echo", "args": ["Hello World"]}}}
Comandos compatibles
Sistema de archivos
ls,cat,head,tail,find,tree,wc,du,dffile,stat,pwd
Procesamiento de texto
grep,sed,awk,sort,uniq,cut,tr
Desarrollo
git,npm,yarn,pip,python,node,cargo,makerustc,go,java,javac
Información del sistema
ps,uptime,whoami,id,uname,which
Red
curl,wget,ping,dig,nslookup
Archivos
tar,zip,unzip,gzip,gunzip
Utilidades
echo,date,cal,bc,expr,basename,dirname- Herramientas de hash:
md5,sha256sum,shasum
Seguridad
- Los comandos se filtran a través de una lista blanca
- Tiempo de espera de ejecución de 30 segundos
- No se permiten operaciones destructivas (rm, mv, cp)
- No se permite la escalada de privilegios (sudo, su)
- Las variables de entorno se pueden controlar
Configuración
Establece variables de entorno:
MCP_API_TOKEN: Token de autenticación (por defecto: "MYSECRET")
Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles.