FilerMoverMcp
Una herramienta de movimiento de archivos que prepara y ejecuta traslados de archivos de forma segura. Funciona tanto como herramienta CLI como servidor MCP para agentes de IA.
Documentación
FileMoverMcp
Una herramienta de movimiento de archivos que prepara y ejecuta movimientos de archivos de forma segura. Funciona tanto como herramienta CLI como servidor MCP (Model Context Protocol) para agentes de IA.
Instalación
dotnet tool install --global FileMoverMcp
dotnet tool update --global FileMoverMcp
dotnet tool uninstall --global FileMoverMcp
Después de la instalación, el comando fm estará disponible globalmente.
Configuración de MCP
Para registrarse como herramienta MCP en Claude Code:
claude mcp add filemover -- fm --mcp
Para Cursor u otros clientes MCP, añade esto a tu configuración de MCP:
{
"mcpServers": {
"filemover": {
"command": "fm",
"args": ["--mcp"]
}
}
}
Uso
El flujo de trabajo es: inicializar una sesión, preparar movimientos, previsualizar y luego confirmar (o cancelar).
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
Ejemplos
# 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
Comportamiento
Los directorios se crean automáticamente
Si la ruta de destino incluye directorios que aún no existen, se crearán automáticamente. Por ejemplo, fm mv "file.txt" "a/b/c/file.txt" creará a/b/c/ si es necesario.
Los archivos y directorios se detectan automáticamente
Cuando ejecutas fm mv, la herramienta comprueba si el origen es un archivo o un directorio y lo maneja en consecuencia. Los movimientos de directorios conservan toda la estructura interna, incluidos los subdirectorios anidados.
La sobrescritura es opcional
Si el destino ya existe (archivo o directorio), el movimiento se rechazará a menos que pases --overwrite. Con --overwrite, el destino existente se reemplaza por completo.
Las rutas están en un entorno aislado
Todas las rutas son relativas al directorio base de la sesión. Se rechazará cualquier intento de referenciar rutas fuera de él.
Las sesiones se comparten
El modo CLI y el modo MCP comparten el mismo almacenamiento de sesiones, por lo que puedes inicializar una sesión en un modo y confirmarla en el otro.
Como servidor MCP
fm --mcp
Cuando se ejecuta como servidor MCP, están disponibles las siguientes herramientas:
fm_init(path?: string)- Inicializar una sesiónfm_move(source: string, destination: string, overwrite: boolean)- Preparar un movimientofm_preview()- Previsualizar movimientos preparadosfm_commit()- Ejecutar movimientos preparadosfm_cancel()- Cancelar sesiónfm_help()- Obtener ayuda
Desarrollo
git clone <repository-url>
cd FileMoverMcp
dotnet build FileMoverMcp.sln
dotnet test FileMoverMcp.sln
Para ejecutar como servidor MCP durante el desarrollo:
dotnet run --project FileMoverMcp.Cli/FileMoverMcp.Cli.csproj -- --mcp
Para empaquetar:
dotnet pack FileMoverMcp.Cli/FileMoverMcp.Cli.csproj --configuration Release
Licencia
Licencia MIT