FileMoverMcp

by AdamTovatt

258 downloads
Not rated
GitHub

About

A file mover tool that stages and executes file moves safely. Works as both a CLI tool and an MCP server for AI agents.

Details

Author
AdamTovatt
Downloads
258
Categories
File Management, Developer Tools, Automation, Other, AI

- Session-based workflow: stage moves, preview, then commit.
- Preview changes before executing any moves.
- Validate file paths and detect conflicts.
- Explicit opt-in required for overwriting existing files.
- Clear, actionable error messages.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name FileMoverMcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install it and run it either as a CLI tool (fm) or as an MCP server for AI agents. Commands follow a session-based workflow: stage moves, preview them, then commit.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "filemovermcp": {
            "filemover": {
                "command": "fm",
                "args": [
                    "--mcp"
                ]
            }
        }
    }
}

McpServers

{
    "filemover": {
        "command": "fm",
        "args": [
            "--mcp"
        ]
    }
}

A file mover tool that stages and executes file moves safely. Works as both a CLI tool and an MCP (Model Context Protocol) server for AI agents.

dotnet tool install --global FileMoverMcp
dotnet tool update --global FileMoverMcp
dotnet tool uninstall --global FileMoverMcp

After installation, thefmcommand will be available globally.

To register as an MCP tool in Claude Code:

For Cursor or other MCP clients, add this to your MCP configuration:

{ "mcpServers": { "filemover": { "command": "fm", "args": ["--mcp"] } } }

The workflow is: initialize a session, stage moves, preview, then commit (or cancel).

fm init [path] # Initialize at path (default: current directory) fm mv <source> <dest> # Stage a file or directory move fm mv <source> <dest> --overwrite # Allow overwriting existing destination fm preview # See all staged moves fm commit # Execute all staged moves fm cancel # Discard all staged moves fm help # Show help information
# Move files on desktop fm init "c:/users/adam/desktop" fm mv "old-folder/file.png" "new-folder/file.png" fm mv "document.txt" "archive/document-backup.txt" fm preview fm commit # Move an entire directory fm init fm mv "source-folder" "dest-folder" fm commit # Overwrite an existing file fm init fm mv "source.txt" "destination.txt" --overwrite fm commit

If the destination path includes directories that don't exist yet, they will be created automatically. For example,fm mv "file.txt" "a/b/c/file.txt"will createa/b/c/if needed.

When you runfm mv, the tool checks whether the source is a file or a directory and handles it accordingly. Directory moves preserve the full internal structure, including nested subdirectories.

If the destination already exists (file or directory), the move will be rejected unless you pass--overwrite. With--overwrite, the existing destination is replaced entirely.

All paths are relative to the session's base directory. Attempting to reference paths outside it will be rejected.

CLI and MCP mode share the same session storage, so you can initialize a session in one mode and commit in the other.

When running as an MCP server, the following tools are available:

- fm_init(path?: string)- Initialize a session
- fm_move(source: string, destination: string, overwrite: boolean)- Stage a move
- fm_preview()- Preview staged moves
- fm_commit()- Execute staged moves
- fm_cancel()- Cancel session
- fm_help()- Get help

git clone <repository-url> cd FileMoverMcp dotnet build FileMoverMcp.sln dotnet test FileMoverMcp.sln

To run as MCP server during development:

dotnet run --project FileMoverMcp.Cli/FileMoverMcp.Cli.csproj -- --mcp
dotnet pack FileMoverMcp.Cli/FileMoverMcp.Cli.csproj --configuration Release

A pyRevit-based MCP server for Autodesk Revit, enabling connection to any MCP-compatible client.

Logs file edits, decisions, and commands so agents stay in sync, avoid conflicts, and pick up where others left off.

A local server that allows AI to execute Windows CMD commands, read/write files, and manage directories within a specified path.

Securely browse and read files within an Android project, with built-in validation and access controls for sensitive directories.

An MCP server for viewing, editing, and creating text files, based on the Claude built-in text editor tool.

A cross-platform filesystem server for Linux, macOS, and Windows with secure path restrictions.

Organize files in your Downloads folder using Cursor IDE with customizable rules.

Visualize directory structures with real-time updates, configurable depth, and smart exclusions for efficient project navigation.

A Node.js MCP server for managing local files, processes, and terminal sessions.

A high-performance Model Context Protocol (MCP) server that provides secure filesystem access and AI-optimized code development tools for Claude and other AI assistants.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.