Shell Executor
Execute comandos shell com segurança em um servidor remoto.
GitHubExperimente este MCPPatrocinado
Documentação
Servidor MCP Shell Executor
Um servidor Model Context Protocol (MCP) que fornece capacidades seguras de execução de comandos shell para agentes de IA e ferramentas como o VS Code Copilot.
Recursos
- Execução Segura de Comandos: Filtragem de comandos baseada em lista de permissões
- Conjunto Abrangente de Ferramentas: Suporte para operações de arquivos, processamento de texto, ferramentas de desenvolvimento e utilitários do sistema
- Compatível com MCP: Suporte completo ao Model Context Protocol
- Integração Fácil: Interface JSON-RPC simples via stdio
Instalação
Opção 1: Uso Direto
git clone https://github.com/yourusername/shell-executor-mcp.git
cd shell-executor-mcp
pip install -e .
Opção 2: Instalar a partir do PyPI (quando publicado)
pip install shell-executor-mcp
Integração com VS Code
1. Configuração Global
Adicione ao seu settings.json do VS Code ou à configuração do MCP:
{
"mcpServers": {
"shell-executor": {
"command": "python",
"args": ["/path/to/shell-executor-mcp/src/mcp_server.py"],
"env": {
"MCP_API_TOKEN": "your-secret-token"
}
}
}
}
2. Configuração do Workspace
Crie .vscode/mcp_servers.json no seu workspace:
{
"shell-executor": {
"command": "python",
"args": ["${workspaceFolder}/path/to/mcp_server.py"],
"env": {
"MCP_API_TOKEN": "your-secret-token"
}
}
}
3. Usando com o VS Code Copilot
Uma vez configurado, o Copilot pode descobrir e usar o executor de shell através do MCP:
@shell-executor execute ls -la
@shell-executor execute git status
@shell-executor execute cargo build
Testes Manuais
Inicie o servidor:
python src/mcp_server.py
Envie solicitações de teste:
- Inicializar:
{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}
- Listar ferramentas:
{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}
- Executar comando:
{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "execute_command", "arguments": {"command": "echo", "args": ["Hello World"]}}}
Comandos Suportados
Sistema de Arquivos
ls,cat,head,tail,find,tree,wc,du,dffile,stat,pwd
Processamento de Texto
grep,sed,awk,sort,uniq,cut,tr
Desenvolvimento
git,npm,yarn,pip,python,node,cargo,makerustc,go,java,javac
Informações do Sistema
ps,uptime,whoami,id,uname,which
Rede
curl,wget,ping,dig,nslookup
Arquivos Compactados
tar,zip,unzip,gzip,gunzip
Utilitários
echo,date,cal,bc,expr,basename,dirname- Ferramentas de hash:
md5,sha256sum,shasum
Segurança
- Os comandos são filtrados através de uma lista de permissões
- Tempo limite de execução de 30 segundos
- Nenhuma operação destrutiva (rm, mv, cp) é permitida
- Nenhuma elevação de privilégio (sudo, su) é permitida
- As variáveis de ambiente podem ser controladas
Configuração
Defina as variáveis de ambiente:
MCP_API_TOKEN: Token de autenticação (padrão: "MYSECRET")
Licença
Licença MIT - consulte o arquivo LICENSE para obter detalhes.