垃圾清理器mcp服务器
一种桌面MCP服务,提供扫描、分析和清理垃圾文件的工具,主要针对macOS进行了优化。
注: 大多数清洁工具(cleanAppCaches, cleanTempFiles, cleanAppRemnants, smartCleanSystem)专为以下目的而设计和测试 macOS。在其他系统上运行它们可能不起作用或导致意外行为。
特性
- 跨平台: (计划)支持Windows、macOS、Linux。
- 智能扫描: 识别各种类型的垃圾文件(缓存、日志、临时文件等)。
- 选择性清洁: 用于清理特定区域的工具,如应用程序缓存、临时文件和应用程序残留物。
- VS代码扩展管理: 查找和清理旧/未使用的VS代码扩展的工具。
- 文件系统实用程序: 目录分析、文件查找、大小计算、删除等工具。
- 系统信息: 基本操作系统检测。
- 审核日志记录: 通过以下方式跟踪操作
[Audit]工具。 - 计划任务: 使用灵活的调度程序自动执行清洁和其他任务。
- 使用cron表达式或简单间隔定义任务。 - 将任何已注册的工具作为执行目标。 - 使用精确的工具名称创建/更新任务(toolName)或自然语言查询(toolQuery)通过模糊匹配。 - 完整任务管理(列表、详细信息、更新、启用/禁用、删除)。 - 手动触发和执行历史跟踪。
可用工具(功能)
此服务器注册了几个可通过MCP协议调用的工具:
macOS清洁工具(针对macOS进行了优化):
macOSWarning:如果在非macOS系统上运行,则显示警告。cleanAppCaches:清理各种应用程序缓存(用户缓存、保存的应用程序状态)。
- 选项: dryRun (bool,默认值:true), olderThan (int,可选-天)。
cleanTempFiles:清除系统临时文件。
- 选项: dryRun (bool,默认值:true), olderThan (int,可选,默认值:7天)。
cleanAppRemnants:扫描并清除已卸载应用程序留下的配置/缓存文件。
- 选项: appName (字符串,可选-部分名称匹配), dryRun (bool,默认值:true)。
smartCleanSystem:根据预定义的级别执行系统清理(针对常见的垃圾位置)。
- 选项: cleanLevel (枚举:“安全”、“正常”、“深度”,默认值:“安全的”), dryRun (bool,默认值:true)。
跨平台工具(扫描、文件系统、操作系统):
cleanVSCodeExtensions:清除过时版本的VS Code(以及兼容的编辑器,如VSCodium、Cursor)扩展。
- 选项: editorPath (字符串,可选-特定编辑器扩展名的路径,默认:扫描所有已知位置), dryRun (bool,默认值:true)。
reportVSCodeExtensions:生成一份报告,列出可以清理的过时VS代码扩展名。
- 选项: editorPath (字符串,可选)。
findLargeFiles:查找目录中超过指定大小的文件。
- 选项: path (字符串), minSize (int,默认值:100MB), maxDepth (int,默认值:3)。
scanFullSystem:扫描整个系统的文件结构(尊重排除项)以报告空间使用情况。
- 选项: excludePaths (string\[\],可选), maxDepth (int,默认值:10)。
scanDirectory:分析特定目录中的内容和大小分布。
- 选项: path (字符串), excludePaths (string\[\],可选), maxDepth (int,默认值:10), includeSubdirs (bool,默认值:true)。
getFolderSize:计算并返回文件夹的总大小。
- 选项: path (字符串)。
listDirectory:列出指定路径中的文件和子目录。
- 选项: path (字符串), showHidden (bool,默认值:false)。
findFiles:在目录中搜索与特定模式(支持通配符)匹配的文件。
- 选项: path (字符串), pattern (字符串), maxDepth (int,默认值:5)。
analyzeDirectory:提供目录中文件类型和大小分布的统计信息。
- 选项: path (字符串), includeSubdirs (bool,默认值:true)。
getFileHash:计算文件的MD5、SHA1或SHA256哈希值。
- 选项: path (字符串), algorithm (枚举:“md5”、“sha1”、“sha256”,默认值:“md五”)。
getFileType:检索基本文件信息,包括MIME类型。
- 选项: path (字符串)。
deletePath:删除指定的文件或文件夹(需要明确确认,并额外检查危险路径)。
- 选项: path (字符串), confirm (bool,必须为真), dangerConfirm (bool,可选-对于有潜在风险的删除是必需的)。
checkPathExists:检查给定的路径是否存在,并确定它是文件还是目录。
- 选项: path (字符串)。
getSystemType:返回操作系统标识符(例如“darwin”、“win32”、“linux”)。
审计工具:
viewAuditLog:查看应用程序主日志文件中的最新行(combined.log).
- 选项: lines (int,默认值:100,最大值:1000)。
clearAuditLog: 删除 主应用程序日志文件(combined.log).需要确认。
- 选项: confirm (bool,必须为true)。
计划任务(TrashCleaner_Scheduler 工具)
提供安排其他已注册工具执行的功能。
TrashCleaner_Scheduler_CreateTask:创建新的计划任务。
- 需要 name, cronExpression. - 需要 *要么* toolName (精确的工具名称,如 "TrashCleaner_CleanAppCaches") *或* toolQuery (模糊描述,如 "clean app caches"). - 可选的 toolParams, enabled.
TrashCleaner_Scheduler_ListTasks:列出所有已配置的计划任务及其状态。TrashCleaner_Scheduler_GetTaskDetails:按ID获取特定任务的详细信息。TrashCleaner_Scheduler_UpdateTask:更新现有任务。可以修改名称、计划、目标工具(通过toolName或toolQuery)、参数和启用状态。TrashCleaner_Scheduler_EnableTask:启用已禁用的任务。TrashCleaner_Scheduler_DisableTask:禁用已启用的任务。TrashCleaner_Scheduler_DeleteTask:永久删除计划任务。TrashCleaner_Scheduler_RunTaskNow:手动立即触发任务的执行。TrashCleaner_Scheduler_GetTaskHistory:检索任务的最近执行历史记录(成功/失败)。
技术栈
- Bun.js
- TypeScript
用法
发布到npm后,您可以使用Bun或npm运行MCP服务器:
使用Bun:
bunx @childhoodandy/trash-cleaner-mcp-server
# or with auto-install
bunx -y @childhoodandy/trash-cleaner-mcp-server使用npm:
npx @childhoodandy/trash-cleaner-mcp-server
# or with auto-install
npx -y @childhoodandy/trash-cleaner-mcp-server安装
# Clone the repository
git clone
cd trash-cleaner-mcp-server
# Install dependencies (using Bun)
bun install运行服务器
bun start配置
- 日志配置已在
src/utils/logger.ts. - 计划任务定义存储在
~/.trash-cleaner/schedules.json.
发展
*(开发指南仍在此处…)*
