mcpField
F
FileMoverMcp

FileMoverMcp

本地服务
github.com/AdamTovatt文件与存储029 周前更新

关于 FileMoverMcp

FileMoverMcp 是一款通过暂存和确认来安全移动文件或目录的工具,适用于命令行用户和 AI Agent。它支持预览待执行操作,并以会话工作流在命令行与 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

用于安全暂存并执行文件移动的工具。既可作为命令行工具使用,也可作为面向 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 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。