首页/文件系统/mcp-files-cleanup

mcp-files-cleanup

查看源码
2025-5-11
Words 1531Read Time 4 min
Score:85

用于识别和清理无用文件的MCP服务器,帮助用户整理文件系统,回收磁盘空间。

TypeScript

files-cleanup

概述

files-cleanup 是一个基于 Model Context Protocol (MCP) 的服务器工具,旨在识别指定目录中潜在的无用文件和重复文件。它会递归扫描目录,直至指定的深度,检查空文件和内容相同的文件(基于 MD5 哈希值)。
该工具对于清理文件系统和回收磁盘空间非常有用。它是一个只读工具,不会对系统中的文件进行任何修改。

功能

  • 查找空文件: 识别大小为 0 的文件。
  • 检测重复文件: 使用 MD5 哈希值查找内容相同的文件。
  • 可配置的搜索深度: 允许限制递归深度,避免扫描过多目录。
  • 可配置的文件数量限制: 设置最大处理文件数,防止执行时间过长。
  • 优雅的错误处理: 报告无法访问的目录或读取错误等问题。
  • 提供清晰的输出: 列出潜在的无用文件和重复文件组及其路径。
  • 尊重常见的排除模式: 默认跳过 node_modules.git 目录。
  • 限制每个目录的处理数量: 每个目录最多处理 100 个项目,以提高在非常大的目录中的响应速度。
  • 时间和文件数量限制: 当达到最大执行时间或文件数量时停止扫描。

使用方法

此 MCP 服务器提供了一个工具:find-useless-files。要使用它,您需要一个可以通过标准输入/输出(stdio)传输连接到该服务器的 MCP 客户端。
find-useless-files 工具接受以下参数:
该工具返回一个包含 content 数组的结果,其中包含文本块。输出将列出:
  • 找到的潜在无用文件数量。
  • 潜在无用文件列表及其原因(例如,“(空文件)”)。
  • 找到的重复文件数量。
  • 重复文件列表,指示每个重复文件的原始文件(例如,“path/to/duplicate.txt (重复于 path/to/original.txt)”)。
  • 扫描过程中发生的任何错误消息。

入门指南

开发模式

  1. 安装依赖项: 确保已安装必要的包:
    1. 使用检查器运行服务器: 使用 Node.js 执行服务器脚本:
      1. 服务器将启动并监听 MCP 客户端连接,您可以通过以下 URL 访问 UI:http://localhost:6274/

    连接到 Claude

    1. 安装依赖项: 确保已安装必要的包:
      1. 运行服务器: 使用 Node.js 执行服务器脚本:
        1. 服务器将启动并监听其标准输入和输出流上的 MCP 客户端连接。
      1. 使用 MCP 客户端连接: 使用 MCP 客户端向 find-useless-files 工具发送请求,提供 directory 参数,并可选地提供 maxDepthmaxFiles

      示例交互(概念性)

      假设您有一个 MCP 客户端,您可能会发送如下请求(具体格式取决于您的客户端):
      服务器将处理请求并返回类似以下的响应:

      重要注意事项

      • “无用”定义: 目前,该工具仅将空文件和空目录视为“无用”。开发过程刚刚开始。
      • 文件删除: 该工具仅识别潜在的无用文件和重复文件。它不会删除任何文件。 您需要手动查看报告的文件并决定删除哪些文件。删除文件时请务必谨慎。
      • 性能: 扫描具有高 maxDepthmaxFiles 的大型目录可能会花费大量时间。根据扫描目录的大小调整这些参数。
      • 错误处理: 虽然该工具包含基本的错误处理,但在生产使用中,您可能需要添加更健壮的错误报告和日志记录。
      • 重复检测和大文件: 当前的重复检测会读取每个文件的全部内容以计算 MD5 哈希值。对于非常大的文件,这可能会占用大量内存。为了提高大文件的效率,请考虑使用流式哈希计算,并可能首先比较文件大小。

      潜在改进

      • 更复杂的“无用”文件检测: 实现对常见临时文件扩展名(例如 .tmp.log)、备份文件或基于修改日期的文件的检查。
      • 忽略特定文件或模式的选项: 允许用户提供要排除在扫描之外的文件名或模式列表。
      • 交互模式(带客户端): 开发一个 MCP 客户端,允许用户浏览找到的文件并选择性地删除它们(带确认步骤!)。
      • 进度报告: 向客户端提供扫描进度的反馈,特别是对于长时间运行的操作。
      • 配置文件: 允许用户通过配置文件配置 maxDepthmaxFiles 和其他选项的默认值。
      上一篇
      mysql-mcp-server
      下一篇
      pgsql-mcp-server