使用说明
ai文件系统mcp
你的AI代理的Edit不是原子的。这就是MCP。
用于自动进行原子多文件更改的单工具MCP服务器 回滚——为Claude Code、Codex CLI、Cursor代理和其他现代应用程序构建 编码剂。
这些代理附带了优秀的内置阅读、写作工具, 搜索、编辑和shell。他们不与原始船一起运输 “将这N个文件操作作为一个事务应用;如果其中任何一个失败, 恢复一切。" 这是MCP提供的唯一东西。
工具
transaction --以原子方式应用一批文件操作。
{
"name": "transaction",
"arguments": {
"operations": [
{ "type": "create", "path": "src/feature.ts", "content": "..." },
{ "type": "write", "path": "src/index.ts", "content": "..." },
{ "type": "update", "path": "src/lib/util.ts",
"updates": [{ "oldText": "foo()", "newText": "foo(arg)" }] },
{ "type": "move", "path": "src/old.ts", "destination": "src/legacy/old.ts" },
{ "type": "delete", "path": "src/dead.ts" }
],
"rollbackOnError": true
}
}
如果操作4失败,则操作1-3将从调用前的备份中恢复 返回。如果一切顺利,备份将被清理。
操作种类
type |
必填字段 | 它的作用 |
|---|---|---|
create |
path, content |
创建一个新文件(创建父目录)。 |
write |
path, content |
覆盖现有文件。 |
update |
path, updates[] |
到位 String.replace(oldText, newText) 对于每次更新,按顺序。 |
move |
path, destination |
重命名 path → destination. |
delete |
path |
删除文件或目录(递归)。 |
为什么一个工具
早期的2.x版本提供了39个命令:文件I/O、搜索、git、代码 分析、shell、存档、差异、元数据、加密、文件监视器。 现代编码代理已经用自己的编码代理做得更好了 读/编辑/写/Grep/Glob/Bash工具——将其封装在MCP中 只会增加延迟和新的故障面。
什么样的代理人 Edit 不能将多个文件更改视为一个
如果5个操作中的操作4失败,则操作1-3已在磁盘上。直到
代理生成了一个真正的事务原语,填补了这个空白
外部——这是此服务器的全部工作。
当你真正需要这个的时候
你可能不需要它来完成典型的“修复这个bug”的转变。你做到了 当一个逻辑更改必须将多个文件联系在一起时,需要它:
- 数据库迁移:模式文件+匹配ORM模型+匹配测试 固定装置必须全部落地或全部归还。
- 跨多个文件的交叉重命名/重构 如果代理在中途崩溃或上下文中断,则应用一半。
- 生成的代码更新,其中生成器输出和手动编辑 胶水必须保持同步。
- 配置+相应的代码更改(例如路由表条目+ 处理器),其中半状态被破坏。
如果你的编辑适合一个文件,只需使用代理的 Edit.如果
适合一个shell命令,只需使用 Bash.伸手去拿 transaction
只有当“全有或全无”真正重要的时候。
安装
需要Node.js≥18。
npm install -g ai-filesystem-mcp
或来源:
git clone https://github.com/proofmath-owner/ai-filesystem-mcp.git
cd ai-filesystem-mcp
npm install
npm run build
node dist/index.js
配置(克劳德代码/Codex CLI/任何MCP客户端)
{
"mcpServers": {
"ai-filesystem": {
"command": "node",
"args": ["/absolute/path/to/ai-filesystem-mcp/dist/index.js"]
}
}
}
使用标准JSON-RPC。没有网络端口。
信任模型
以启动它的用户身份在受信任的AI代理旁边本地运行 无路径沙盒;信任边界是你的机器。不要暴露于 不受信任的客户端。
发展
npm install
npm run dev # tsx watch on src/index.ts
npm run build # tsc -> dist/
npm run lint
npm run format
tsc 错误导致构建失败。不 tsc || true.
许可证
麻省理工学院