The agent proposes the moves and you read the plan as a list before a single file changes place. Because the session is shared with the command-line tool, that reviewing does not have to happen inside the chat — you can look at what was staged, and commit it, from your own terminal.
A .NET global tool that runs as a command line and as an MCP server. Moves are staged rather than executed: the agent opens a session at a base directory, stages each move, previews the whole set, then commits or cancels it. The command line and the MCP server share one session store, so a batch staged by the agent can be inspected — and committed — from your own terminal.
- A session opened at a base directory, with every path taken relative to it
- Moves staged one at a time, for a single file or a whole directory
- A preview of everything staged, read before any file is touched
- Commit, which executes the staged batch in one go, or cancel, which discards it
- Destination folders created automatically when the target path does not exist yet
- Directory moves that carry their nested structure with them
- Overwriting an existing destination only when the move is staged with the overwrite option
- Paths outside the session's base directory rejected rather than followed
The .NET tooling used to install a global tool, after which the command it installs is what the MCP client launches. Nothing else: no account, no key, and no service to reach.
One command — fm --mcp
