MCP Resources

O BackupAlly expõe 11 resources via MCP, divididos em estáticos e dinâmicos.

Visão Geral

URI Tipo Descrição
backupally://instructions/overview Static Visão geral do sistema
backupally://instructions/backup Static Guia de backup
backupally://instructions/restore Static Guia de restore
backupally://instructions/targets Static Tipos de target
backupally://instructions/storage Static Backends de storage
backupally://instructions/scheduler Static Agendamento
backupally://instructions/troubleshooting Static Diagnóstico de problemas
backupally://config/current Dynamic Configuração atual (sanitizada)
backupally://targets/list Dynamic Targets configurados
backupally://history/recent Dynamic Histórico recente de backups
backupally://scheduler/status Dynamic Status do scheduler

Resources Estáticos

Resources estáticos contêm documentação e instruções que não mudam durante a execução.

backupally://instructions/overview

Visão geral do BackupAlly:

  • O que é o sistema
  • Arquitetura de alto nível
  • Conceitos principais (tasks, targets, storages)
  • Fluxo básico de operação

Uso típico: Quando o assistente precisa explicar o sistema ou contextualizar respostas.

backupally://instructions/backup

Guia completo de backup:

  • Tipos de backup (quick, scheduled)
  • Configuração de tasks
  • Opções de compressão e criptografia
  • Exemplos por tipo de target

Uso típico: Quando o usuário quer criar ou modificar backups.

backupally://instructions/restore

Guia de restauração:

  • Como listar snapshots
  • Processo de restore
  • Restauração de databases
  • Verificação de integridade

Uso típico: Quando o usuário precisa recuperar dados.

backupally://instructions/targets

Documentação de tipos de target:

  • database: MySQL, PostgreSQL, MongoDB, ClickHouse, SQLite
  • fileset: Arquivos e diretórios
  • stdout: Comandos customizados
  • docker: Volumes Docker

Inclui exemplos de configuração para cada tipo.

Uso típico: Quando o usuário está configurando um novo target.

backupally://instructions/storage

Documentação de backends de storage:

  • local: Sistema de arquivos local
  • s3: AWS S3 e compatíveis
  • b2: Backblaze B2
  • minio: MinIO self-hosted

Inclui opções de configuração, retenção e exemplos.

Uso típico: Quando o usuário está configurando destino de backups.

backupally://instructions/scheduler

Documentação de agendamento:

  • Formato cron (5 e 6 campos)
  • Condições de execução (when)
  • Janelas de execução (window)
  • Prioridades e concorrência

Uso típico: Quando o usuário está definindo horários de backup.

backupally://instructions/troubleshooting

Guia de diagnóstico:

  • Erros comuns e soluções
  • Verificação de conectividade
  • Problemas de permissão
  • Logs e debugging

Uso típico: Quando algo não está funcionando.

Resources Dinâmicos

Resources dinâmicos retornam dados em tempo real do sistema.

backupally://config/current

Retorna a configuração atual do sistema.

Dados retornados:

{
  "global": {
    "local_pipeline_path": "/etc/backupally/pipeline",
    "default_temp_path": "/tmp/backupally",
    "chunk_algo": "fastcdc",
    "max_concurrent_backups": 2
  },
  "logging": {
    "level": "info",
    "format": "json"
  },
  "crypto": {
    "key_mode": "default"
  }
}

Segurança: Secrets e chaves são sanitizados (substituídos por ***).

Uso típico: Verificar configuração atual, diagnosticar problemas.

backupally://targets/list

Lista todos os targets configurados.

Dados retornados:

{
  "targets": [
    {
      "id": "mysql-prod",
      "name": "MySQL Production",
      "kind": "database",
      "driver": "mysql",
      "enabled": true,
      "schedule": "0 2 * * *",
      "last_run": "2026-02-11T02:00:00Z",
      "last_status": "success"
    },
    {
      "id": "website-backup",
      "name": "Website Files",
      "kind": "fileset",
      "enabled": true,
      "schedule": "0 3 * * *",
      "last_run": "2026-02-11T03:00:00Z",
      "last_status": "success"
    }
  ]
}

Uso típico: Listar backups configurados, verificar status.

backupally://history/recent

Retorna histórico recente de backups.

Dados retornados:

{
  "history": [
    {
      "snapshot_id": "snap_20260211_030000",
      "target": "mysql-prod",
      "timestamp": "2026-02-11T03:00:00Z",
      "duration_seconds": 70,
      "size_bytes": 933232640,
      "status": "success",
      "storages": ["s3-primary", "b2-secondary"]
    },
    {
      "snapshot_id": "snap_20260211_040000",
      "target": "website-backup",
      "timestamp": "2026-02-11T04:00:00Z",
      "duration_seconds": 45,
      "size_bytes": 524288000,
      "status": "success",
      "storages": ["local"]
    }
  ],
  "total": 2,
  "period": "last_24h"
}

Uso típico: Verificar backups recentes, confirmar execuções.

backupally://scheduler/status

Retorna status atual do scheduler.

Dados retornados:

{
  "status": "running",
  "pid": 12345,
  "uptime_seconds": 187200,
  "tasks_loaded": 5,
  "tasks_enabled": 4,
  "current_executions": 0,
  "next_executions": [
    {
      "target": "mysql-prod",
      "scheduled_at": "2026-02-12T02:00:00Z",
      "in_seconds": 9000
    },
    {
      "target": "website-backup",
      "scheduled_at": "2026-02-12T03:00:00Z",
      "in_seconds": 12600
    }
  ]
}

Uso típico: Verificar se scheduler está rodando, próximas execuções.

Acessando Resources

Via Claude/AI

O assistente acessa resources automaticamente conforme necessário.

Via CLI

# Listar resources disponíveis
backupally mcp resources

# Ler resource específico
backupally mcp read backupally://config/current

Via API

Resources são acessados via JSON-RPC:

{
  "jsonrpc": "2.0",
  "method": "resources/read",
  "params": {
    "uri": "backupally://config/current"
  },
  "id": 1
}
By Borlot.com.br on 11/02/2026