mcpField
F
FileMoverMcp

FileMoverMcp

ローカル
github.com/AdamTovattファイル・ストレージ029 週間前に更新

FileMoverMcp について

FileMoverMcpは、ファイルやディレクトリの移動を実行前にステージングして確認できるツールです。コマンドライン利用者やAIエージェント向けで、プレビューを備え、コマンドラインとMCPモードでセッション状態を共有します。

主な機能

  1. 01ファイルやディレクトリ移動のステージング
  2. 02移動内容のプレビュー
  3. 03操作の実行またはキャンセル
  4. 04移動先ディレクトリの自動作成
  5. 05セッションの基準パス内に制限
  6. 06上書きには明示的な指定が必要

活用シーン

  1. 01ファイル移動をまとめて実行前に確認
  2. 02リファクタリング時に構造を保ってファイルを移動
  3. 03コマンドラインで準備しMCP経由で実行

MCP 対応

MCPサーバーとして、セッションの初期化、移動のステージング、プレビュー、実行、キャンセルのツールを公開します。コマンドラインモードとMCPモードでセッションストレージを共有します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

FileMoverMcp

Tests NuGet Version NuGet Downloads License: MIT

ファイル移動を安全に準備し、実行するツールです。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 ライセンス

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。