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
| Plataforma | Status | Ferramentas |
|---|---|---|
| Unraid | Suporte total | 12 módulos (10 principais + 2 específicos do Unraid) |
| Linux Genérico | Suporte total | 10 módulos principais |
| TrueNAS | Não testado (PRs bem-vindos) | Ferramentas principais devem funcionar |
| Proxmox | Nã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?
| Recurso | APIs | SSH |
|---|---|---|
| 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
- Crie
src/platforms/<platform>/index.tsimplementandoPlatform - Adicione a lógica de detecção
- Crie módulos de ferramentas específicos da plataforma
- 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.