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 "Deploy 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 deployed
Maintenance
Related MCP Connectors
Connects AI assistants to CloudQuell multi-cloud and AI cost, savings, anomaly, and budget data.
- mcpOAuthcom.keboola
Connect your AI assistants to Keboola and expose your data, transformations, SQL queries, ...
Connect any AI assistant to Syncro: manage tickets, invoices, customers, assets, and more.
Deploy, monitor, and manage your OpenClaw AI assistants via natural language.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to manage and monitor VergeOS virtualization platforms through natural language, including VM operations, network management, tenant administration, and cluster monitoring.21MIT
- AlicenseNot gradedqualityFmaintenanceExtends Veeam Intelligence to MCP-compatible clients, enabling secure, real-time operational insight across Veeam Backup & Replication, Veeam ONE, and VSPC via natural language or AI workflows.14MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to monitor and manage Proxmox VE infrastructure, including nodes, VMs, containers, storage, backups, and networking, via natural language.1MIT

mcp-ctera-coreofficial
AlicenseNot gradedqualityDmaintenanceEnables AI-driven interaction with CTERA Portal APIs for file and folder management through natural language or automation workflows.3Apache 2.0