The README is unusually clear about when not to use this — a single-file edit belongs in the agent's own edit tool, and a one-liner belongs in the shell. Where it earns its place is a change that has to land together: a schema file with its ORM model and fixtures, or a routing entry with its handler, where the intermediate state is broken code.
A deliberately single-purpose MCP server. Coding agents already read, write, edit and grep well; what they lack is a primitive for "apply these N file changes together, or none of them." That gap is the entire job here — earlier 2.x versions shipped 39 commands and the project cut them because the agent's own tools do that work better.
- `transaction` — a list of `operations` plus `rollbackOnError`, applied in order
- Five operation kinds: `create` a new file with parent directories, `write` to overwrite an existing one, `update` for in-place text replacements applied in order, `move` to rename, `delete` for a file or directory
- Real rollback — if the fourth operation fails, the first three are restored from backup before the call returns; on success the backups are cleaned up
No account and no key. Node.js ≥ 18. Clone it and `npm run build`, then point the client at `dist/index.js`. Speaks stdio JSON-RPC with no network ports. There is no path sandbox: it runs as the user who started it and the trust boundary is the machine, so keep it beside an agent you trust and do not expose it to other clients. The manifest calls the package `ai-filesystem-mcp` at 4.0.0, MIT, a name npm does not have.
