Shell MCP Server

Executa comandos shell seguros com validação configurável de diretório, shell e tempo limite.

Documentação

🖥️ Shell MCP Server

PyPI version License: MIT Python Code style: black

🚀 Adicione capacidades seguras de execução de comandos shell às suas aplicações de IA com o Shell MCP Server! Construído para o Model Context Protocol.

Shell Server MCP server

✨ Recursos

  • 🔒 Execução Segura - Comandos executam apenas em diretórios especificados
  • 🐚 Múltiplos Shells - Suporte para bash, sh, cmd, powershell
  • ⏱️ Controle de Timeout - Terminação automática de comandos de longa duração
  • 🌍 Multiplataforma - Funciona em sistemas Unix e Windows
  • 🛡️ Seguro por Padrão - Validação integrada de diretório e shell

🚀 Início Rápido

Instalação

# Using pip
pip install shell-mcp-server

# Using uv (recommended)
uv pip install shell-mcp-server

🔌 Integração com Claude Desktop

Adicione isto à sua configuração do Claude Desktop para habilitar a execução de comandos shell:

📝 Clique para ver a configuração
{
    "mcpServers": {
        "shell-mcp-server": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/shell-mcp-server",
                "run",
                "shell-mcp-server",
                "/path/to/allowed/dir1",
                "/path/to/allowed/dir2",
                "--shell", "bash", "/bin/bash",
                "--shell", "zsh", "/bin/zsh"
            ]
        }
    }
}

🎮 Exemplos de Uso

Operações Básicas de Arquivos

# List directory contents
result = execute_command(
    command="ls -la",
    shell="bash",
    cwd="/path/to/project"
)

# Find files by pattern
result = execute_command(
    command="find . -name '*.py'",
    shell="bash",
    cwd="/path/to/project"
)

Gerenciamento de Projetos

# Git operations
result = execute_command(
    command="git status && git diff",
    shell="bash",
    cwd="/path/to/repo"
)

# Package management
result = execute_command(
    command="pip list --outdated",
    shell="bash",
    cwd="/path/to/python/project"
)

Informações do Sistema

# Resource usage
result = execute_command(
    command="df -h && free -h",
    shell="bash",
    cwd="/path/to/dir"
)

# Process monitoring
result = execute_command(
    command="ps aux | grep python",
    shell="bash",
    cwd="/path/to/dir"
)

Processamento de Arquivos

# Search file content
result = execute_command(
    command="grep -r 'TODO' .",
    shell="bash",
    cwd="/path/to/project"
)

# File manipulation
result = execute_command(
    command="awk '{print $1}' data.csv | sort | uniq -c",
    shell="bash",
    cwd="/path/to/data"
)

Exemplos Específicos para Windows

# List processes
result = execute_command(
    command="Get-Process | Where-Object {$_.CPU -gt 10}",
    shell="powershell",
    cwd="C:\\path\\to\\dir"
)

# System information
result = execute_command(
    command="systeminfo | findstr /B /C:'OS'",
    shell="cmd",
    cwd="C:\\path\\to\\dir"
)

⚙️ Configuração

Configure o comportamento com argumentos de linha de comando:

ArgumentoDescrição
directories📁 Lista de diretórios permitidos
--shell name path🐚 Especificações de shell (nome e caminho)

Variáveis de ambiente:

  • COMMAND_TIMEOUT: ⏱️ Tempo máximo de execução em segundos (padrão: 30)

🛡️ Recursos de Segurança

  • 🔐 Isolamento de Diretório: Comandos só podem ser executados em diretórios especificados
  • 🔒 Controle de Shell: Apenas shells configurados são permitidos
  • ⏰ Proteção contra Timeout: Todos os comandos têm um timeout configurável
  • 🛑 Validação de Caminho: A validação do diretório de trabalho previne ataques de traversal
  • 👤 Isolamento de Permissões: Comandos executam com as mesmas permissões do processo do servidor

🛠️ Desenvolvimento

Configure seu ambiente de desenvolvimento:

# Create and activate virtual environment
uv venv
source .venv/bin/activate

# Install development dependencies
uv pip install -e ".[test]"

# Run tests
python -m pytest

# Run tests with coverage
python -m pytest --cov=shell_mcp_server

🤝 Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para:

  • 🐛 Reportar bugs
  • 💡 Sugerir recursos
  • 🔧 Enviar pull requests
  • 📚 Melhorar a documentação

📜 Licença

Licença MIT - veja LICENSE para detalhes.


🌟 Aprimore Sua IA com Acesso Seguro ao Shell! 🌟

Construído para o Model Context Protocol | Feito com ❤️ pela Comunidade MCP

🎉 Dê uma estrela no GitHub!
Se você achar esta ferramenta útil, considere dar uma estrela! Isso ajuda outras pessoas a descobrirem o projeto.