返回市场
MCP备份服务器

MCP备份服务器

作者:hexitex12 星标更新:2025-08-08

项目介绍

MseeP.ai 安全评估徽章

MCP 备份服务器

smithery 徽章

一个专门用于AI代理和代码编辑工具备份与恢复功能的MCP服务器。已在Cursor和Windsurf编辑器中进行了测试。

仓库:https://github.com/hexitex/MCP-Backup-Server

为什么使用此系统(而非Git)

该系统与Git有不同的用途:

优点:

  • 创建即时、有针对性的备份,包含代理上下文
  • 比Git更简单,适合单次操作的安全性
  • 在备份中保留思考过程和意图
  • 不需要提交信息或分支
  • 对于进行关键更改的AI代理更好
  • 无需初始化仓库
  • 在编辑过程中快速创建紧急“保存点”

缺点:

  • 不适用于长期版本跟踪
  • 合作功能有限
  • 没有合并或冲突解决
  • 没有分布式备份能力
  • 不是替代正式版本控制
  • 存储完整的文件副本而不是差异

何时使用: 在进行风险编辑、文件夹重构或需要带有上下文的快速安全备份时。

何时使用Git: 对于正式版本历史记录、合作和项目管理。

功能

  • 保留代理上下文和推理
  • 创建有针对性的最小备份
  • 支持文件和文件夹操作
  • 维护版本历史
  • 提供恢复安全性
  • 使用模式过滤
  • 跟踪操作
  • 允许取消

安装

通过Smithery安装

要通过Smithery自动安装Backup Server到Claude Desktop:

npx -y @smithery/cli install @hexitex/MCP-Backup-Server --client claude

手动安装

# 安装依赖
npm install

# 构建TypeScript文件
npm run build

# 启动备份服务器
npm start

配置

环境变量:

  • BACKUP_DIR:备份目录(./.code_backups)
  • EMERGENCY_BACKUP_DIR:紧急备份目录(./.code_emergency_backups)
  • MAX_VERSIONS:版本限制(10)

在编辑器中配置:

Windsurf MCP配置:

{
  "mcpServers": {
    "backup": {
      "command": "node",
      "args": ["./dist/index.js"],
      "env": {
        "BACKUP_DIR": "./.code_backups",
        "EMERGENCY_BACKUP_DIR": "./.code_emergency_backups",
        "MAX_VERSIONS": "20"
      }
    }
  }
}

Cursor:创建.cursor/mcp.json并添加类似配置。

工具

文件操作

  • backup_create:创建带上下文的备份
  • backup_list:列出可用备份
  • backup_restore:使用安全备份恢复

文件夹操作

  • backup_folder_create:使用模式过滤进行备份
  • backup_folder_list:列出文件夹备份
  • backup_folder_restore:恢复文件夹结构

管理

  • backup_list_all:列出所有备份
  • mcp_cancel:取消操作

何时使用备份

仅在真正需要时创建备份:

  1. 在重构前:当更改重要代码时
  2. 在删除文件夹前:当重新组织项目结构时
  3. 多个相关更改:当更新几个相关文件时
  4. 继续重大工作:当继续重要的更改时
  5. 在恢复前:在恢复文件之前创建安全备份

保持备份最小且有针对性。记录每个备份的原因。

复制粘贴规则

始终尝试使用备份MCP服务器来执行需要备份的操作,如列出备份和恢复备份。
仅在关键代码更改、文件夹删除、多个相关文件更改、继续重大工作或恢复文件前进行备份。
保持备份最小,仅针对正在更改的文件。
始终提供创建备份的明确上下文。
使用模式过滤排除无关文件。
使用相对文件路径创建备份。
在恢复操作前创建紧急备份。
清理旧备份以维护系统效率。
备份工具:backup_create, backup_list, backup_restore, backup_folder_create, backup_folder_list, backup_folder_restore, backup_list_all, mcp_cancel。

人类用户指南

开始时可能需要提及MCP工具的简单命令:

# 备份一个重要文件
"在重构前备份我的核心文件"

# 在更改前备份一个文件夹
"在重构前创建API文件夹的备份"

# 查找之前的备份
"显示我最近的备份"

# 恢复以前的版本
"从今天早上恢复我的核心文件"

代理示例

快速备份

// 在项目更改前
{
  "name": "mcp0_backup_folder_create",
  "parameters": {
    "folder_path": "./src",
    "include_pattern": "*.{js,ts}",
    "exclude_pattern": "{node_modules,dist,test}/**",
    "agent_context": "开始认证更改"
  }
}

// 在核心修复前
{
  "name": "mcp0_backup_create",
  2. "parameters": {
    "file_path": "./src/core.js",
    "agent_context": "修复验证"
  }
}

恢复会话

// 查看最近的工作
{
  "name": "mcp0_backup_list_all",
  "parameters": {
    "include_pattern": "src/**/*.js"
  }
}

// 获取最新版本
{
  "name": "mcp0_backup_restore",
  "parameters": {
    "file_path": "./src/core.js",
    "timestamp": "20250310-055950-000",
    "create_emergency_backup": true
  }
}

核心更改

// 关键更新
{
  "name": "mcp0_backup_create",
  "parameters": {
    "file_path": "./src/core.js",
    "agent_context": "添加验证"
  }
}

// 模块更新
{
  "name": "mcp0_backup_folder_create",
  "parameters": {
    "folder_path": "./src/api",
    "include_pattern": "*.js",
    "exclude_pattern": "test/**",
    "agent_context": "重构模块"
  }
}

恢复点

// 检查版本
{
  "name": "mcp0_backup_list",
  "parameters": {
    "file_path": "./src/core.js"
  }
}

{
  "name": "mcp0_backup_folder_list",
  "parameters": {
    "folder_path": "./src/api"
  }
}

// 文件恢复
{
  "name": "mcp0_backup_restore",
  "parameters": {
    "file_path": "./src/core.js",
    "timestamp": "20250310-055950-000",
    "create_emergency_backup": true
  }
}

// 文件夹恢复
{
  "name": "mcp0_backup_folder_restore",
  "parameters": {
    "folder_path": "./src/api",
    "timestamp": "20250310-055950-000",
    "create_emergency_backup": true
  }
}

管理

// 列出最近的
{
  "name": "mcp0_backup_list_all",
  "parameters": {
    "include_pattern": "src/**/*.js"
  }
}

// 停止备份
{
  "name": "mcp0_mcp_cancel",
  "parameters": {
    "operationId": "backup_1234"
  }
}

许可证

MIT