DevSkillsIT/Skills-MCP-Veeam-Backup-Pro
If you are the rightful owner of Skills-MCP-Veeam-Backup-Pro and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Veeam VBR MCP Server - Hybrid Edition is a versatile server that supports both traditional MCP and HTTP/OpenAPI modes, providing seamless integration for backup and replication tasks.
🔵 Veeam Backup & Replication MCP Server
Hybrid MCP Architecture for Veeam VBR
Conecte IA ao Veeam Backup & Replication através de Protocolo MCP Moderno
Made with ❤️ by Skills IT - Soluções em TI - BRAZIL 🇧🇷
📑 Índice
- Visão Geral
- Por Que Arquitetura Híbrida?
- Comparação: Hybrid vs MCPO
- Principais Recursos
- Arquitetura
- Instalação
- Configuração
- Modo de Uso
- Ferramentas Disponíveis
- Integração com IDEs
- Exemplos Práticos
- Segurança
- Contribuindo
- Licença
- Créditos
- Suporte
🎯 Visão Geral
O Veeam Backup & Replication MCP Server é uma implementação completa do Model Context Protocol (MCP) HTTP Streamable (2024-11-05) que permite que assistentes de IA (Claude Code, Gemini CLI, Claude Desktop) interajam diretamente com sua infraestrutura de backup Veeam VBR através de linguagem natural, com autenticação Bearer Token e gerenciamento de sessões.
O Que É MCP?
Model Context Protocol (MCP) é um protocolo aberto que permite que modelos de IA acessem dados contextuais e executem ações em sistemas externos de forma estruturada e segura.
O Que Este MCP Faz?
Permite que você faça perguntas e execute ações no Veeam VBR usando linguagem natural:
Monitoramento e Consultas:
- ✅ "Mostre todos os jobs de backup que falharam hoje"
- ✅ "Qual o status atual dos repositórios de backup?"
- ✅ "Liste os últimos 5 backups do servidor SQL-PROD"
- ✅ "Quantas licenças Veeam tenho disponíveis?"
- ✅ "Me mostre informações detalhadas do job 'VM-Production-Backup'"
Controle e Troubleshooting:
- ✅ "Quais backups estão rodando agora?"
- ✅ "Me mostre os restore points disponíveis para a VM 'SQL-SERVER-01'"
- ✅ "Liste os jobs de backup copy configurados para compliance 3-2-1"
- ✅ "Qual o próximo agendamento do job 'Daily-Full-Backup'?"
- ✅ "Me mostre os logs detalhados da última sessão de backup do job 'Exchange-Backup'"
Tudo isso sem sair do chat da IA!
💼 Precisa de Ajuda com Veeam Backup ou IA?
A Skills IT - Soluções em Tecnologia é especialista em infraestrutura de TI e domina profundamente Veeam Backup & Replication. Nossa equipe possui expertise em Inteligência Artificial e Model Context Protocol (MCP), oferecendo soluções completas para automação e integração de sistemas.
Nossos Serviços:
- ✅ Consultoria e implementação Veeam Backup & Replication
- ✅ Desenvolvimento de MCPs customizados para sua infraestrutura
- ✅ Integração de IA com sistemas corporativos
- ✅ Automação de processos de backup e recuperação
- ✅ Treinamento e suporte especializado
📞 WhatsApp/Telefone: (63) 3224-4925 - Brasil 🌐 Website: skillsit.com.br 📧 Email: contato@skillsit.com.br
"Transformando infraestrutura em inteligência"
🏗️ Por Que Arquitetura Híbrida?
Este não é apenas mais um MCP Server. É uma arquitetura híbrida única que resolve um problema real:
❌ Problema Comum
Servidores MCP tradicionais funcionam apenas com clientes MCP nativos (como Claude Desktop via stdio). Para usar com outras ferramentas (Copilot Studio, APIs web), você precisa:
- Instalar um proxy externo (como MCPO)
- Configurar roteamento entre proxy e MCP
- Gerenciar dois serviços separados
- Debugar duas camadas de comunicação
✅ Solução Híbrida
Nosso servidor executa dois protocolos simultaneamente em um único processo:
- Modo MCP (stdio): Para Claude Desktop, Claude Code
- Modo HTTP (REST): Para Copilot Studio, Gemini CLI, APIs web
- Modo Híbrido: Ambos ao mesmo tempo (recomendado)
Resultado: Um servidor, uma configuração, zero dependências externas.
📊 Comparação: Hybrid vs MCPO
| Característica | Hybrid (Este Projeto) | MCPO (Proxy Externo) | MCP Tradicional |
|---|---|---|---|
| Arquitetura | MCP + HTTP integrados | MCP → Proxy → HTTP | Apenas MCP (stdio) |
| Deployment | ✅ Único serviço | ⚠️ Dois serviços | ✅ Único serviço |
| Performance | ✅ Zero overhead | ⚠️ Hop adicional | ✅ Direto |
| Complexidade | ✅ Simples | ⚠️ Complexo | ✅ Simples |
| Claude Desktop | ✅ Suportado | ✅ Suportado | ✅ Suportado |
| Copilot Studio | ✅ Suportado | ✅ Suportado | ❌ Não suportado |
| APIs Web/Custom | ✅ Suportado | ✅ Suportado | ❌ Não suportado |
| Swagger UI | ✅ Incluído | ⚠️ Depende do proxy | ❌ Não disponível |
| Manutenção | ✅ Um codebase | ⚠️ Dois codebases | ✅ Um codebase |
| Logs | ✅ Centralizados | ⚠️ Dois streams | ✅ Centralizados |
| Autenticação | ✅ Automática | ⚠️ Manual | ⚠️ Manual |
Conclusão: A arquitetura híbrida oferece a melhor relação custo-benefício para ambientes que precisam de compatibilidade universal.
🚀 Principais Recursos
🔄 Arquitetura Híbrida Única
- Modo MCP (stdio): Compatível com Claude Desktop e clientes MCP nativos
- Modo HTTP (REST): Compatível com Copilot Studio, Gemini CLI, APIs web
- Modo Híbrido: Execute ambos simultaneamente (recomendado)
- Zero Dependências Externas: Sem necessidade de MCPO ou proxies
🛠️ 16 Ferramentas Veeam Abrangentes
| Categoria | Ferramenta | Descrição | Método | Destrutivo | Tipo |
|---|---|---|---|---|---|
| Jobs | get-backup-jobs | Lista todos os jobs de backup configurados (busca semântica) | GET | Não | Leitura |
| Jobs | get-backup-copy-jobs | Lista Backup Copy jobs (3-2-1 compliance) | GET | Não | Leitura |
| Jobs | get-job-details | Informações detalhadas de job específico | GET | Não | Leitura |
| Jobs | get-job-schedule | Detalhes de scheduling de um job | GET | Não | Leitura |
| Sessões | get-backup-sessions | Histórico de execuções de backup | GET | Não | Leitura |
| Sessões | get-running-sessions | Lista TODAS as sessions em execução (backup jobs + system tasks) | GET | Não | Leitura |
| Sessões | get-running-backup-jobs | Lista APENAS backup jobs em execução (exclui system tasks) | GET | Não | Leitura |
| Sessões | get-failed-sessions | Lista sessions que falharam (troubleshooting) | GET | Não | Leitura |
| Sessões | get-session-log | Logs detalhados de uma session | GET | Não | Leitura |
| Restore | get-restore-points | Lista restore points de uma VM (busca semântica) | GET | Não | Leitura |
| Infraestrutura | get-backup-proxies | Status dos servidores proxy | GET | Não | Leitura |
| Armazenamento | get-backup-repositories | Informações de repositórios | GET | Não | Leitura |
| Licenciamento | get-license-info | Detalhes da licença Veeam | GET | Não | Leitura |
| Servidor | get-server-info | Informações do servidor VBR | GET | Não | Leitura |
| Controle | start-backup-job | Inicia job de backup sob demanda | POST | Sim | Escrita (Safety Guard) |
| Controle | stop-backup-job | Para job de backup em execução | POST | Sim | Escrita (Safety Guard) |
Safety Guard: Ferramentas de escrita requerem confirmationToken e reason para execução segura.
🔍 Busca Semântica: Ferramentas get-backup-jobs e get-restore-points suportam busca semântica inteligente (multi-palavra, normalização de acentos, busca parcial).
🔒 Autenticação Automática Inteligente
- Middleware Transparente: Autenticação automática com credenciais do
.env - Token Caching: Cache de token por 55 minutos (evita re-autenticações)
- Promise Memoization: Previne race conditions em chamadas concorrentes
- Zero Configuração: Ferramentas não precisam gerenciar autenticação
📚 Documentação Interativa
- Swagger UI: Documentação interativa em
/docs - OpenAPI 3.0: Especificação completa em
/openapi.json - Health Check: Endpoint
/healthcom status de autenticação - Exemplos de Código: Snippets prontos para uso
🔧 Operação Flexível
- Protocolo MCP HTTP Streamable (2024-11-05): Compatível com Claude Code e Gemini CLI
- Autenticação Bearer Token: Segurança integrada via header Authorization
- Session Management: Gerenciamento de sessões com UUID e timeout de 15 minutos
- PM2 Ready: Gerenciamento de processo em produção
- Docker Support: Containerização completa com docker-compose
- Environment Variables: Configuração via
.env
🏛️ Arquitetura
Diagrama de Arquitetura
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude Desktop │ │ Copilot Studio │ │ Gemini CLI │
│ (MCP Client) │ │ (OpenAPI Client) │ │ (HTTP Client) │
└────────┬────────┘ └─────────┬────────┘ └────────┬────────┘
│ │ │
│ stdio │ HTTP │ HTTP
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────┐
│ Veeam Backup & Replication MCP Server │
│ (Hybrid Architecture) │
│ │
│ ┌─────────────────┐ ┌─────────────────────────────────┐ │
│ │ MCP Mode │ │ HTTP/OpenAPI Mode │ │
│ │ (stdio) │ │ (Express.js) │ │
│ │ │ │ │ │
│ │ • McpServer │ │ • REST Endpoints │ │
│ │ • Tool Registry │ │ • Swagger UI (/docs) │ │
│ │ • stdio Transport│ │ • OpenAPI 3.0 (/openapi.json) │ │
│ └─────────────────┘ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Autenticação Automática (Middleware) │ │
│ │ • Token Cache (55 min) │ │
│ │ • Promise Memoization │ │
│ │ • Refresh Automático │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 18 Ferramentas Compartilhadas │ │
│ │ Jobs | Control | Sessions | Restore | Infra | License │ │
│ └─────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
│ HTTPS (Port 9419)
▼
┌─────────────────────────────────────────────────────────────────┐
│ Veeam Backup & Replication Server (VBR) │
│ REST API v1.2-rev0 │
│ │
│ • Jobs de Backup • Repositórios │
│ • Sessões de Backup • Licenciamento │
│ • Servidores Proxy • Configurações │
└─────────────────────────────────────────────────────────────────┘
Fluxo de Execução
- Cliente envia requisição (stdio ou HTTP)
- Middleware autentica automaticamente com Veeam (cache de token)
- Tool Handler executa lógica de negócio
- Veeam API processa requisição e retorna dados
- Resposta formatada retorna ao cliente
📦 Instalação
Pré-requisitos
- Node.js 20+ (LTS recomendado)
- Veeam Backup & Replication 12+ com REST API habilitado
- Credenciais Veeam com permissões de leitura
- Acesso de rede ao servidor Veeam (porta 9419)
Método 1: NPM Install (Recomendado)
# Clone o repositório
git clone https://github.com/DevSkillsIT/Skills-MCP-Veeam-Backup-Pro.git
cd Skills-MCP-Veeam-Backup-Pro
# Instale dependências
npm install
# Configure variáveis de ambiente
cp env.example .env
nano .env
# Inicie o servidor (modo híbrido)
npm start
Método 2: Docker
# Clone o repositório
git clone https://github.com/DevSkillsIT/Skills-MCP-Veeam-Backup-Pro.git
cd Skills-MCP-Veeam-Backup-Pro
# Configure variáveis de ambiente
cp env.example .env
nano .env
# Inicie com Docker Compose
docker-compose up -d
# Verifique logs
docker-compose logs -f
Método 3: PM2 (Produção)
# Instale PM2 globalmente
npm install -g pm2
# Inicie o servidor com PM2
pm2 start vbr-mcp-server.js --name mcp-veeam -- --port=8825
# Salve configuração PM2
pm2 save
# Configure PM2 para iniciar no boot
pm2 startup
⚙️ Configuração
Variáveis de Ambiente (.env)
Copie env.example para .env e configure:
| Variável | Obrigatório | Descrição | Exemplo |
|---|---|---|---|
VEEAM_HOST | ✅ Sim | Hostname ou IP do servidor Veeam | veeam.empresa.com |
VEEAM_PORT | ⚠️ Opcional | Porta da API REST (padrão: 9419) | 9419 |
VEEAM_API_VERSION | ⚠️ Opcional | Versão da API (padrão: 1.2-rev0) | 1.2-rev0 |
VEEAM_USERNAME | ✅ Sim | Usuário Veeam (formato: .\\usuário para local) | .\\admin |
VEEAM_PASSWORD | ✅ Sim | Senha do usuário Veeam | SenhaSegura123! |
VEEAM_IGNORE_SSL | ⚠️ Opcional | Ignorar erros SSL (padrão: true) | true |
HTTP_PORT | ⚠️ Opcional | Porta do servidor HTTP (padrão: 8825) | 8825 |
AUTH_TOKEN | ✅ Sim | Token de autenticação Bearer para MCP | bf2571ca23445da... |
NODE_ENV | ⚠️ Opcional | Ambiente de execução | production |
Exemplo de Arquivo .env
# Veeam Server Configuration
VEEAM_HOST=veeam-prod.skillsit.local
VEEAM_PORT=9419
VEEAM_API_VERSION=1.2-rev0
# Authentication (Local User)
VEEAM_USERNAME=.\\veeam-admin
VEEAM_PASSWORD=SuperSecureP@ssw0rd2024
# Authentication (Domain User - Alternative)
# VEEAM_USERNAME=DOMAIN\\administrator
# VEEAM_PASSWORD=SuperSecureP@ssw0rd2024
# SSL Configuration
VEEAM_IGNORE_SSL=true
# Server Configuration
HTTP_PORT=8825
NODE_ENV=production
# MCP HTTP Streamable Authentication
AUTH_TOKEN=bf2571ca23445da17a8415e1c8344db6e311adca2bd55d8b544723ad65f604b9
Boas Práticas de Segurança
- NUNCA commite o arquivo
.envao repositório Git - Use contas de serviço com permissões mínimas necessárias (read-only)
- Rotacione senhas regularmente (a cada 90 dias)
- Habilite SSL/TLS em produção (
VEEAM_IGNORE_SSL=false) - Restrinja acesso à porta HTTP via firewall (apenas IPs confiáveis)
- Use autenticação de domínio quando possível (mais seguro que usuário local)
🎮 Modo de Uso
3 Modos de Operação
Modo 1: Híbrido (Recomendado) ⭐
Execute ambos os protocolos simultaneamente:
# Via NPM
npm start
# Via Node.js
node vbr-mcp-server.js
# Via PM2
pm2 start vbr-mcp-server.js --name mcp-veeam -- --port=8825
Use quando:
- Você precisa de Claude Desktop E Copilot Studio
- Quer máxima flexibilidade
- Está em ambiente de produção
Modo 2: MCP-Only (stdio)
Execute apenas o protocolo MCP:
# Via NPM
npm run start:mcp
# Via Node.js
node vbr-mcp-server.js --mcp
# Via PM2
pm2 start vbr-mcp-server.js --name mcp-veeam-stdio -- --mcp
Use quando:
- Você usa apenas Claude Desktop ou Claude Code
- Não precisa de acesso HTTP/API
- Quer mínimo de overhead de rede
Modo 3: HTTP-Only (REST)
Execute apenas o servidor HTTP:
# Via NPM (porta padrão 8825)
npm run start:http
# Via Node.js (porta customizada)
node vbr-mcp-server.js --http --port=8825
# Via PM2
pm2 start vbr-mcp-server.js --name mcp-veeam-http -- --http --port=8825
Use quando:
- Você usa apenas Copilot Studio ou Gemini CLI
- Precisa de acesso via API REST
- Quer documentação Swagger UI
🛠️ Ferramentas Disponíveis
Descrições detalhadas das 16 ferramentas MCP com exemplos práticos, parâmetros e casos de uso reais.
1. get-backup-jobs - Listar Jobs de Backup
Lista todos os jobs de backup configurados no Veeam VBR com informações detalhadas sobre configuração, agendamento e última execução.
Descrição Completa: Retorna lista completa de jobs de backup (ativos, desabilitados, em manutenção). Essencial para dashboards de monitoramento, validação de políticas de backup e auditoria de compliance.
Parâmetros:
nameFilter(opcional): Busca semântica no nome do job (multi-palavra, acentos, parcial)descriptionFilter(opcional): Busca semântica na descrição (suporta nomes de clientes MSP)
Retorno JSON:
id: UUID do job (formato URN)name: Nome descritivo do jobtype: Tipo (Backup, BackupCopy, Replica)jobType: Subtipo (Incremental, Full, Differential)isEnabled: Se o job está habilitadoscheduleEnabled: Se agendamento está ativonextRun: Próxima execução (ISO 8601)lastResult: Resultado (Success, Warning, Failed)lastRunTime: Última execução (timestamp)targetRepository: Repositório de destino
Casos de Uso:
- Dashboard de monitoramento geral
- Auditoria de compliance (validar cobertura)
- Planejamento de janelas de manutenção
- Troubleshooting de jobs falhando
- Relatórios executivos de cobertura
Uso em Linguagem Natural:
- "Mostre todos os jobs de backup configurados"
- "Liste jobs desabilitados"
- "Quais jobs rodam hoje à noite?"
- "Jobs que fazem backup do SQL-PROD"
- "Jobs com status Failed na última execução"
- 🔍 Busca semântica: "Jobs do cliente Gráfica" (encontra "Gráfica" mesmo sem acento)
- 🔍 Multi-palavra: "SK VCENTER" (busca "SK" e "VCENTER" separadamente)
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-backup-jobs","arguments":{}},
"id":1
}'
2. get-backup-copy-jobs - Jobs de Backup Copy (3-2-1 Compliance)
Lista jobs de Backup Copy configurados para compliance com regra 3-2-1 (3 cópias, 2 mídias diferentes, 1 offsite).
Descrição Completa: Backup Copy jobs replicam backups existentes para repositório secundário. Crítico para disaster recovery e compliance regulatório.
Parâmetros:
- Nenhum
Retorno JSON:
id: UUID do jobname: Nome do job copysource: Job de origemtargetRepository: Repositório secundárioscheduleType: Tipo de agendamentoretentionPolicy: Política de retençãoisEnabled: Status ativo/inativo
Casos de Uso:
- Validar compliance 3-2-1
- Verificar replicação offsite
- Auditoria SOX/HIPAA
- Planejamento de DR
- Otimização de custos de storage
Uso em Linguagem Natural:
- "Liste jobs de backup copy"
- "Quais backups estão sendo replicados offsite?"
- "Jobs copy para compliance 3-2-1"
- "Backup copy com falhas"
- "Repositórios secundários em uso"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-backup-copy-jobs","arguments":{}},
"id":1
}'
3. get-job-details - Detalhes Completos de Job Específico
Obtém informações detalhadas de um job incluindo configuração, objetos protegidos, últimas sessões e agendamento.
Descrição Completa: Fornece visão completa de um job específico. Útil para troubleshooting, análise de performance e validação de configuração.
Parâmetros:
jobId: UUID do job (obrigatório)
Retorno JSON:
- Configuração completa do job
- Últimas 10 sessões de execução
- Lista de VMs/objetos protegidos
- Configuração de agendamento
- Repositório alvo
- Política de retenção
- Statistics (taxa de sucesso, duração média)
Casos de Uso:
- Troubleshooting de job específico
- Análise de performance
- Validação de objetos protegidos
- Auditoria de configuração
- Relatórios de SLA
Uso em Linguagem Natural:
- "Detalhes do job SQL-Backup-Daily"
- "Configuração completa do VM-Production"
- "Últimas execuções do Exchange-Backup"
- "Quais VMs estão no job Prod-Servers?"
- "Taxa de sucesso do job File-Server-Backup"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-job-details","arguments":{"jobId":"urn:veeam:Job:..."}},
"id":1
}'
4. get-job-schedule - Agendamento de Job
Retorna detalhes do agendamento configurado para um job específico.
Descrição Completa: Mostra quando e como um job está agendado para executar (diário, semanal, contínuo).
Parâmetros:
jobId: UUID do job
Retorno JSON:
scheduleType: Tipo (Daily, Weekly, Monthly, Continuous)startTime: Hora de iníciodaysOfWeek: Dias da semanaretrySettings: Configuração de retrynextRun: Próxima execução
Casos de Uso:
- Planejamento de janelas de manutenção
- Otimização de horários
- Validação de SLA
- Resolução de conflitos de agenda
- Auditoria de compliance temporal
Uso em Linguagem Natural:
- "Quando roda o job SQL-Daily?"
- "Agendamento do VM-Production"
- "Próxima execução do Exchange-Backup"
- "Jobs que rodam às 22h"
- "Configuração de retry do FileServer-Backup"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-job-schedule","arguments":{"jobId":"urn:veeam:Job:..."}},
"id":1
}'
5. get-backup-sessions - Histórico de Execuções de Backup
Obtém histórico de sessões de backup (execuções passadas) com filtros por job, período ou status.
Descrição Completa: Retorna lista de sessões executadas com status, duração, dados processados e resultado.
Parâmetros:
jobId: Filtrar por job (opcional)limit: Máximo de sessões (padrão: 100)stateFilter: Filtrar por estadoresultFilter: Filtrar por resultado
Retorno JSON:
sessionId: UUID da sessãojobName: Nome do jobstate: Estado (Working, Stopped, Failed)result: Resultado (Success, Warning, Failed)startTime: Início (ISO 8601)endTime: Fimduration: Duração totalprocessedSize: Dados processados (bytes)transferredSize: Dados transferidosavgSpeed: Velocidade média (MB/s)
Casos de Uso:
- Troubleshooting de falhas
- Análise de performance histórica
- Relatórios de SLA
- Validação de janelas de backup
- Otimização de recursos
Uso em Linguagem Natural:
- "Últimos 50 backups executados"
- "Backups que falharam ontem"
- "Histórico do VM-Production-Backup"
- "Sessões com warnings esta semana"
- "Backups mais lentos do mês"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-backup-sessions","arguments":{"limit":50}},
"id":1
}'
6. get-running-sessions - Sessões em Execução (Todas)
Lista TODAS as sessões atualmente em execução (backup jobs + system tasks).
Descrição Completa: Mostra tudo que está rodando no Veeam VBR neste momento, incluindo backups, replicas, copy jobs e tarefas do sistema.
Parâmetros:
- Nenhum
Retorno JSON:
sessionId: UUIDjobName: Nome do jobstate: Estado (Working)progress: Percentual (0-100)currentVm: VM sendo processadastartTime: Início da sessãoestimatedTimeLeft: Tempo restante estimadoprocessedObjects: Objetos já processadostotalObjects: Total de objetos
Casos de Uso:
- Monitoramento em tempo real
- Identificar jobs travados
- Validar progresso de backups
- Otimização de recursos
- Troubleshooting de lentidão
Uso em Linguagem Natural:
- "O que está rodando agora?"
- "Backups em execução"
- "Progresso do job VM-Production"
- "Jobs travados ou lentos"
- "Qual VM está sendo processada no job SQL?"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-running-sessions","arguments":{}},
"id":1
}'
7. get-running-backup-jobs - Backup Jobs em Execução (Filtrado)
Lista APENAS backup jobs em execução, EXCLUINDO system tasks e outros tipos de sessão.
Descrição Completa:
Versão filtrada de get-running-sessions mostrando apenas jobs de backup ativos. Ideal para dashboards focados.
Parâmetros:
- Nenhum
Retorno JSON:
- Mesmo formato de
get-running-sessions - Apenas jobs do tipo Backup
Casos de Uso:
- Dashboard específico de backups
- Alertas de jobs longos
- Validação de janela de backup
- Relatórios operacionais
- Automação condicional
Uso em Linguagem Natural:
- "Quais backups estão rodando?"
- "Jobs de backup ativos agora"
- "Backups em andamento"
- "Jobs de backup há mais de 2 horas"
- "Próximo backup a iniciar"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-running-backup-jobs","arguments":{}},
"id":1
}'
8. get-failed-sessions - Sessões com Falha (Troubleshooting)
Lista sessões que falharam nas últimas X horas. Crítico para troubleshooting e alertas.
Descrição Completa: Ferramenta focada em falhas. Retorna apenas sessões Failed/Warning para análise rápida.
Parâmetros:
hours: Janela temporal (padrão: 24h, máx: 168h)limit: Máximo de resultados
Retorno JSON:
- Sessões com
result: Failed ou Warning errorMessage: Mensagem de errofailedVms: VMs que falharamwarningCount: Quantidade de warningserrorCode: Código do erro Veeam
Casos de Uso:
- Troubleshooting matinal
- Alertas automáticos
- Análise de tendências de falha
- Priorização de correções
- Relatórios de incidentes
Uso em Linguagem Natural:
- "Backups que falharam hoje"
- "Falhas nas últimas 48 horas"
- "Jobs com warnings ontem"
- "Qual erro no job SQL-Backup?"
- "VMs que falharam no último backup"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-failed-sessions","arguments":{"hours":24}},
"id":1
}'
9. get-session-log - Logs Detalhados de Sessão
Retorna logs completos de uma sessão específica para troubleshooting profundo.
Descrição Completa: Extrai logs linha a linha de uma sessão. Essencial para diagnóstico de erros complexos.
Parâmetros:
sessionId: UUID da sessão (obrigatório)logLevel: Filtro (All, Info, Warning, Error) - padrão: All
Retorno JSON:
logs: Array de linhas de logtimestamp: Timestamp de cada linhalevel: Nível (Info, Warning, Error)message: Mensagem do logcomponent: Componente Veeam
Casos de Uso:
- Diagnóstico de erros específicos
- Análise de performance granular
- Suporte técnico Veeam
- Auditoria detalhada
- Troubleshooting avançado
Uso em Linguagem Natural:
- "Logs da última sessão do SQL-Backup"
- "Erros da sessão 123abc"
- "Log completo do backup que falhou ontem"
- "Warnings da sessão mais recente"
- "O que causou o erro no backup do Exchange?"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-session-log","arguments":{"sessionId":"abc-123","logLevel":"Error"}},
"id":1
}'
10. get-restore-points - Restore Points de VM
Lista restore points disponíveis para uma VM específica. Essencial para planejamento de restore.
Descrição Completa: Mostra todos os pontos de restauração de uma VM, incluindo data, tipo e repositório.
Parâmetros:
vmId: ID da VM (opcional)vmName: Nome da VM (opcional, busca semântica multi-palavra e acentos)limit: Máximo de restore points
Retorno JSON:
vmName: Nome da VMrestorePoints: Array de pontoscreationTime: Data de criação (ISO 8601)type: Tipo (Full, Incremental, Differential)repository: Repositório onde estáisConsistent: Se é application-consistentsize: Tamanho do restore point
Casos de Uso:
- Planejamento de restore
- Validação de retenção
- Auditoria de compliance
- Troubleshooting de missing backups
- Relatórios de RPO
Uso em Linguagem Natural:
- "Restore points do SQL-SERVER-01"
- "Backups disponíveis da VM Exchange"
- "Pontos de restauração mais antigos"
- "Restore points full da VM-PROD"
- "Qual o último backup da VM-FILE-01?"
- 🔍 Busca semântica: "Restore points da Grafica" (encontra VM com "Gráfica")
- 🔍 Multi-palavra: "Backups SK SERVER" (busca VMs com "SK" e "SERVER")
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-restore-points","arguments":{"vmName":"SQL-SERVER-01"}},
"id":1
}'
11. get-backup-proxies - Status dos Servidores Proxy
Lista proxies de backup com status de saúde, carga atual e capacidade.
Descrição Completa: Proxies processam dados de backup. Monitorar saúde é crítico para performance.
Parâmetros:
- Nenhum
Retorno JSON:
name: Nome do proxytype: Tipo (VMware, Hyper-V)status: Status (Online, Offline, Maintenance)currentTasks: Tarefas em execuçãomaxTasks: Capacidade máximautilizationPercent: % de utilizaçãohost: Host onde está instalado
Casos de Uso:
- Otimização de performance
- Balanceamento de carga
- Troubleshooting de lentidão
- Planejamento de capacidade
- Monitoramento de saúde
Uso em Linguagem Natural:
- "Status dos proxies de backup"
- "Proxies sobrecarregados"
- "Quantos proxies estão online?"
- "Proxy com mais tarefas"
- "Capacidade disponível nos proxies"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-backup-proxies","arguments":{}},
"id":1
}'
12. get-backup-repositories - Informações de Repositórios de Backup
Lista repositórios com capacidade, espaço livre e alertas de threshold.
Descrição Completa: Repositórios armazenam backups. Monitorar espaço é crítico para evitar falhas.
Parâmetros:
threshold: % de alerta (padrão: 20%)
Retorno JSON:
name: Nome do repositóriotype: Tipo (Windows, Linux, S3, etc.)path: Caminho do storagecapacity: Capacidade total (bytes)freeSpace: Espaço livre (bytes)freePercent: % livrestatus: Status (OK, Warning, Critical)isRotatedDrive: Se é rotated drive
Casos de Uso:
- Alertas de espaço em disco
- Planejamento de expansão
- Otimização de retenção
- Troubleshooting de falhas
- Relatórios de capacidade
Uso em Linguagem Natural:
- "Espaço livre nos repositórios"
- "Repositórios com menos de 10% livre"
- "Capacidade total de storage"
- "Repositório mais cheio"
- "Alertas de espaço em disco"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-backup-repositories","arguments":{"threshold":20}},
"id":1
}'
13. get-license-info - Informações de Licença Veeam
Retorna detalhes da licença Veeam: tipo, validade, capacidade e uso.
Descrição Completa: Monitora licenciamento para evitar expiração e overuse. Crítico para compliance.
Parâmetros:
- Nenhum
Retorno JSON:
licenseType: Tipo (Evaluation, Rental, Perpetual)edition: Edição (Community, Standard, Enterprise, Enterprise Plus)expirationDate: Data de expiraçãostatus: Status (Valid, Expired, Grace Period)licensedInstances: Instâncias licenciadasusedInstances: Instâncias em usosupportExpirationDate: Fim do suporte
Casos de Uso:
- Alertas de expiração
- Planejamento de renovação
- Auditoria de compliance
- Validação de capacidade
- Relatórios executivos
Uso em Linguagem Natural:
- "Status da licença Veeam"
- "Quando expira minha licença?"
- "Quantas instâncias estou usando?"
- "Tenho licenças disponíveis?"
- "Edição da licença Veeam"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-license-info","arguments":{}},
"id":1
}'
14. get-server-info - Informações do Servidor Veeam VBR
Retorna informações do servidor Veeam: versão, hostname, uptime e configuração.
Descrição Completa: Visão geral do servidor Veeam. Útil para troubleshooting e auditoria.
Parâmetros:
- Nenhum
Retorno JSON:
serverName: Nome do servidorversion: Versão Veeam (ex: 12.1.2.172)build: Build numberinstallDate: Data de instalaçãodatabaseType: Tipo de DB (SQL Server)databaseSize: Tamanho do DBcloudConnectEnabled: Cloud Connect ativobackupServerRole: Papel do servidor
Casos de Uso:
- Validação de versão
- Planejamento de upgrade
- Troubleshooting de compatibilidade
- Auditoria de infraestrutura
- Documentação técnica
Uso em Linguagem Natural:
- "Versão do Veeam VBR"
- "Informações do servidor de backup"
- "Quando foi instalado o Veeam?"
- "Tamanho do banco de dados Veeam"
- "Cloud Connect está habilitado?"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{"name":"get-server-info","arguments":{}},
"id":1
}'
15. start-backup-job - Iniciar Job de Backup Sob Demanda 🔐 SAFETY GUARD
Inicia execução manual de job de backup. OPERAÇÃO CRÍTICA protegida por Safety Guard.
Descrição Completa: Dispara backup fora do agendamento. Requer confirmação explícita devido ao impacto em recursos.
⚠️ SAFETY GUARD ATIVO: Esta ferramenta requer:
confirmationToken: Token único de confirmaçãoreason: Justificativa com mínimo 10 caracteres
Parâmetros:
jobId: UUID do job (obrigatório)fullBackup: Forçar full (padrão: false)reason: Justificativa (obrigatório)confirmationToken: Token MCP_SAFETY_TOKEN
Retorno JSON:
sessionId: UUID da sessão iniciadajobName: Nome do jobstartTime: Hora de inícioestimatedDuration: Duração estimada
Casos de Uso:
- Backup emergencial antes de manutenção
- Teste de job recém-configurado
- Backup extra após mudanças críticas
- Recovery de janela perdida
- Validação de troubleshooting
Uso em Linguagem Natural:
- "Inicie backup do SQL-Daily agora"
- "Execute job VM-Production imediatamente"
- "Backup full do Exchange-Backup agora"
- "Dispare backup do FileServer sob demanda"
- "Inicie backup de emergência"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{
"name":"start-backup-job",
"arguments":{
"jobId":"urn:veeam:Job:...",
"fullBackup":false,
"reason":"Backup emergencial antes de upgrade do SQL Server",
"confirmationToken":"seu-token-aqui"
}
},
"id":1
}'
16. stop-backup-job - Parar Job de Backup em Execução 🔐 SAFETY GUARD
Para job de backup em execução. OPERAÇÃO DESTRUTIVA protegida por Safety Guard.
Descrição Completa: Interrompe backup em andamento. Pode causar restore points incompletos. Usar com cautela extrema.
⚠️ SAFETY GUARD ATIVO: Esta ferramenta requer:
confirmationToken: Token único de confirmaçãoreason: Justificativa DETALHADA (mínimo 10 caracteres)
⚠️ AVISO: Parar backup pode resultar em:
- Restore point incompleto/corrompido
- Reprocessamento na próxima execução
- Impacto no RPO
Parâmetros:
jobId: UUID do job (obrigatório)reason: Justificativa detalhada (obrigatório)confirmationToken: Token MCP_SAFETY_TOKEN
Retorno JSON:
sessionId: UUID da sessão paradajobName: Nome do jobstopTime: Hora de paradaprocessedObjects: Objetos já processadosstatus: Status final
Casos de Uso:
- Job travado por mais de X horas
- Impacto em produção (lentidão)
- Manutenção emergencial
- Job iniciado por engano
- Troubleshooting de problemas
Uso em Linguagem Natural:
- "Pare o job SQL-Backup agora"
- "Interrompa backup do VM-Production"
- "Cancele execução do Exchange-Backup"
- "Pare backup travado há 10 horas"
- "Stop do job FileServer por manutenção"
Curl Example:
curl -X POST http://localhost:8825/mcp \
-H 'Authorization: Bearer TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc":"2.0",
"method":"tools/call",
"params":{
"name":"stop-backup-job",
"arguments":{
"jobId":"urn:veeam:Job:...",
"reason":"Job travado há 12 horas causando lentidão no storage",
"confirmationToken":"seu-token-aqui"
}
},
"id":1
}'
🔐 Nota sobre Safety Guard
As ferramentas start-backup-job e stop-backup-job são protegidas por Safety Guard devido ao impacto potencial:
- Requerem confirmação explícita via token
- Justificativa obrigatória com mínimo 10 caracteres
- Logs de auditoria registram quem executou e por quê
- Podem ser desabilitados via
MCP_SAFETY_GUARD=falseno.env(NÃO recomendado em produção)
Como obter o token:
O token está configurado no .env do servidor MCP como MCP_SAFETY_TOKEN.
📋 MCP Prompts
Este MCP oferece 15 prompts profissionais (workflows pré-configurados) que guiam você através de operações complexas de Veeam Backup & Replication usando linguagem natural.
O Que São Prompts MCP? Prompts são templates de conversação reutilizáveis que estruturam tarefas multi-passo em workflows guiados. Em vez de executar uma única ação, prompts orquestram múltiplas ferramentas e fornecem análises contextuais.
Como Usar Prompts:
- Claude Code: Use o comando
/promptseguido do nome do prompt - Claude Desktop: Digite "use prompt [nome]" na conversação
- Gemini CLI: Use o comando
gemini prompt [nome]
Categorias de Prompts
Os prompts estão organizados em duas categorias para diferentes perfis de usuário:
| Categoria | Público-Alvo | Foco | Quantidade |
|---|---|---|---|
| Gestores | Gerentes, Diretores, CIOs | Dashboards executivos, relatórios estratégicos, compliance, custos | 7 prompts |
| Analistas | Técnicos, Admins, DevOps | Troubleshooting, operações práticas, guias de restore | 8 prompts |
🎯 Prompts para Gestores (7)
Prompts focados em visão estratégica, compliance e relatórios executivos.
1. veeam_backup_health_report - Relatório de Saúde Geral do Ambiente
Descrição: Dashboard completo de saúde da infraestrutura de backup com análise de jobs, restore points, repositórios e SLA.
Quando Usar:
- Reuniões de status semanal/mensal
- Relatórios executivos
- Validação de conformidade
- Planejamento de capacidade
Argumentos:
client_filter(opcional): Filtrar por nome do cliente MSPperiod_days(opcional): Janela temporal (padrão: 7 dias)format(opcional):compact(WhatsApp) oudetailed(padrão)
O Que Este Prompt Faz:
- Lista todos os backup jobs e calcula taxa de sucesso geral
- Identifica VMs críticas sem restore points recentes (>24h)
- Verifica espaço disponível em repositórios (<20% = alerta)
- Analisa compliance 3-2-1 via backup copy jobs
- Calcula RPO médio e identifica VMs fora do SLA
- Detecta jobs com falhas recorrentes (>3 falhas/semana)
- Lista licenças próximas de vencimento (<30 dias)
Exemplo de Uso:
Claude, use o prompt veeam_backup_health_report para análise completa do ambiente
Output Esperado:
📊 RELATÓRIO DE SAÚDE - VEEAM BACKUP
Período: Últimos 7 dias
✅ STATUS DOS JOBS:
• Total de jobs: 25
• Taxa de sucesso: 92% (23 ok, 2 com warnings)
• Jobs falhando: Exchange-Backup (erro de rede)
⚠️ RESTORE POINTS CRÍTICOS:
• SQL-PROD-01: Último backup há 36h (SLA: 24h)
• FILE-SERVER-02: Sem restore points há 48h
💾 CAPACIDADE:
• Repositório PROD: 15% livre (1.5 TB) - OK
• Repositório ARCHIVE: 8% livre (400 GB) - ⚠️ CRÍTICO
🔄 COMPLIANCE 3-2-1:
• 18 de 25 jobs com backup copy configurado (72%)
• 7 jobs SEM replicação offsite
2. veeam_failed_jobs_analysis - Análise de Jobs com Falha
Descrição: Investigação profunda de jobs que falharam, agrupando por tipo de erro e fornecendo recomendações.
Quando Usar:
- Troubleshooting matinal (revisar falhas da noite)
- Análise de tendências de falha
- Priorização de correções
- Relatórios de incidentes
Argumentos:
hours(opcional): Janela temporal (padrão: 24h, máx: 168h)group_by_error(opcional): Agrupar por tipo de erro (padrão: true)format(opcional):compactoudetailed
O Que Este Prompt Faz:
- Busca todas as sessões com falha nas últimas X horas
- Agrupa falhas por tipo de erro (rede, disco, timeout, etc.)
- Identifica jobs com falhas recorrentes
- Extrai VMs específicas que falharam em cada job
- Analisa logs de erro para diagnóstico
- Fornece recomendações de correção por tipo de erro
- Calcula impacto no RPO
Exemplo de Uso:
Claude, analise jobs que falharam nas últimas 48 horas usando veeam_failed_jobs_analysis
Output Esperado:
🔍 ANÁLISE DE FALHAS - ÚLTIMAS 48H
📊 RESUMO:
• Total de falhas: 5 jobs
• VMs afetadas: 12
• Impacto no RPO: 3 VMs fora do SLA
🚨 FALHAS POR TIPO:
1️⃣ TIMEOUT DE REDE (3 ocorrências):
Jobs: SQL-Backup, Exchange-Backup, FileServer-Daily
VMs afetadas: SQL-PROD-01, EXCHANGE-01, FILE-01
Recomendação: Verificar latência de rede para storage
2️⃣ DISCO CHEIO (2 ocorrências):
Jobs: VM-Production, Archive-Weekly
Repositório: REPO-PROD (5% livre)
Recomendação: Expandir repositório ou ajustar retenção
3. veeam_capacity_planning - Planejamento de Capacidade
Descrição: Projeção de crescimento de storage e previsão de quando será necessário expandir repositórios.
Quando Usar:
- Planejamento trimestral de orçamento
- Análise de crescimento de dados
- Justificativa de investimento em storage
- Prevenção de falhas por disco cheio
Argumentos:
analysis_period_days(opcional): Período de análise histórica (padrão: 30)projection_days(opcional): Quantos dias projetar no futuro (padrão: 90)alert_threshold_percent(opcional): % de uso para alerta (padrão: 80)
O Que Este Prompt Faz:
- Analisa crescimento de dados nos últimos X dias
- Calcula taxa de crescimento diária média
- Projeta uso futuro dos repositórios
- Identifica data estimada de esgotamento
- Calcula custo de expansão baseado em crescimento
- Fornece recomendações de otimização de retenção
- Sugere repositórios candidatos para arquivamento
Exemplo de Uso:
Claude, faça projeção de capacidade para os próximos 3 meses usando veeam_capacity_planning
Output Esperado:
📈 PLANEJAMENTO DE CAPACIDADE - 90 DIAS
📊 ANÁLISE HISTÓRICA (últimos 30 dias):
• Crescimento médio: 150 GB/dia
• Taxa de crescimento: +4.2% ao mês
🔮 PROJEÇÃO:
REPOSITÓRIO PROD (10 TB total):
• Uso atual: 7.5 TB (75%)
• Projeção em 30 dias: 8.0 TB (80%) ⚠️
• Projeção em 60 dias: 8.5 TB (85%) 🚨
• Projeção em 90 dias: 9.0 TB (90%) ⛔
• Esgotamento estimado: ~110 dias
RECOMENDAÇÕES:
✅ Adicionar 5 TB ao REPO-PROD em até 60 dias
✅ Revisar retenção de jobs antigos (>180 dias)
✅ Considerar compressão adicional
4. veeam_compliance_report - Relatório de Compliance
Descrição: Auditoria de conformidade com políticas de backup (3-2-1, retenção, SLA).
Quando Usar:
- Auditorias SOX/HIPAA/ISO 27001
- Validação de políticas corporativas
- Relatórios de compliance trimestral
- Due diligence em aquisições
Argumentos:
compliance_standard(opcional):3-2-1,sox,hipaa,gdpr(padrão:3-2-1)include_evidence(opcional): Incluir evidências de compliance (padrão: true)
O Que Este Prompt Faz:
- Valida regra 3-2-1 (3 cópias, 2 mídias, 1 offsite)
- Verifica políticas de retenção vs. requisitos regulatórios
- Identifica VMs críticas sem backup adequado
- Valida SLA de RPO/RTO
- Verifica encryption at rest e in transit
- Analisa logs de acesso e modificações
- Gera relatório de conformidade com evidências
Exemplo de Uso:
Claude, gere relatório de compliance 3-2-1 usando veeam_compliance_report
Output Esperado:
📋 RELATÓRIO DE COMPLIANCE - REGRA 3-2-1
✅ CONFORMIDADE GERAL: 72% (18 de 25 jobs)
DETALHES POR REQUISITO:
1️⃣ 3 CÓPIAS DE DADOS:
✅ Conformes: 23 jobs (backup primary + incremental)
⚠️ Não conformes: 2 jobs (apenas 1 cópia)
2️⃣ 2 TIPOS DE MÍDIA:
✅ Conformes: 20 jobs (disco + tape/cloud)
⚠️ Não conformes: 5 jobs (apenas disco)
3️⃣ 1 CÓPIA OFFSITE:
✅ Conformes: 18 jobs (backup copy configurado)
🚨 CRÍTICO: 7 jobs SEM backup copy
• SQL-Daily, Exchange-Weekly, FileServer-Production
• VM-Archive, Domain-Controllers, SharePoint-Backup
• Critical-Apps-Backup
RECOMENDAÇÕES:
🔧 Configurar backup copy jobs para os 7 não conformes
🔧 Validar funcionamento de jobs de tape/cloud
🔧 Implementar immutability para proteção ransomware
5. veeam_sla_dashboard - Dashboard de SLA
Descrição: Métricas de SLA (RPO/RTO) com identificação de VMs fora do objetivo.
Quando Usar:
- Reuniões de revisão de SLA
- Relatórios de disponibilidade mensal
- Validação de contratos com clientes MSP
- Análise de performance operacional
Argumentos:
client_filter(opcional): Filtrar por cliente MSPsla_rpo_hours(opcional): RPO objetivo em horas (padrão: 24)period_days(opcional): Período de análise (padrão: 30)
O Que Este Prompt Faz:
- Calcula RPO real de cada VM (tempo desde último backup)
- Compara com SLA definido
- Identifica VMs fora do SLA
- Calcula percentual de conformidade
- Analisa tendências de degradação
- Identifica jobs com execuções falhando
- Fornece métricas de uptime de backup
Exemplo de Uso:
Claude, mostre dashboard de SLA dos últimos 30 dias usando veeam_sla_dashboard
Output Esperado:
📊 DASHBOARD SLA - ÚLTIMOS 30 DIAS
SLA Objetivo: RPO 24h
✅ CONFORMIDADE GERAL: 94% (47 de 50 VMs)
📈 MÉTRICAS:
• VMs dentro do SLA: 47 (94%)
• VMs fora do SLA: 3 (6%)
• RPO médio: 18h
• Disponibilidade de backup: 99.2%
🚨 VMs FORA DO SLA:
1. SQL-PROD-01
RPO atual: 36h (12h acima do SLA)
Último backup: 2024-12-09 03:00
Causa: Job SQL-Backup falhando há 2 dias
2. EXCHANGE-01
RPO atual: 28h (4h acima do SLA)
Último backup: 2024-12-09 07:00
Causa: Job em manutenção
3. FILE-CRITICAL-02
RPO atual: 48h (24h acima do SLA)
Último backup: 2024-12-08 03:00
Causa: VM removida do job por engano
6. veeam_cost_analysis - Análise de Custos de Backup
Descrição: Análise de custos por cliente, job ou repositório com otimização de investimento.
Quando Usar:
- Planejamento orçamentário
- Análise de custo por cliente MSP
- Otimização de storage
- Justificativa de investimentos
Argumentos:
cost_per_tb_month(opcional): Custo mensal por TB (padrão: 50 USD)group_by(opcional):client,job,repository(padrão:client)include_licensing(opcional): Incluir custos de licença (padrão: true)
O Que Este Prompt Faz:
- Calcula consumo de storage por cliente/job
- Multiplica por custo por TB
- Adiciona custos de licenciamento proporcional
- Identifica clientes/jobs mais caros
- Calcula ROI de otimizações (deduplicação, compressão)
- Fornece recomendações de redução de custos
- Projeta custos futuros baseado em crescimento
Exemplo de Uso:
Claude, analise custos de backup por cliente usando veeam_cost_analysis com custo de $40/TB
Output Esperado:
💰 ANÁLISE DE CUSTOS - POR CLIENTE
CUSTO TOTAL MENSAL: $3,200
(Storage: $2,800 + Licenças: $400)
📊 TOP 5 CLIENTES MAIS CAROS:
1. Cliente ACME Corp
Storage: 25 TB
Custo: $1,000/mês ($40/TB)
Licenças: 50 VMs × $2 = $100/mês
TOTAL: $1,100/mês (34% do total)
2. Cliente Global Industries
Storage: 18 TB
Custo: $720/mês
Licenças: 35 VMs × $2 = $70/mês
TOTAL: $790/mês (25% do total)
💡 OPORTUNIDADES DE OTIMIZAÇÃO:
✅ Deduplicação adicional: -15% storage (~$420/mês)
✅ Arquivamento de backups antigos: -$200/mês
✅ Ajuste de retenção: -$150/mês
ECONOMIA POTENCIAL: $770/mês (24%)
7. veeam_backup_optimization - Recomendações de Otimização
Descrição: Análise de performance e recomendações de otimização de recursos.
Quando Usar:
- Troubleshooting de lentidão
- Planejamento de otimização
- Análise de janelas de backup
- Tuning de performance
Argumentos:
analysis_period_days(opcional): Período de análise (padrão: 7)focus_area(opcional):performance,storage,network,all(padrão:all)
O Que Este Prompt Faz:
- Analisa duração de jobs vs. janela de backup
- Identifica jobs com throughput baixo (<100 MB/s)
- Verifica utilização de proxies (identificar gargalos)
- Analisa compression ratio e deduplication
- Identifica jobs com muitos incrementais (recomendar full)
- Verifica configurações de parallel processing
- Fornece checklist de otimização priorizado
Exemplo de Uso:
Claude, analise performance e sugira otimizações usando veeam_backup_optimization
Output Esperado:
⚡ ANÁLISE DE OTIMIZAÇÃO - PERFORMANCE
🔍 GARGALOS IDENTIFICADOS:
1️⃣ JOBS LENTOS (throughput <100 MB/s):
• SQL-Backup: 45 MB/s (esperado: 200+ MB/s)
Recomendação: Aumentar parallel tasks de 2 para 4
• Exchange-Weekly: 60 MB/s
Recomendação: Adicionar proxy dedicado
2️⃣ PROXIES SOBRECARREGADOS:
• PROXY-01: 95% utilização (8/8 tasks)
Recomendação: Adicionar proxy ou redistribuir jobs
3️⃣ COMPRESSION BAIXA:
• Job VM-Production: ratio 1.2x (esperado: 2x+)
Recomendação: Ajustar compression level para "Optimal"
4️⃣ DEDUPLICATION:
• Repositório PROD: 30% dedupe (potencial: 50%)
Recomendação: Habilitar storage-level deduplication
💡 CHECKLIST DE OTIMIZAÇÃO:
✅ [ALTO IMPACTO] Adicionar 2º proxy (+40% throughput)
✅ [MÉDIO IMPACTO] Ajustar compression settings (+15% storage)
✅ [BAIXO IMPACTO] Redistribuir agendamentos
🔧 Prompts para Analistas (8)
Prompts focados em operações práticas, troubleshooting e execução técnica.
1. veeam_quick_restore_guide - Guia Rápido de Restore de VM
Descrição: Workflow passo-a-passo para restaurar uma VM específica.
Quando Usar:
- Restore de VM em situação de emergência
- Treinamento de novos técnicos
- Validação de restore points antes de restore
- Teste de DR (Disaster Recovery)
Argumentos:
vm_name(obrigatório): Nome da VM a restaurar (busca semântica)restore_type(opcional):full_vm,files,application_items(padrão:full_vm)target_location(opcional):original,alternate(padrão:original)
O Que Este Prompt Faz:
- Busca restore points disponíveis para a VM (com busca semântica multi-palavra)
- Valida se restore points estão íntegros
- Mostra informações de cada restore point (data, tipo, tamanho)
- Fornece passo-a-passo de restore via Veeam Console
- Lista pré-requisitos (espaço em disco, recursos de vSphere)
- Alerta sobre impactos (downtime, IP duplicado, etc.)
- Fornece checklist pós-restore
Exemplo de Uso:
Claude, preciso restaurar a VM SQL-SERVER-01 usando veeam_quick_restore_guide
Output Esperado:
🔄 GUIA DE RESTORE - SQL-SERVER-01
📦 RESTORE POINTS DISPONÍVEIS:
1. 2024-12-09 23:00 (Full Backup) - 250 GB
Tipo: Application-consistent
Repositório: REPO-PROD
Status: ✅ Íntegro
2. 2024-12-09 03:00 (Incremental) - 45 GB
Tipo: Crash-consistent
Repositório: REPO-PROD
Status: ✅ Íntegro
📋 PASSO-A-PASSO RESTORE:
PREPARAÇÃO:
✅ Confirmar espaço no datastore (250 GB necessários)
✅ Verificar licenças vSphere disponíveis
✅ Desligar VM original (se existir)
EXECUÇÃO:
1. Abrir Veeam Console
2. Home > Backups > Disk
3. Localizar "SQL-SERVER-01"
4. Botão direito > Restore entire VM
5. Selecionar restore point: 2024-12-09 23:00
6. Restore mode: Original location
7. Power on after restore: No (validar antes)
8. Click "Finish"
VALIDAÇÃO PÓS-RESTORE:
✅ Verificar VM iniciou corretamente
✅ Testar conectividade de rede
✅ Validar serviços SQL Server
✅ Conferir data/hora do sistema
✅ Remover snapshot criado pelo restore
⏱️ TEMPO ESTIMADO: 15-20 minutos
2. veeam_job_troubleshooting - Troubleshooting de Job com Falha
Descrição: Diagnóstico sistemático de jobs com falha incluindo análise de logs.
Quando Usar:
- Job falhando repetidamente
- Investigação de erros específicos
- Validação pós-manutenção
- Suporte técnico
Argumentos:
job_name(opcional): Nome do job para troubleshoot (busca semântica)session_id(opcional): ID de sessão específicaauto_fix(opcional): Sugerir correções automáticas (padrão: true)
O Que Este Prompt Faz:
- Busca últimas sessões do job (especialmente com falha)
- Extrai logs detalhados de erros
- Identifica VMs específicas que falharam
- Classifica tipo de erro (rede, disco, permissions, etc.)
- Busca em knowledge base Veeam soluções conhecidas
- Fornece checklist de troubleshooting por tipo de erro
- Sugere correções e next steps
Exemplo de Uso:
Claude, troubleshoot o job SQL-Backup que está falhando usando veeam_job_troubleshooting
Output Esperado:
🔍 TROUBLESHOOTING - SQL-Backup
📊 STATUS DO JOB:
• Última execução: Failed (2024-12-09 03:30)
• Tentativas: 3 (todas falharam)
• VMs afetadas: SQL-PROD-01
🚨 ERRO IDENTIFICADO:
Tipo: Network Timeout
Código: VSS Writer timeout (0x800423F4)
Mensagem: "Failed to create VSS snapshot. Timeout waiting for VSS Writers"
🔧 DIAGNÓSTICO:
CAUSA PROVÁVEL:
VSS Writers do SQL Server não estão respondendo em tempo hábil
CHECKLIST DE VALIDAÇÃO:
✅ Verificar VSS Writers no SQL Server:
CMD> vssadmin list writers
✅ Reiniciar serviço VSS:
CMD> net stop vss
CMD> net start vss
✅ Verificar espaço em disco System Volume (mínimo 5 GB)
✅ Aumentar timeout VSS no Veeam:
Registry: HKLM\SOFTWARE\Veeam\Veeam Backup and Replication
Key: VssSnapshotTimeout
Value: 1800 (30 min)
📋 NEXT STEPS:
1. Executar checklist de validação
2. Tentar backup manual (start-backup-job)
3. Se persistir, validar SQL Server VSS Writers com DBA
3. veeam_vm_backup_status - Status de Backup de VM Específica
Descrição: Consulta rápida do status de backup de uma VM individual.
Quando Usar:
- Validação rápida antes de manutenção
- Confirmar backup recente
- Verificar cobertura de nova VM
- Atender chamado de usuário
Argumentos:
vm_name(obrigatório): Nome da VM (busca semântica multi-palavra)show_history(opcional): Mostrar histórico de backups (padrão: true)
O Que Este Prompt Faz:
- Busca VM usando busca semântica multi-palavra e normalização de acentos
- Identifica job(s) que fazem backup da VM
- Mostra status do último backup
- Lista restore points disponíveis
- Calcula RPO atual
- Verifica agendamento do próximo backup
- Alerta se VM não está em nenhum job
Exemplo de Uso:
Claude, qual o status de backup da VM FILE-SERVER-01 usando veeam_vm_backup_status?
ou com busca semântica multi-palavra:
Claude, status de backup da "SK VCENTER" usando veeam_vm_backup_status
Output Esperado:
📊 STATUS DE BACKUP - FILE-SERVER-01
✅ VM PROTEGIDA
JOB: FileServer-Daily-Backup
Status: Enabled
Último backup: 2024-12-09 23:00 ✅ Sucesso
RPO atual: 9h (dentro do SLA de 24h)
📦 RESTORE POINTS DISPONÍVEIS: 7
• 2024-12-09 23:00 (Full) - 180 GB
• 2024-12-08 23:00 (Incremental) - 25 GB
• 2024-12-07 23:00 (Incremental) - 30 GB
• ... (mais 4 pontos)
⏭️ PRÓXIMO BACKUP: Hoje 23:00 (em 14 horas)
🔄 RETENÇÃO: 7 dias (7 restore points)
✅ VM ESTÁ ADEQUADAMENTE PROTEGIDA
4. veeam_restore_point_lookup - Busca de Restore Points
Descrição: Busca avançada de restore points com filtros por data, tipo e VM.
Quando Usar:
- Buscar backup de data específica
- Validar restore points antes de limpeza
- Auditoria de retenção
- Planejamento de restore
Argumentos:
vm_name(opcional): Nome da VM (busca semântica)date_from(opcional): Data inicial (YYYY-MM-DD)date_to(opcional): Data final (YYYY-MM-DD)type_filter(opcional):full,incremental,differential
O Que Este Prompt Faz:
- Busca restore points com filtros especificados
- Agrupa por VM
- Mostra informações detalhadas (data, tipo, tamanho, repositório)
- Valida integridade dos restore points
- Calcula espaço total ocupado
- Identifica restore points órfãos
- Fornece comandos para restore via PowerShell
Exemplo de Uso:
Claude, busque restore points da VM SQL-PROD entre 2024-12-01 e 2024-12-07 usando veeam_restore_point_lookup
Output Esperado:
🔍 RESTORE POINTS - SQL-PROD-01
Período: 2024-12-01 a 2024-12-07
📦 7 RESTORE POINTS ENCONTRADOS:
1. 2024-12-07 23:00
Tipo: Full Backup (250 GB)
Repositório: REPO-PROD
Status: ✅ Íntegro
2. 2024-12-06 23:00
Tipo: Incremental (45 GB)
Repositório: REPO-PROD
Status: ✅ Íntegro
[... outros pontos ...]
💾 ESPAÇO TOTAL: 520 GB
🔧 COMANDO POWERSHELL PARA RESTORE:
Get-VBRRestorePoint -Name "SQL-PROD-01" | Where-Object {$_.CreationTime -eq "2024-12-07 23:00"} | Start-VBRRestoreVM -Server "vcenter.domain.local"
5. veeam_repository_health - Verificação de Saúde de Repositório
Descrição: Diagnóstico completo de saúde de repositório específico.
Quando Usar:
- Troubleshooting de lentidão em backups
- Validação pós-manutenção
- Planejamento de expansão
- Alertas de espaço em disco
Argumentos:
repository_name(opcional): Nome do repositóriocheck_integrity(opcional): Executar check de integridade (padrão: false)
O Que Este Prompt Faz:
- Lista todos os repositórios ou foca em um específico
- Verifica espaço disponível e tendência de uso
- Analisa I/O performance (latência, throughput)
- Identifica jobs que usam o repositório
- Calcula taxa de deduplicação e compression
- Verifica configurações de immutability
- Fornece recomendações de otimização
Exemplo de Uso:
Claude, verifique saúde do repositório REPO-PROD usando veeam_repository_health
Output Esperado:
💾 SAÚDE DO REPOSITÓRIO - REPO-PROD
📊 CAPACIDADE:
• Total: 10 TB
• Usado: 7.5 TB (75%)
• Livre: 2.5 TB (25%)
• Taxa de crescimento: +150 GB/dia
📈 PERFORMANCE:
• Latência média de escrita: 15ms ✅
• Throughput: 850 MB/s ✅
• Operações IOPS: 12,000 ✅
🔧 OTIMIZAÇÃO:
• Compression ratio: 2.1x (Bom)
• Deduplication: 35% (Pode melhorar)
• Immutability: ✅ Habilitado (14 dias)
📦 JOBS USANDO ESTE REPO:
• SQL-Backup-Daily
• VM-Production
• Exchange-Weekly
• FileServer-Daily
[... 5 outros jobs]
⚠️ ALERTAS:
• Espaço livre abaixo de 30% (considerar expansão)
• Projeção de esgotamento: ~16 dias
💡 RECOMENDAÇÕES:
✅ Expandir repositório em 5 TB nas próximas 2 semanas
✅ Revisar retenção de jobs antigos
✅ Habilitar storage-level deduplication
6. veeam_tape_management - Gerenciamento de Tape Backup
Descrição: Operações e monitoramento de backup em tape/library.
Quando Usar:
- Validar backups em fita
- Troubleshooting de tape library
- Planejamento de rotação de mídias
- Auditoria de mídias offsite
Argumentos:
operation(opcional):status,inventory,verify,eject(padrão:status)library_name(opcional): Nome da library
O Que Este Prompt Faz:
- Lista tape libraries e status
- Mostra tapes disponíveis e em uso
- Verifica jobs de tape backup
- Identifica tapes com erros
- Calcula espaço disponível em tapes
- Fornece procedimentos de manutenção
- Gera relatório de mídias para rotação
Exemplo de Uso:
Claude, status das tape libraries usando veeam_tape_management
Output Esperado:
📼 GERENCIAMENTO DE TAPE
🏢 LIBRARIES DISPONÍVEIS:
1. HP MSL6048 Library
Status: Online ✅
Tapes carregadas: 48/48
Slots livres: 0
📦 TAPES ATIVAS:
Full Tapes (prontas para ejeção): 12
• TAPE-001: Backup 2024-12-01 (Full)
• TAPE-002: Backup 2024-12-02 (Full)
[... outras tapes]
Tapes em uso: 4
• TAPE-048: Gravando (SQL-Copy-Job) - 85% completa
⚠️ ALERTAS:
• 3 tapes com erros de leitura (TAPE-015, TAPE-022, TAPE-031)
• Nenhum slot livre para novos jobs
📋 AÇÕES RECOMENDADAS:
✅ Ejetar 12 tapes full e substituir por vazias
✅ Validar integridade de tapes com erros
✅ Agendar limpeza de drives
7. veeam_replication_monitor - Monitoramento de Replicação
Descrição: Monitoramento de jobs de replicação e DR readiness.
Quando Usar:
- Validação de DR (Disaster Recovery)
- Troubleshooting de replicação
- Teste de failover
- Auditoria de RTO
Argumentos:
replica_job_name(opcional): Nome do job de replicaçãoshow_failover_plan(opcional): Mostrar plano de failover (padrão: true)
O Que Este Prompt Faz:
- Lista todos os replica jobs
- Verifica status de cada réplica
- Calcula lag de replicação (RPO real)
- Identifica réplicas desatualizadas
- Valida DR readiness (réplicas prontas para failover)
- Fornece procedimento de failover
- Calcula RTO estimado
Exemplo de Uso:
Claude, monitore status de replicação usando veeam_replication_monitor
Output Esperado:
🔄 MONITORAMENTO DE REPLICAÇÃO
📊 RESUMO:
• Total de replicas: 15 VMs
• Réplicas atualizadas: 14 ✅
• Réplicas com lag: 1 ⚠️
🔄 STATUS POR JOB:
1. Critical-VMs-Replica
VMs: 5 (SQL-PROD, Exchange, DC01, DC02, FileServer)
Última replicação: 2024-12-09 22:00 ✅
RPO atual: 2h ✅ (SLA: 4h)
DR Ready: ✅ Sim
2. Secondary-Apps-Replica
VMs: 10
Última replicação: 2024-12-09 18:00 ⚠️
RPO atual: 6h ⚠️ (SLA: 4h)
DR Ready: ⚠️ Parcial (1 VM com lag)
⏱️ RTO ESTIMADO: 15 minutos (failover automático)
📋 PROCEDIMENTO DE FAILOVER:
1. Validar réplicas estão atualizadas
2. Veeam Console > Replicas > Failover Now
3. Selecionar réplicas a failover
4. Validar conectividade de rede após failover
5. Executar testes de aplicação
8. veeam_backup_window_planner - Planejamento de Janela de Manutenção
Descrição: Análise de janelas de backup e planejamento de manutenções.
Quando Usar:
- Planejar manutenção de servidores
- Otimizar horários de backup
- Evitar conflitos de agendamento
- Validar janelas de backup
Argumentos:
maintenance_date(opcional): Data da manutenção (YYYY-MM-DD)maintenance_time(opcional): Hora da manutenção (HH:MM)duration_hours(opcional): Duração estimada (padrão: 2)
O Que Este Prompt Faz:
- Analisa jobs agendados para data/hora específica
- Identifica conflitos com janela de manutenção
- Calcula impacto no RPO se jobs forem suspensos
- Fornece recomendações de reprogramação
- Lista jobs que podem ser adiados
- Calcula janela ideal livre
- Fornece checklist pré e pós-manutenção
Exemplo de Uso:
Claude, planeje manutenção para 2024-12-15 às 14:00 com duração de 3 horas usando veeam_backup_window_planner
Output Esperado:
📅 PLANEJAMENTO DE MANUTENÇÃO
Data/Hora: 2024-12-15 14:00-17:00 (3 horas)
⚠️ CONFLITOS IDENTIFICADOS:
1. SQL-Backup-Hourly (Executa a cada hora)
Próximas execuções durante manutenção:
• 14:00, 15:00, 16:00
Impacto no RPO: +3h (aceitável, SLA: 24h)
2. Exchange-Incremental (Agendado para 15:00)
Impacto no RPO: +24h (próximo backup amanhã 15:00)
⚠️ CRÍTICO: Recomendado executar antes da manutenção
💡 RECOMENDAÇÕES:
ANTES DA MANUTENÇÃO (13:00):
✅ Executar Exchange-Incremental manualmente
✅ Pausar SQL-Backup-Hourly (Disable schedule)
✅ Validar backups recentes de VMs críticas
DURANTE MANUTENÇÃO (14:00-17:00):
✅ Desligar servidores conforme planejado
✅ Executar manutenção
APÓS MANUTENÇÃO (17:00):
✅ Reativar SQL-Backup-Hourly
✅ Executar full backup de VMs afetadas
✅ Validar restore points criados
📞 Como Usar os Prompts
Claude Code
# Listar prompts disponíveis
/prompt list
# Executar um prompt
/prompt veeam_backup_health_report
# Executar com argumentos
/prompt veeam_failed_jobs_analysis hours=48 format=compact
Claude Desktop
Você: use prompt veeam_backup_health_report para análise completa do ambiente
Gemini CLI
# Listar prompts
gemini prompt list
# Executar prompt
gemini prompt veeam_backup_health_report
# Com argumentos
gemini prompt veeam_failed_jobs_analysis --hours=48 --format=compact
🎯 Casos de Uso Práticos dos Prompts
Rotina Matinal do Administrador
1. veeam_failed_jobs_analysis (revisar falhas da noite)
2. veeam_backup_health_report (status geral)
3. veeam_sla_dashboard (validar conformidade)
Planejamento Trimestral (Gestor)
1. veeam_capacity_planning (projeção de crescimento)
2. veeam_cost_analysis (análise de custos)
3. veeam_compliance_report (auditoria)
Troubleshooting de Emergência (Analista)
1. veeam_vm_backup_status (validar VM específica)
2. veeam_job_troubleshooting (diagnosticar falha)
3. veeam_quick_restore_guide (restaurar VM)
Preparação para Auditoria (Compliance)
1. veeam_compliance_report compliance_standard=sox
2. veeam_sla_dashboard period_days=90
3. veeam_backup_health_report include_evidence=true
🔌 Integração com IDEs
Claude Desktop (Modo MCP stdio)
Adicione ao arquivo de configuração:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"veeam-backup": {
"command": "node",
"args": [
"/opt/mcp-servers/veeam-backup/vbr-mcp-server.js",
"--mcp"
]
}
}
}
Importante:
- Use caminho absoluto para o arquivo
.js - Use flag
--mcppara modo stdio - Reinicie o Claude Desktop após configurar
Claude Code (Modo HTTP Streamable) ⭐
Adicione ao .mcp.json no workspace ou ~/.claude/settings.json:
{
"mcpServers": {
"veeam-backup": {
"type": "streamable-http",
"url": "http://localhost:8825/mcp",
"headers": {
"Authorization": "Bearer bf2571ca23445da17a8415e1c8344db6e311adca2bd55d8b544723ad65f604b9"
}
}
}
}
Recursos:
- ✅ Protocolo MCP 2024-11-05 (JSON-RPC 2.0)
- ✅ Autenticação Bearer Token obrigatória
- ✅ Session management com UUID
- ✅ 15 ferramentas disponíveis
Endpoints Implementados:
POST /mcp- Handler JSON-RPC principal (initialize, tools/list, tools/call)GET /mcp- Server-Sent Events para notificaçõesDELETE /mcp- Terminação de sessão gracefulGET /health- Health check com info de autenticação
Gemini CLI (Modo HTTP) ⭐
Adicione ao ~/.gemini/settings.json:
{
"mcpServers": {
"veeam-backup": {
"httpUrl": "http://localhost:8825/mcp",
"headers": {
"Authorization": "Bearer bf2571ca23445da17a8415e1c8344db6e311adca2bd55d8b544723ad65f604b9"
},
"timeout": 30000
}
}
}
Diferenças de Configuração:
- Claude Code: Usa propriedade
url - Gemini CLI: Usa propriedade
httpUrl - Ambos: Requerem header
Authorization: Bearer TOKEN
Copilot Studio (OpenAPI)
Configure os endpoints individuais:
- Base URL:
http://localhost:8825 - Endpoints:
POST /backup-jobsPOST /backup-sessionsPOST /job-detailsPOST /backup-proxiesPOST /backup-repositoriesPOST /license-infoPOST /server-info
OpenAPI Spec: Importe de http://localhost:8825/openapi.json
💼 Exemplos Práticos
Exemplo 1: Monitorar Jobs com Falha
Pergunta ao Claude:
"Mostre todos os jobs de backup que falharam nas últimas 24 horas"
Processo:
- Claude chama
get-backup-sessionspara obter histórico - Filtra sessões com status "Failed"
- Filtra por data (últimas 24h)
- Apresenta resultado formatado
Resposta Esperada:
Encontrei 2 jobs com falha nas últimas 24 horas:
1. Job: SQL-Backup-Daily
Status: Failed
Horário: 2024-12-09 03:30
Erro: "Network timeout during backup"
2. Job: Exchange-Full-Weekly
Status: Failed
Horário: 2024-12-09 01:15
Erro: "Insufficient disk space in repository"
Exemplo 2: Verificar Capacidade de Repositórios
Pergunta ao Claude:
"Quais repositórios estão com mais de 80% de uso?"
Processo:
- Claude chama
get-backup-repositories - Calcula percentual de uso
- Filtra repositórios >80%
- Alerta sobre espaço crítico
Resposta Esperada:
⚠️ Atenção: 2 repositórios com uso crítico:
1. Repository: REPO-PRODUCTION
Capacidade: 10 TB
Usado: 8.5 TB (85%)
Livre: 1.5 TB
Recomendação: Considerar expansão em breve
2. Repository: REPO-ARCHIVE
Capacidade: 5 TB
Usado: 4.2 TB (84%)
Livre: 800 GB
Recomendação: Mover dados antigos ou expandir
Exemplo 3: Análise de Performance de Job
Pergunta ao Claude:
"Me mostre o histórico de performance do job 'VM-Production-Backup' nos últimos 7 dias"
Processo:
- Claude chama
get-job-detailscom nome do job - Analisa últimas sessões
- Calcula médias de duração e throughput
- Identifica tendências
Resposta Esperada:
Análise de Performance: VM-Production-Backup (últimos 7 dias)
Estatísticas:
• Execuções: 7
• Taxa de sucesso: 100%
• Duração média: 2h 15min
• Throughput médio: 450 GB/hora
• Dados processados (média): 1.2 TB por execução
Tendência:
✅ Duração estável (variação <10%)
✅ Taxa de transferência consistente
⚠️ Última execução 15min mais lenta (investigar)
Próxima execução: Hoje às 23:00
Exemplo 4: Verificar Status de Licença
Pergunta ao Claude:
"Minha licença Veeam está próxima de vencer?"
Processo:
- Claude chama
get-license-info - Obtém data de expiração
- Calcula dias restantes
- Alerta se <30 dias
Resposta Esperada:
Status da Licença Veeam:
Tipo: Veeam Backup & Replication Enterprise Plus
Licenças: 50 (48 em uso, 2 disponíveis)
Expiração: 2025-06-15
Dias restantes: 188 dias
Status de suporte: Ativo
✅ Sua licença está válida e com suporte ativo.
📅 Recomendação: Iniciar renovação 30 dias antes (15/05/2025).
🔒 Segurança
Autenticação Automática
Este servidor implementa autenticação automática transparente:
- Middleware de Autenticação: Gerencia tokens automaticamente
- Token Caching: Cache de 55 minutos (evita re-autenticações desnecessárias)
- Promise Memoization: Previne race conditions em requisições concorrentes
- Refresh Automático: Renova token quando próximo de expirar
Benefícios:
- ✅ Zero configuração manual de autenticação
- ✅ Ferramentas não precisam gerenciar tokens
- ✅ Performance otimizada (menos chamadas de auth)
- ✅ Thread-safe para requisições paralelas
SSL/TLS
Desenvolvimento (padrão):
VEEAM_IGNORE_SSL=true
Produção (recomendado):
VEEAM_IGNORE_SSL=false
Para ambientes de produção:
- Instale certificados SSL válidos no Veeam VBR
- Configure
VEEAM_IGNORE_SSL=false - Valide certificados com
openssl s_client
Controle de Acesso
Recomendações:
-
Firewall: Restrinja porta 8825 apenas a IPs confiáveis
# Exemplo UFW (Linux) ufw allow from 192.168.1.0/24 to any port 8825 -
Reverse Proxy: Use Nginx/Apache com autenticação
# Exemplo Nginx com Basic Auth location / { auth_basic "Veeam MCP Server"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://localhost:8825; } -
VPN/Zerotrust: Acesso via VPN corporativa ou solução Zerotrust
Princípio do Menor Privilégio
Crie conta de serviço com apenas permissões de leitura:
- Acesse Veeam Console
- Crie usuário
svc-mcp-reader - Atribua role Veeam Restore Operator (read-only)
- Use este usuário no
.env
VEEAM_USERNAME=.\\svc-mcp-reader
VEEAM_PASSWORD=ReadOnlyP@ssw0rd2024
🤝 Contribuindo
Contribuições são bem-vindas! Este projeto segue as práticas de desenvolvimento da Skills IT.
Processo de Contribuição
- Fork o repositório
- Clone seu fork localmente
- Crie branch para sua feature:
git checkout -b feat/nova-feature - Desenvolva seguindo as convenções do projeto
- Teste localmente todas as mudanças
- Commit seguindo Conventional Commits (português-BR):
git commit -m "feat(tools): adicionar ferramenta de restore points" git commit -m "fix(auth): corrigir timeout em token refresh" git commit -m "docs(readme): atualizar exemplos de uso" - Push para seu fork:
git push origin feat/nova-feature - Abra Pull Request com descrição detalhada
Conventional Commits (PT-BR)
| Tipo | Descrição | Exemplo |
|---|---|---|
feat | Nova funcionalidade | feat(tools): adicionar backup-repository-tool |
fix | Correção de bug | fix(auth): corrigir race condition em token cache |
docs | Documentação | docs(readme): adicionar seção de troubleshooting |
refactor | Refatoração de código | refactor(auth): simplificar lógica de middleware |
test | Testes | test(tools): adicionar testes para job-details-tool |
chore | Manutenção | chore(deps): atualizar dependências |
Diretrizes de Código
- Idioma: Variáveis/funções em inglês, comentários em português-BR
- Formatação: Prettier com 2 espaços de indentação
- Lint: ESLint configurado no projeto
- Commits: Mensagens claras e descritivas em português-BR
📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo para detalhes.
Resumo:
- ✅ Uso comercial permitido
- ✅ Modificação permitida
- ✅ Distribuição permitida
- ✅ Uso privado permitido
- ⚠️ Sem garantias (AS-IS)
🎖️ Créditos
Desenvolvido por
Skills IT - Soluções em Tecnologia 🇧🇷
- Website: https://skillsit.com.br
- Email: contato@skillsit.com.br
- LinkedIn: Skills IT
Inspirado por
- Model Context Protocol (MCP) - Anthropic
- Jorge de la Cruz - Veeam MCP Original
- Veeam Software - REST API Documentation
Tecnologias Utilizadas
- Node.js 20+ - Runtime JavaScript
- Express.js - Framework HTTP
- @modelcontextprotocol/sdk - SDK oficial MCP
- Swagger UI - Documentação interativa OpenAPI
- Docker - Containerização
📞 Suporte
Precisa de Ajuda?
- GitHub Issues: Abrir Issue
- Email: contato@skillsit.com.br
- Documentação Adicional:
- - Detalhes técnicos de arquitetura
- - Guia completo de deploy
- - Guia de segurança
- - Guia de contribuição
Problemas Comuns
Consulte a seção de para soluções de problemas comuns.
Made with ❤️ by Skills IT - Soluções em TI - BRAZIL 🇧🇷
Connecting AI to Infrastructure, One Protocol at a Time