文件夹重构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 [min_mb] [max_results]-查找最大的文件duplicates [min_kb]-查找重复文件extensions [top_n]-按文件类型分析stats-获取访问统计信息rarely-used [days] [min_kb]-查找旧文件cleanup [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)
例子
问我这些问题中的任何一个:
- “在~/Downloads中查找重复项”
- 显示重复文件以及可以节省多少空间
- “我在~/Documents中最大的文件是什么?”
- 按大小列出超过10MB的文件
- “分析~/Projects中的文件类型”
- 显示哪些扩展名(.js、.py、.mp4)占用的空间最大
- “建议对~/Downloads进行清理”
- 为您可能要删除的旧大文件提供智能建议
- “查找~/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