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.