Veeam Backup & Replication MCP Server
Allows AI agents to interact with Veeam Backup & Replication infrastructure, providing tools for monitoring backup jobs, viewing sessions, managing restore points, checking license compliance, and retrieving server information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Veeam Backup & Replication MCP Servershow failed backup jobs today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🔵 Veeam Backup & Replication MCP Server
Hybrid MCP Architecture for Veeam VBR
Conecte IA ao Veeam Backup & Replication através de Protocolo MCP Moderno
📑 Índice
Related MCP server: Veeam Intelligence MCP Server
🎯 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
🛠️ 12 Ferramentas Veeam (v2.0.0)
Categoria | Ferramenta | Descrição |
Busca |
| Jobs de backup (VMs, replicação, cópia) |
Busca |
| Sessions/histórico de execuções |
Busca |
| Pontos de restauração de VMs |
Busca |
| Proxies e repositórios de backup |
Gerenciamento |
| Detalhes, schedule, iniciar ou parar jobs |
Gerenciamento |
| Logs de sessions para troubleshooting |
Consulta |
| Licenciamento, compliance e workloads |
Consulta |
| Versão do VBR, banco de dados, build |
Bridge |
| Catálogo de resources MCP disponíveis |
Bridge |
| Leitura de resources via URI veeam:// |
Bridge |
| Catálogo de 15 prompts disponíveis |
Bridge |
| Execução de prompt/workflow específico |
Pattern: search_* (somente leitura) / manage_* (leitura + escrita) / get_* (recurso único)
🔍 Busca Semântica: Ferramentas veeam_search_backup_jobs e veeam_search_restore_points suportam busca semântica inteligente (multi-palavra, normalização de acentos, busca parcial).
v2.0.0 Melhorias
91% redução de tokens: Respostas Markdown em vez de JSON bruto
12 tools consolidadas: Pattern search_*/manage_*/get_* (Block recommendation)
Tool Annotations: readOnlyHint, destructiveHint, openWorldHint em todas as tools
Server Instructions: Guia operacional para LLM no initialize
MCP Resources: Dados estáticos (server-info, license) via URI veeam://
Bridge Tools MCPHub: Resources e Prompts acessíveis via tools
Validação UUID: Erros claros antes de chamar API
Testes automatizados: 74 testes (unit + integration)
🔒 Autenticação Automática Inteligente
Middleware Transparente: Autenticação automática com credenciais do
.envToken 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
/docsOpenAPI 3.0: Especificação completa em
/openapi.jsonHealth Check: Endpoint
/healthcom status de autenticaçãoExemplos 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 startMé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 -fMé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 |
| ✅ Sim | Hostname ou IP do servidor Veeam |
|
| ⚠️ Opcional | Porta da API REST (padrão: 9419) |
|
| ⚠️ Opcional | Versão da API (padrão: 1.2-rev0) |
|
| ✅ Sim | Usuário Veeam (formato: |
|
| ✅ Sim | Senha do usuário Veeam |
|
| ⚠️ Opcional | Ignorar erros SSL (padrão: true) |
|
| ⚠️ Opcional | Porta do servidor HTTP (padrão: 8825) |
|
| ✅ Sim | Token de autenticação Bearer para MCP |
|
| ⚠️ Opcional | Ambiente de execução |
|
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=SEU_TOKEN_AQUIBoas Práticas de Segurança
NUNCA commite o arquivo
.envao repositório GitUse 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=8825Use 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 -- --mcpUse 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=8825Use quando:
Você usa apenas Copilot Studio ou Gemini CLI
Precisa de acesso via API REST
Quer documentação Swagger UI
Ferramentas Disponíveis (v2.0.0)
O Veeam MCP v2.0.0 consolidou as 17 ferramentas originais em 12 ferramentas otimizadas seguindo o padrão search_*/manage_*/get_* (Block recommendation). Todas as respostas são formatadas em Markdown (redução de ~91% em tokens vs JSON bruto).
Ferramentas de Busca (search_*) — Somente Leitura
Tool | Descrição | Parâmetros Principais |
| Jobs de backup, cópia e jobs derivados de sessões (Agent/replica/site remoto) |
|
| Sessions/histórico de execuções |
|
| Pontos de restauração de VMs (com span de retenção) |
|
| Proxies e repositórios (status CRÍTICO/ATENÇÃO/OFFLINE) |
|
Ferramentas de Gerenciamento (manage_*) — Leitura + Escrita
Tool | Descrição | Actions |
| Detalhes, schedule, iniciar ou parar jobs | get_details, get_schedule, start, stop |
| Logs de sessions para troubleshooting | get_log (com logLevel filter) |
Ferramentas de Consulta (get_*) — Somente Leitura
Tool | Descrição |
| Licenciamento, compliance e workloads protegidos |
| Versão do VBR, banco de dados, build |
Bridge Tools MCPHub
Tool | Descrição |
| Catálogo de resources MCP disponíveis |
| Leitura de resources via URI veeam:// |
| Catálogo de 15 prompts disponíveis |
| Execução de prompt/workflow específico |
MCP Resources (Dados Estáticos)
URI | Descrição |
| Informações do servidor VBR |
| Dados de licenciamento e workloads |
Recursos Avançados (alinhados ao código atual)
groupByJob=trueemsearch_backup_sessions: agrega as N tentativas de cada job em uma linha (último resultado, tentativas, falhas), com jobs falhando no topo — a visão de saúde do ambiente.Cobertura híbrida:
search_backup_jobsencontra jobs fora do inventário/jobs(Veeam Agent, replica, backup copy, site remoto) derivando-os do histórico de sessões. Busca também por nome de VM dentro do job.Datas flexíveis (
from/to): aceitam ISO (2026-05-28), BR (28/05/2026 05:30) e natural (ontem,últimas 6 horas,7 dias).Resolução nome→UUID:
manage_backup_jobsaceita o nome (parcial) do job; se casar vários, retorna os candidatos.start/stopexigem nome exato e único.get_logcom resultado por VM: em jobs multi-VM, detalha quais VMs falharam e a causa de cada uma (aba Statistics do console), agrupando VMs com o mesmo erro.Span de retenção:
search_restore_pointsmostra o primeiro e o último ponto da VM, e retorna candidatos quando o nome casa várias VMs distintas.
Exemplos de Uso
Buscar sessions com falha das últimas 24h:
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":"veeam_search_backup_sessions","arguments":{"statusFilter":"Failed","hours":24,"limit":10}},"id":1}'Ver detalhes de um job:
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":"veeam_manage_backup_jobs","arguments":{"action":"get_details","jobId":"UUID-DO-JOB"}},"id":1}'Verificar uso de repositórios:
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":"veeam_search_infrastructure","arguments":{"type":"repositories"}},"id":1}'Tool Annotations
Todas as ferramentas possuem annotations MCP para segurança automática:
Annotation | Significado | Exemplo |
| Não modifica dados (auto-aprovável) | search_*, get_* |
| Pode modificar dados (requer confirmação) | manage_backup_jobs (start/stop) |
| Acessa API externa (latência possível) | Todas exceto list_mcp_* |
| Chamadas repetidas são seguras | search_*, get_* |
Formato de Resposta: Markdown
Todas as respostas são formatadas em Markdown (tabelas), não JSON bruto:
**5 resultados** | Pagina 1 (total: 9646, limit: 5)
| ID | Nome | Tipo | Resultado | Inicio | Duracao | Progresso |
|---|---|---|---|---|---|---|
| 12dc2486... | BKP-JOB-LOCAL-SK-PMW... | BackupJob | Sucesso | 22/03/2026 12:00 | 5 min | 100% |Benefícios do Markdown vs JSON bruto:
91% menos tokens por resposta (testado com dados reais)
Tabelas legíveis diretamente no chat
Paginação com informação de total
Limites de Paginação
Parâmetro | Default | Máximo |
| 35 | 50 |
| 0 | — |
Limites otimizados para evitar token explosion. Use skip para navegar páginas.
🔐 Nota sobre Safety Guard
As ações start e stop de veeam_manage_backup_jobs são protegidas por Tool Annotations (destructiveHint: true) 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 promptClaude 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)
Foco em visão estratégica, compliance e relatórios executivos (formato compacto, ideal para WhatsApp/Teams).
Prompt | Descrição | Argumentos |
| Resumo executivo de saúde dos backups com taxa de sucesso e alertas críticos |
|
| Previsão de crescimento de storage com projeção de capacidade |
|
| Análise de custo de backup por cliente com otimizações recomendadas |
|
| Compliance de RTO/RPO e aderência aos SLAs de recuperação |
|
| Taxa de sucesso de backups por job com tendências e alertas |
|
| Capacidade de repositórios com alertas de espaço e previsão de esgotamento |
|
| Cobertura de proteção de VMs, identificando VMs não protegidas |
|
🔧 Prompts para Analistas Técnicos (8)
Foco em troubleshooting, operações práticas e guias de restore.
Prompt | Descrição | Argumentos |
| Investigação detalhada de job falhado com logs e troubleshooting |
|
| Busca de restore points disponíveis para uma VM específica |
|
| Guia passo-a-passo para restauração de VM/arquivo |
|
| Validação de integridade de backup com teste de restore |
|
| Histórico completo de backups de uma VM com estatísticas de performance |
|
| Alerta de espaço em repositório com análise de crescimento |
|
| Status rápido de jobs de backup com última execução e próxima janela |
|
| Status de jobs de fita com última gravação e mídia utilizada |
|
💡 Cada prompt inclui uma linha 🛠️ Ferramentas que indica quais tools acionar (ex.:
groupByJob=truepara saúde, busca por nome de VM,get_logpor VM), guiando o assistente ao caminho mais eficiente.
Como descobrir e executar (via MCPHub):
veeam_list_mcp_prompts— lista os 15 prompts com seus argumentosveeam_get_mcp_prompt— executa um prompt peloname(+ objetoarguments). Argumentos obrigatórios ausentes retornam um erro claro em pt-BR (ex.: faltajob_id).
# Exemplo: investigar um job que falhou
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":"veeam_get_mcp_prompt","arguments":{"name":"veeam_failed_job_investigation","arguments":{"job_id":"BKP-JOB-LOCAL-..."}}},"id":1}'🔌 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
.jsUse flag
--mcppara modo stdioReinicie 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 SEU_TOKEN_AQUI"
}
}
}
}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 SEU_TOKEN_AQUI"
},
"timeout": 30000
}
}
}Diferenças de Configuração:
Claude Code: Usa propriedade
urlGemini CLI: Usa propriedade
httpUrlAmbos: Requerem header
Authorization: Bearer TOKEN
Copilot Studio (OpenAPI)
Configure os endpoints individuais:
Base URL:
http://localhost:8825Endpoints:
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
veeam_search_backup_sessionscom statusFilter="Failed" e hours=24Recebe resultado já filtrado e formatado em Markdown
Apresenta tabela com jobs falhados
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
veeam_search_infrastructurecom type="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 expandirExemplo 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
veeam_manage_backup_jobscom action="get_details" e jobIdAnalisa ú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:00Exemplo 4: Verificar Status de Licença
Pergunta ao Claude:
"Minha licença Veeam está próxima de vencer?"
Processo:
Claude chama
veeam_get_license_complianceObté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=trueProdução (recomendado):
VEEAM_IGNORE_SSL=falsePara ambientes de produção:
Instale certificados SSL válidos no Veeam VBR
Configure
VEEAM_IGNORE_SSL=falseValide 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 203.0.113.0/24 to any port 8825Reverse 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-readerAtribua 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-featureDesenvolva 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-featureAbra Pull Request com descrição detalhada
Conventional Commits (PT-BR)
Tipo | Descrição | Exemplo |
| Nova funcionalidade |
|
| Correção de bug |
|
| Documentação |
|
| Refatoração de código |
|
| Testes |
|
| Manutenção |
|
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 LICENSE 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:
ARCHITECTURE_AND_DESIGN.md - Detalhes técnicos de arquitetura
DEPLOYMENT.md - Guia completo de deploy
SECURITY.md - Guia de segurança
CONTRIBUTING.md - Guia de contribuição
Problemas Comuns
Consulte a seção de Troubleshooting 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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DevSkillsIT/Skills-MCP-Veeam-Backup-Pro'
If you have feedback or need assistance with the MCP directory API, please join our Discord server