File Organizer MCP Server
用途说明
-
项目简介 该项目实现了一个基于 MCP 的服务器端后端,面向智能文件组织场景。它通过 MCP 提供统一的接口,让 LLM 客户端能够检索资源、注册和调用工具以及定义和渲染提示模板,从而在对话中动态调用外部功能、获取数据与渲染交互模板。服务器侧负责会话管理、能力声明,并支持多种传输方式(当前实现为标准输入/输出传输,未来可扩展为 SSE、WebSocket 等)。
-
主要功能点
- 提供一组围绕“文件组织与管理”的核心工具(如扫描目录、列出文件、按类型分类、查找大文件、查重、组织到分类文件夹、重命名批处理等)。
- 安全性与鲁棒性:实现基于白名单/黑名单的路径访问控制,使用 O_NOFOLLOW 等机制避免 TOCTOU 漏洞,进行输入校验和结果序列化,具备错误上报与审计能力。
- 任务编排与回滚:支持组织任务的计划、执行、及回滚(撤销上一次操作),并可将操作记录以清单形式保存用于后续回滚。
- 可扩展的工具注册与调用:通过 MCP 的工具注册与调用机制,允许 LLM 客户端远程查询工具并执行参数化请求。
- 容易集成到现有 LLM 交互流程中:提供 JSON-RPC 风格的请求处理和 Markdown/JSON 两种响应格式,便于在不同客户端进行对接。
-
安装步骤
- 克隆仓库并进入项目目录。
- 使用 Node.js 18 及以上版本安装依赖:npm install。
- 构建(如有构建脚本):npm run build。
- 以 MCP 客户端的方式启动服务器(示例:通过 npx 启动,或直接用 node 启动打包产物),监听并通过 MCP 标准传输通道与客户端通信。
- 客户端配置要点(见下方“服务器配置”部分),确保服务器名称、命令及参数与客户端对接信息一致。
-
服务器配置(给 MCP 客户端使用的配置示例) 说明:以下配置为 MCP 客户端在 Claude Desktop 等环境中连接该 MCP 服务器时的启动信息文本说明,用于帮助客户端正确建立连接。你需要在客户端的配置 JSON 中填入等效的字段。
- serverName: file-organizer
- command: npx
- args: ["file-organizer-mcp"] 说明:服务器名称与仓库中的 MCP 服务名称保持一致,启动命令使用 npx 启动该 MCP 服务包,参数为执行入口。注意实际路径与命令需根据你的部署方式调整。
-
基本使用方法
- LLM 客户端会通过 MCP 协议向服务器请求工具列表、调用特定工具、或获取提示模板等。
- 使用场景示例:LLM 在对话中“扫描下载文件夹并给出大文件清单”,可以通过调用 file_organizer_find_largest_files 等工具实现。
- 交互格式支持两种:json 输出便于程序化消费,markdown 输出便于人工审阅或直接显示给用户。
-
关键词 文件组织, 安全性, 自动化, 任务回滚, 工具集成
-
分类 1