一个专门用于AI代理和代码编辑工具备份与恢复功能的MCP服务器。已在Cursor和Windsurf编辑器中进行了测试。
仓库:https://github.com/hexitex/MCP-Backup-Server
该系统与Git有不同的用途:
优点:
缺点:
何时使用: 在进行风险编辑、文件夹重构或需要带有上下文的快速安全备份时。
何时使用Git: 对于正式版本历史记录、合作和项目管理。
要通过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:取消操作仅在真正需要时创建备份:
保持备份最小且有针对性。记录每个备份的原因。
始终尝试使用备份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