原子写入器MCP服务器
作为MCP(模型上下文协议)服务器实现的安全和原子文件操作服务。此服务器通过MCP协议提供安全的事务性文件操作。
动机
您是否曾遇到过LLM(大型语言模型)在尝试提供帮助时意外删除您的内容?这是一种常见而令人沮丧的体验——人工智能自信地对你的文件进行更改,但事后才意识到它只是删除了重要内容。
在经历了一段特别痛苦的黑曜石笔记之后,我建立了这个系统。在开发一个允许人工智能帮助管理我的笔记的集成时,我发现有时它会无意中抹去笔记内容的一半,而没有意识到其行为的影响。
这促使我开发了Atomic Writer——一个安全第一的文件操作系统,通过设计防止破坏性操作:
- 新内容只能附加,不能覆盖
- 只有当文件不存在且为空时,才能创建文件
- 所有操作都会被跟踪,并且可以回滚
- 文件完整性不断受到监控和验证
虽然最初是为了防止意外的AI修改而构建的,但Atomic Writer可用于任何文件安全至关重要的场景。它非常适合:
- 需要修改文件的AI集成
- 协同编辑系统
- 关键数据管理
- 任何需要防止意外数据丢失的应用程序
特性
核心文件操作
- 创建和写入具有内容验证的文件
- 通过完整性检查读取文件
- 以原子方式将文件移动到新位置
- 使用垃圾目录安全删除文件
- 在文件中添加和预置内容
文本操作
- 替换第一个或所有出现的文本
- 在特定行号处插入内容
- 删除特定行
- 阅读搜索词周围的特定行或上下文
安全功能
- 所有操作都是原子操作,并记录在日志中
- 文件完整性验证
- 修改前自动备份
- 已删除文件的回收站目录
- 锁管理以防止冲突
- 操作回滚能力
- 自动外部文件集成:
- 检测在系统外部创建的文件 - 首次访问时初始化完整性跟踪 - 与现有运营无缝集成
系统操作
- 系统状态监控
- 文件操作历史记录
- 锁管理
- 从日志中恢复文件
- 使用外部文件支持进行完整性验证
- 未跟踪文件的自动跟踪初始化
安装
- 克隆存储库
- 安装依赖项:
npm install - 构建项目:
npm run build - 在MCP主机的配置中配置服务器
MCP服务器配置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"atomic-writer": {
"command": "node",
"args": [
"/absolute/path/to/atomic-writer/build/index.js",
"/absolute/path/to/base/directory"
]
}
}
}重要:第二个论点("/absolute/path/to/base/directory")是必需的,并指定Atomic Writer将存储和管理文件的位置。此目录将包含 .atomic-writer 包含所有系统文件(日志、锁等)的子目录。
或者,您可以设置 BASE_DIR 环境变量,而不是提供第二个参数。
配置文件的位置:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
可用工具
服务器提供以下MCP工具:
文件操作
write-file:创建新文件或写入空文件read-file:通过完整性验证读取文件delete-file:将文件移动到回收站目录move-file:原子移动/重命名文件append-content:将内容附加到文件prepend-content:将内容预置到文件中
文本操作
replace-content:替换第一次出现的文本replace-all-content:替换所有出现的文本insert-content-at-line:在行号处插入内容delete-line:删除特定行read-lines:读取特定行号read-around:阅读搜索词周围的行
系统工具
verify-integrity:检查文件完整性并初始化外部文件的跟踪get-status:获取系统状态recover-file:从日志中恢复get-file-history:查看操作历史记录get-lock-status:检查文件锁force-release-lock:松开卡住的锁rollback-operation:回滚更改
错误代码
操作返回标准化错误代码:
- FILE_NOT_FOUND:文件不存在
- INVALID_PATH:路径无效
- EMPTY_CONTENT:内容为空
- LINE_OUT_OF_BOUNDS:行号无效
- FILE_LOCKED:文件已锁定
- 完整性_错误:校验和验证失败
目录结构
base/
├── files/ # Managed files
├── journal/ # Operation journal
├── locks/ # File locks
├── trash/ # Deleted files
└── temp/ # Temporary files发展
npm run build:构建TypeScript代码npm run test:运行测试套件npm run lint:打开门楣
安全
- 所有操作都是原子操作,并记录在日志中
- 在操作过程中,文件受到锁的保护
- 内容完整性通过校验和进行验证
- 已删除的文件将被移至垃圾箱,而不是永久删除
- 如果需要,可以回滚操作
- 外部文件自动受到完整性保护

