mcp-ssh-sre

Um servidor MCP que fornece ferramentas de monitoramento somente leitura para assistentes de IA. Executa comandos de diagnóstico predefinidos via SSH e passa apenas os resultados para o LLM - suas credenciais do servidor e shell nunca são expostos.

Documentação

MCP SSH SRE

Um servidor MCP que fornece ferramentas de monitoramento somente leitura para assistentes de IA. Executa comandos de diagnóstico predefinidos via SSH e passa apenas os resultados ao LLM - suas credenciais de servidor e shell nunca são expostos.

Início Rápido (Docker)

Imagens pré-construídas disponíveis no Registro de Contêineres do GitHub.

docker run -d \
  -p 3000:3000 \
  -e SSH_HOST=server.local \
  -e SSH_USERNAME=mcp-readonly \
  -e SSH_KEY_PATH=/keys/id_ed25519 \
  -v ~/.ssh/id_ed25519_mcp:/keys/id_ed25519:ro \
  ghcr.io/jeprecated/mcp-ssh-sre:latest

Em seguida, adicione ao seu cliente MCP:

{
  "mcpServers": {
    "ssh-sre": {
      "url": "http://your-server:3000/mcp"
    }
  }
}

Consulte DEPLOYMENT.md para Docker Compose, instalação local, configuração de autenticação e configuração de segurança.

Por Que Usar Isso?

Gerenciar um servidor Linux envolve acessar via SSH, executar comandos, correlacionar logs e interpretar métricas. Este servidor MCP permite que assistentes de IA façam esse trabalho usando linguagem natural.

Pergunte coisas como:

  • "Por que meu contêiner Plex está travando?"
  • "Meu array está saudável e há algum drive mostrando sinais de falha?"
  • "Quais contêineres estão consumindo mais recursos?"
  • "Ajude-me a depurar a conectividade de rede entre meus contêineres nginx e banco de dados"

Em vez de executar manualmente docker logs, smartctl, docker inspect e correlacionar as saídas, seu assistente de IA faz isso em segundos.

Plataformas Suportadas

PlataformaStatusFerramentas
UnraidSuporte total12 módulos (10 principais + 2 específicos do Unraid)
Linux GenéricoSuporte total10 módulos principais
TrueNASNão testado (PRs bem-vindos)Ferramentas principais devem funcionar
ProxmoxNão testado (PRs bem-vindos)Ferramentas principais devem funcionar

O servidor detecta automaticamente sua plataforma na inicialização e carrega as ferramentas apropriadas.

Recursos

  • 12 módulos de ferramentas com mais de 79 ações para gerenciamento abrangente de servidor
  • Transporte duplo - Stdio (local) ou HTTP/SSE (acessível em rede)
  • Somente leitura por design - Risco zero de modificações acidentais
  • Gerenciamento de Docker - Logs, estatísticas, ambiente, portas, topologia de rede
  • Armazenamento e array - Verificações de paridade, dados SMART, temperaturas, logs do mover (Unraid)
  • Diagnósticos de saúde - Status agregado com detecção automática de problemas
  • Monitoramento do sistema - Processos, E/S de disco, conexões de rede
  • Análise de logs - Pesquisa em contêineres e logs do sistema
  • Gerenciamento de VMs - Listar, inspecionar, detalhes de VNC, logs do libvirt
  • Auditoria de segurança - Varredura de portas, monitoramento de logins, auditorias de permissões

Por que SSH em vez de APIs de Plataforma?

RecursoAPIsSSH
Logs de contêineres Docker❌✅
Dados de saúde de disco SMART❌✅
Médias de CPU/carga em tempo real❌✅
Monitoramento de largura de banda de rede❌✅
Monitoramento de processos (ps/top)❌✅
Análise de arquivos de log❌✅

O SSH fornece acesso irrestrito às ferramentas do sistema sem limites de taxa de API.

Arquitetura

src/
├── platforms/
│   ├── linux/        # Generic Linux (baseline)
│   └── unraid/       # Unraid-specific tools
├── tools/core/       # 10 core tool modules
├── index.ts          # Stdio transport
└── http-server.ts    # HTTP transport

Adicionando Novas Plataformas

  1. Crie src/platforms/<platform>/index.ts implementando Platform
  2. Adicione a lógica de detecção
  3. Crie módulos de ferramentas específicos da plataforma
  4. Registre em src/platforms/index.ts

Desenvolvimento

npm run dev      # Development with auto-reload
npm test         # Run tests
npm run build    # Build for production

Licença

ISC

Suporte

Para problemas e perguntas, abra uma issue no repositório do GitHub.