FileMoverMcp について
FileMoverMcpは、ファイルやディレクトリの移動を実行前にステージングして確認できるツールです。コマンドライン利用者やAIエージェント向けで、プレビューを備え、コマンドラインとMCPモードでセッション状態を共有します。
主な機能
- 01ファイルやディレクトリ移動のステージング
- 02移動内容のプレビュー
- 03操作の実行またはキャンセル
- 04移動先ディレクトリの自動作成
- 05セッションの基準パス内に制限
- 06上書きには明示的な指定が必要
活用シーン
- 01ファイル移動をまとめて実行前に確認
- 02リファクタリング時に構造を保ってファイルを移動
- 03コマンドラインで準備しMCP経由で実行
MCP 対応
MCPサーバーとして、セッションの初期化、移動のステージング、プレビュー、実行、キャンセルのツールを公開します。コマンドラインモードとMCPモードでセッションストレージを共有します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
FileMoverMcp
ファイル移動を安全に準備し、実行するツールです。CLI ツールとしても、AI エージェント向けの MCP(Model Context Protocol)サーバーとしても動作します。
インストール
dotnet tool install --global FileMoverMcp
dotnet tool update --global FileMoverMcp
dotnet tool uninstall --global FileMoverMcp
インストール後、fm コマンドをグローバルに利用できるようになります。
MCP の設定
Claude Code で MCP ツールとして登録するには、次のようにします。
claude mcp add filemover -- fm --mcp
Cursor やその他の MCP クライアントでは、MCP の設定に次の内容を追加してください。
{
"mcpServers": {
"filemover": {
"command": "fm",
"args": ["--mcp"]
}
}
}
使用方法
ワークフローは、セッションを初期化し、移動を準備してプレビューした後、確定(またはキャンセル)する流れです。
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
動作
ディレクトリは自動的に作成されます
移動先のパスに存在しないディレクトリが含まれる場合、そのディレクトリは自動的に作成されます。たとえば、fm mv "file.txt" "a/b/c/file.txt" を実行すると、必要に応じて a/b/c/ が作成されます。
ファイルとディレクトリは自動判定されます
fm mv を実行すると、ツールは移動元がファイルかディレクトリかを確認し、それに応じて処理します。ディレクトリを移動する場合、サブディレクトリを含む内部構造全体が保持されます。
上書きは明示的な指定が必要です
移動先にファイルまたはディレクトリがすでに存在する場合、--overwrite を指定しない限り移動は拒否されます。--overwrite を指定すると、既存の移動先は完全に置き換えられます。
パスはサンドボックス化されています
すべてのパスはセッションのベースディレクトリからの相対パスです。このディレクトリの外を参照しようとすると拒否されます。
セッションは共有されます
CLI モードと MCP モードは同じセッションストレージを共有するため、一方のモードでセッションを初期化し、もう一方のモードで確定できます。
MCP サーバーとして
fm --mcp
MCP サーバーとして実行すると、次のツールを利用できます。
fm_init(path?: string)- セッションを初期化しますfm_move(source: string, destination: string, overwrite: boolean)- 移動を準備しますfm_preview()- 準備した移動をプレビューしますfm_commit()- 準備した移動を実行しますfm_cancel()- セッションをキャンセルしますfm_help()- ヘルプを表示します
開発
git clone <repository-url>
cd FileMoverMcp
dotnet build FileMoverMcp.sln
dotnet test FileMoverMcp.sln
開発中に MCP サーバーとして実行するには、次のようにします。
dotnet run --project FileMoverMcp.Cli/FileMoverMcp.Cli.csproj -- --mcp
パッケージを作成するには、次のようにします。
dotnet pack FileMoverMcp.Cli/FileMoverMcp.Cli.csproj --configuration Release
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。