Backup
Adicione capacidade de Backup inteligente a agentes de codificação como Windsurf, Cursor, Claude Coder, etc.
Documentação
Servidor MCP Backup
Um servidor MCP especializado que fornece recursos de backup e restauração para agentes de IA e ferramentas de edição de código. Testado nos editores Cursor e Windsurf.
Repositório: https://github.com/hexitex/MCP-Backup-Server
Por que usar isso (e não Git)
Este sistema atende a um propósito diferente do Git:
Vantagens:
- Cria backups instantâneos e direcionados com contexto do agente
- Mais simples que o Git para segurança em operações únicas
- Preserva o processo de pensamento e a intenção nos backups
- Não requer mensagens de commit ou branches
- Melhor para agentes de IA que fazem alterações críticas
- Funciona sem inicialização de repositório
- Mais rápido para "pontos de salvamento" de emergência durante edições
Desvantagens:
- Não é para rastreamento de versões de longo prazo
- Recursos de colaboração limitados
- Sem mesclagem ou resolução de conflitos
- Sem recursos de backup distribuído
- Não substitui o controle de versão adequado
- Armazena cópias completas de arquivos em vez de diffs
Quando usar: Antes de edições arriscadas, reestruturação de pastas ou quando você precisar de backups rápidos de segurança com contexto.
Quando usar Git em vez disso: Para histórico de versões adequado, colaboração e gerenciamento de projetos.
Recursos
- Preserva o contexto e o raciocínio do agente
- Cria backups direcionados e mínimos
- Suporta operações de arquivos e pastas
- Mantém histórico de versões
- Fornece segurança na restauração
- Usa filtro de padrões
- Rastreia operações
- Permite cancelamento
Configuração
Instalando via Smithery
Para instalar o Backup Server para Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @hexitex/MCP-Backup-Server --client claude
Instalação Manual
# Install dependencies
npm install
# Build TypeScript files
npm run build
# Start the backup server
npm start
Config
Env:
BACKUP_DIR: Diretório de backup (./.code_backups)EMERGENCY_BACKUP_DIR: Backups de emergência (./.code_emergency_backups)MAX_VERSIONS: Limite de versões (10)
Configure no editor:
Configuração MCP do Windsurf:
{
"mcpServers": {
"backup": {
"command": "node",
"args": ["./dist/index.js"],
"env": {
"BACKUP_DIR": "./.code_backups",
"EMERGENCY_BACKUP_DIR": "./.code_emergency_backups",
"MAX_VERSIONS": "20"
}
}
}
}
Cursor: Crie .cursor/mcp.json com configuração semelhante.
Ferramentas
Operações de Arquivo
backup_create: Criar backup com contextobackup_list: Listar backups disponíveisbackup_restore: Restaurar com backup de segurança
Operações de Pasta
backup_folder_create: Backup com filtro de padrõesbackup_folder_list: Listar backups de pastabackup_folder_restore: Restaurar estrutura de pasta
Gerenciamento
backup_list_all: Listar todos os backupsmcp_cancel: Cancelar operações
Quando Usar Backups
Crie backups apenas quando realmente necessário:
- Antes de Refatorar: Ao alterar código importante
- Antes de Remover Pastas: Ao reorganizar a estrutura do projeto
- Múltiplas Alterações Relacionadas: Ao atualizar vários arquivos conectados
- Retomando Trabalho Importante: Ao continuar alterações significativas
- Antes de Restaurar: Crie um backup de segurança antes de restaurar
Mantenha os backups mínimos e com propósito. Documente por que cada backup é necessário.
Regras para Copiar e Colar
Always try to use the backup MCP server for operations that require a backup, listing backups and restoring backups.
Only backup before critical code changes, folder removal, changes to multiple related files, resuming major work, or restoring files.
Keep backups minimal and focused only on files being changed.
Always provide clear context for why a backup is being created.
Use pattern filters to exclude irrelevant files from folder backups.
Use relative file paths when creating backups.
Create emergency backups before restore operations.
Clean up old backups to maintain system efficiency.
Backup tools: backup_create, backup_list, backup_restore, backup_folder_create, backup_folder_list, backup_folder_restore, backup_list_all, mcp_cancel.
Para Usuários Humanos
Comandos simples como estes no início: talvez seja necessário mencionar a ferramenta MCP
# Back up an important file
"Back up my core file before refactoring"
# Back up a folder before changes
"Create backup of the API folder before restructuring"
# Find previous backups
"Show me my recent backups"
# Restore a previous version
"Restore my core file from this morning"
Exemplos de Agentes
Backups Rápidos
// Before project changes
{
"name": "mcp0_backup_folder_create",
"parameters": {
"folder_path": "./src",
"include_pattern": "*.{js,ts}",
"exclude_pattern": "{node_modules,dist,test}/**",
"agent_context": "Start auth changes"
}
}
// Before core fix
{
"name": "mcp0_backup_create",
"parameters": {
"file_path": "./src/core.js",
"agent_context": "Fix validation"
}
}
Retomar Sessão
// View recent work
{
"name": "mcp0_backup_list_all",
"parameters": {
"include_pattern": "src/**/*.js"
}
}
// Get last version
{
"name": "mcp0_backup_restore",
"parameters": {
"file_path": "./src/core.js",
"timestamp": "20250310-055950-000",
"create_emergency_backup": true
}
}
Alterações Principais
// Critical update
{
"name": "mcp0_backup_create",
"parameters": {
"file_path": "./src/core.js",
"agent_context": "Add validation"
}
}
// Module update
{
"name": "mcp0_backup_folder_create",
"parameters": {
"folder_path": "./src/api",
"include_pattern": "*.js",
"exclude_pattern": "test/**",
"agent_context": "Refactor modules"
}
}
Pontos de Restauração
// Check versions
{
"name": "mcp0_backup_list",
"parameters": {
"file_path": "./src/core.js"
}
}
{
"name": "mcp0_backup_folder_list",
"parameters": {
"folder_path": "./src/api"
}
}
// File restore
{
"name": "mcp0_backup_restore",
"parameters": {
"file_path": "./src/core.js",
"timestamp": "20250310-055950-000",
"create_emergency_backup": true
}
}
// Folder restore
{
"name": "mcp0_backup_folder_restore",
"parameters": {
"folder_path": "./src/api",
"timestamp": "20250310-055950-000",
"create_emergency_backup": true
}
}
Gerenciar
// List recent
{
"name": "mcp0_backup_list_all",
"parameters": {
"include_pattern": "src/**/*.js"
}
}
// Stop backup
{
"name": "mcp0_mcp_cancel",
"parameters": {
"operationId": "backup_1234"
}
}
Licença
MIT
