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

  1. Identificar dados: Quais dados precisam de backup?
  2. Classificar criticidade: Qual a importância dos dados?
  3. Definir RPO/RTO: Tolerância a perda e tempo de recuperação
  4. Selecionar storage: Local, S3, B2 ou múltiplos
  5. Configurar retenção: Política de retenção adequada
  6. Definir agendamento: Frequência e horários
  7. 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

  1. Coletar sintomas: O que está acontecendo?
  2. Verificar logs: Análise de erros recentes
  3. Checar conectividade: Target e storage acessíveis?
  4. Validar configuração: Sintaxe e valores corretos?
  5. Testar permissões: Acesso a arquivos e rede
  6. Identificar causa raiz: Conclusão baseada em evidências
  7. 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 mysql

configure_target

Setup passo-a-passo para configurar um novo target.

Fluxo

  1. Tipo de target: database, fileset, docker, custom
  2. Configuração específica: Opções por tipo
  3. Validação: Testar conectividade
  4. Storage: Definir destinos
  5. Opções avançadas: Compressão, criptografia
  6. 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 = true

setup_schedule

Configuração de agendamento com condições.

Fluxo

  1. Frequência: Diário, semanal, mensal, custom
  2. Horário: Melhor janela para execução
  3. Condições: Load, disco, horário comercial
  4. Janela: Período permitido
  5. 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_plan

Via 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
}
By Borlot.com.br on 11/02/2026