文件夹重构分析工具

一款分析文件访问时间以帮助识别不常用文件并进行文件夹重构的MCP服务器工具。

  • by SwarupRavi
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 SwarupRavi/MCP_Folder_restructure

使用说明

文件夹重构MCP服务器

一种MCP服务器,用于分析文件访问时间,以帮助识别很少使用的文件进行文件夹重组。

特性

  • find_rarely_used_files:查找在指定天数内未被访问的文件
  • 获取_文件_状态:获取目录中文件访问模式的总体统计信息
  • 查找重复项:根据大小和名称查找重复文件,计算浪费的空间
  • find_large_files:确定占用空间最大的文件
  • 分析_扩展:按类型(.jpg、.mp4等)对文件进行分组,显示计数和总大小
  • 建议清理:基于年龄和体型的智能清理建议

安装

# Install uv (required)
brew install uv

# The server will be run via uvx, no additional installation needed

配置

已在中配置 .kiro/settings/mcp.json:

{
  "mcpServers": {
    "folder-restructure": {
      "command": "uvx",
      "args": [
        "--directory",
        "/Users/swarupravi/Downloads/MCP_server_folder",
        "fastmcp",
        "run",
        "folder_restructure_mcp/server.py"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

如何使用

方法1:通过Kiro AI(最简单)

用自然语言问我:

"Find duplicate files in ~/Downloads"
"Show me the largest files in ~/Documents over 50MB"
"What file types are taking up space in ~/Projects"
"Find files in ~/Downloads not accessed in 6 months"
"Suggest cleanup for ~/Downloads"

我会自动调用正确的MCP工具并向您显示结果!

方法2:终端CLI(直接访问)

使用 folder-analyze 命令:

# Find large files over 100MB
./folder-analyze large ~/Downloads 100 10

# Find duplicates
./folder-analyze duplicates ~/Downloads

# Analyze by file extension
./folder-analyze extensions ~/Projects

# Get file access statistics
./folder-analyze stats ~/Documents

# Find rarely used files (not accessed in 180 days)
./folder-analyze rarely-used ~/Downloads 180

# Get cleanup suggestions
./folder-analyze cleanup ~/Downloads 180 5

可用命令:

  • large <dir> [min_mb] [max_results] -查找最大的文件
  • duplicates <dir> [min_kb] -查找重复文件
  • extensions <dir> [top_n] -按文件类型分析
  • stats <dir> -获取访问统计信息
  • rarely-used <dir> [days] [min_kb] -查找旧文件
  • cleanup <dir> [days] [min_mb] -获取清理建议

方法2:直接测试(终端)

直接测试服务器:

# Run in development mode with interactive testing
uvx fastmcp dev folder_restructure_mcp/server.py

# Or run the server
uvx --directory /Users/swarupravi/Downloads/MCP_server_folder fastmcp run folder_restructure_mcp/server.py

方法3:Python脚本

创建测试脚本:

from folder_restructure_mcp.server import (
    find_rarely_used_files,
    find_duplicates,
    find_large_files,
    analyze_by_extension,
    suggest_cleanup
)

# Find large files
result = find_large_files("~/Downloads", min_size_mb=50, max_results=10)
print(result)

# Find duplicates
result = find_duplicates("~/Downloads", min_size_kb=100)
print(result)

工具参考

find_rarely_used_files

查找最近未访问的文件。

  • directory:分析路径(必填)
  • days_threshold:自上次访问以来的天数(默认值:90)
  • min_size_kb:最小文件大小(KB)(可选)
  • max_results:返回的最大结果数(默认值:100)

获取_文件_状态

获取总体文件访问统计信息。

  • directory:分析路径(必填)

查找重复项

查找重复文件和浪费的空间。

  • directory:分析路径(必填)
  • min_size_kb:仅检查大于此值的文件(默认值:0)

find_large_files

查找最大的文件。

  • directory:分析路径(必填)
  • min_size_mb:最小文件大小(MB)(默认值:10)
  • max_results:返回的最大结果数(默认值:50)

分析_扩展

分析按扩展名分组的文件。

  • directory:分析路径(必填)
  • top_n:要返回的顶级扩展数(默认值:20)

建议清理

智能清理建议。

  • directory:分析路径(必填)
  • days_threshold:这几天内未访问的文件(默认值:180)
  • min_size_mb:最小文件大小(MB)(默认值:1)

例子

问我这些问题中的任何一个:

  1. “在~/Downloads中查找重复项”

    • 显示重复文件以及可以节省多少空间
  2. “我在~/Documents中最大的文件是什么?”

    • 按大小列出超过10MB的文件
  3. “分析~/Projects中的文件类型”

    • 显示哪些扩展名(.js、.py、.mp4)占用的空间最大
  4. “建议对~/Downloads进行清理”

    • 为您可能要删除的旧大文件提供智能建议
  5. “查找~/Desktop中1年内未访问的文件”

    • 列出您在365+天内未接触过的文件

自动分析(Cron作业)

每6小时自动运行一次分析并保存报告:

# Setup cron job (runs at 00:00, 06:00, 12:00, 18:00)
./setup-cron.sh

# Run analysis manually
./run-analysis.sh

# View reports
./view-reports.sh --latest

# Check cron job status
crontab -l

# Remove cron job
crontab -l | grep -v 'run-analysis.sh' | crontab -

报告位置: analysis-reports/analysis_YYYYMMDD_HHMMSS.json

每份报告包括:

  • 大文件(>50MB)
  • 重复文件(>100KB)
  • 文件统计
  • 文件类型分析
  • 清理建议

报告会自动清理(保留最后30份)。

发展

在本地运行以进行测试:

uvx fastmcp dev folder_restructure_mcp/server.py