使用说明
垃圾清理器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 <repository-url>
cd trash-cleaner-mcp-server
# Install dependencies (using Bun)
bun install
运行服务器
bun start
配置
- 日志配置已在
src/utils/logger.ts. - 计划任务定义存储在
~/.trash-cleaner/schedules.json.
发展
(开发指南仍在此处…)
