MCP Prompts
O BackupAlly oferece 4 prompts guiados via MCP para operações comuns.
Visão Geral
| Prompt | Descrição |
|---|---|
create_backup_plan |
Criação guiada de plano de backup |
diagnose_issue |
Workflow de diagnóstico de problemas |
configure_target |
Setup passo-a-passo de target |
setup_schedule |
Configuração de agendamento |
create_backup_plan
Guia o usuário na criação de um plano de backup completo.
Fluxo
- Identificar dados: Quais dados precisam de backup?
- Classificar criticidade: Qual a importância dos dados?
- Definir RPO/RTO: Tolerância a perda e tempo de recuperação
- Selecionar storage: Local, S3, B2 ou múltiplos
- Configurar retenção: Política de retenção adequada
- Definir agendamento: Frequência e horários
- Gerar configuração: Arquivo TOML pronto para uso
Argumentos
| Argumento | Descrição | Obrigatório |
|---|---|---|
data_type |
Tipo de dado (database, files, mixed) | Não |
environment |
Ambiente (production, staging, dev) | Não |
Exemplo de Uso
Usuário: "Preciso criar um plano de backup para meu ambiente de produção"
Assistente (usando prompt):
Vou ajudar a criar um plano de backup para produção.
1. Que tipos de dados você precisa fazer backup?
- Bancos de dados (MySQL, PostgreSQL, MongoDB)
- Arquivos de aplicação
- Configurações do sistema
- Logs
2. Qual a criticidade dos dados?
- Alta: Perda de dados causa impacto financeiro/operacional
- Média: Dados podem ser recriados com esforço
- Baixa: Dados são facilmente recriáveis
...Saída
Gera arquivo TOML de task pronto para uso:
[task]
id = "production-backup"
name = "Production Environment Backup"
enabled = true
schedule = "0 2 * * *"
priority = 90
[target]
kind = "database"
driver = "mysql"
...diagnose_issue
Workflow estruturado para diagnosticar problemas.
Fluxo
- Coletar sintomas: O que está acontecendo?
- Verificar logs: Análise de erros recentes
- Checar conectividade: Target e storage acessíveis?
- Validar configuração: Sintaxe e valores corretos?
- Testar permissões: Acesso a arquivos e rede
- Identificar causa raiz: Conclusão baseada em evidências
- Sugerir solução: Passos para resolver
Argumentos
| Argumento | Descrição | Obrigatório |
|---|---|---|
target_id |
ID da task com problema | Não |
error_message |
Mensagem de erro observada | Não |
Exemplo de Uso
Usuário: "O backup do MySQL está falhando com erro de conexão"
Assistente (usando prompt):
Vou diagnosticar o problema de conexão com MySQL.
1. Verificando configuração da task...
✓ Task mysql-prod encontrada
✓ Driver: mysql
✓ Host: localhost:3306
2. Testando conectividade...
✗ Conexão recusada em localhost:3306
3. Possíveis causas:
- MySQL não está rodando
- Porta incorreta
- Firewall bloqueando
4. Solução sugerida:
Verifique se o MySQL está rodando:
sudo systemctl status mysqlconfigure_target
Setup passo-a-passo para configurar um novo target.
Fluxo
- Tipo de target: database, fileset, docker, custom
- Configuração específica: Opções por tipo
- Validação: Testar conectividade
- Storage: Definir destinos
- Opções avançadas: Compressão, criptografia
- Gerar arquivo: Criar .toml
Argumentos
| Argumento | Descrição | Obrigatório |
|---|---|---|
target_type |
Tipo: database, fileset, docker | Não |
driver |
Driver específico (mysql, postgres, etc) | Não |
Exemplo de Uso
Usuário: "Quero configurar backup do PostgreSQL"
Assistente (usando prompt):
Vou configurar o backup do PostgreSQL.
1. Informações de conexão:
- Host: localhost (padrão) ou informe outro
- Porta: 5432 (padrão) ou informe outra
- Database: Qual banco? (* para todos)
- Usuário: Qual usuário de backup?
2. Opções de dump:
- Incluir globals (roles, tablespaces)?
- Formato: custom, plain, directory?
...Saída
Gera task configurada:
[task]
id = "postgres-prod"
name = "PostgreSQL Production"
[target]
kind = "database"
driver = "postgres"
host = "localhost"
port = 5432
database = "myapp"
user = "${secret:pg_user}"
password = "${secret:pg_password}"
dump_globals = truesetup_schedule
Configuração de agendamento com condições.
Fluxo
- Frequência: Diário, semanal, mensal, custom
- Horário: Melhor janela para execução
- Condições: Load, disco, horário comercial
- Janela: Período permitido
- Validar cron: Confirmar próximas execuções
Argumentos
| Argumento | Descrição | Obrigatório |
|---|---|---|
frequency |
Frequência desejada | Não |
target_id |
Task a configurar | Não |
Exemplo de Uso
Usuário: "Quero que o backup rode todo dia às 3 da manhã, mas só se o servidor não estiver sobrecarregado"
Assistente (usando prompt):
Configurando agendamento com condição de carga.
1. Schedule: 0 3 * * * (todo dia às 03:00)
2. Condição sugerida:
when = "loadavg() < 2.0"
Isso garante que o backup só execute se a média
de carga do sistema estiver abaixo de 2.0
3. Janela de execução (opcional):
Se não completar até as 06:00, você quer:
- Continuar mesmo assim
- Abortar e tentar no próximo dia
...Saída
Configuração de schedule:
schedule = "0 3 * * *"
[condition]
when = "loadavg() < 2.0"
[window]
start = "02:00"
end = "06:00"Usando Prompts
Via Claude/AI
Prompts são invocados automaticamente pelo assistente baseado no contexto da conversa.
Via CLI
# Listar prompts disponíveis
backupally mcp prompts
# Executar prompt interativamente
backupally mcp prompt create_backup_planVia API
Prompts são acessados via JSON-RPC:
{
"jsonrpc": "2.0",
"method": "prompts/get",
"params": {
"name": "create_backup_plan",
"arguments": {
"data_type": "database",
"environment": "production"
}
},
"id": 1
}