关于 FileMoverMcp
FileMoverMcp 是一款通过暂存和确认来安全移动文件或目录的工具,适用于命令行用户和 AI Agent。它支持预览待执行操作,并以会话工作流在命令行与 MCP 模式间共享状态。
主要功能
- 01暂存文件和目录移动
- 02预览待执行的移动
- 03提交或取消操作
- 04目标目录自动创建
- 05路径限制在会话目录内
- 06覆盖目标需显式启用
适用场景
- 01批量整理文件前检查移动计划
- 02重构目录时移动文件并保留结构
- 03在命令行暂存后通过 MCP 提交
MCP 相关
作为 MCP 服务运行时,它向客户端提供初始化会话、暂存移动、预览、提交和取消等工具。命令行与 MCP 模式共享会话存储。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
FileMoverMcp
用于安全暂存并执行文件移动的工具。既可作为命令行工具使用,也可作为面向 AI Agent 的 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 时,现有目标将被完全替换。
路径受沙盒限制
所有路径均相对于会话的基础目录。尝试引用该目录之外的路径将被拒绝。
会话共享
命令行模式和 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。