项目简介
folder-mcp是一个基于Model Context Protocol (MCP) 标准的服务器实现,专门用于让大型语言模型(LLM)能够安全地访问和操作本地文件系统。通过标准化协议,它为Claude Desktop、Cursor、VSCode等MCP客户端提供文件夹浏览、文件搜索和内容读取等功能,无需将文件上传到云端即可实现本地文档的RAG能力。
主要功能
🔒 安全文件访问
- 读取指定文件夹中的文件内容
- 路径验证防止目录遍历攻击
- 支持多种文件类型和编码格式
📁 文件系统操作
- 递归列出文件夹中的所有文件
- 支持文件名模式搜索(glob模式)
- 获取文件夹信息和元数据
- 自动排除常见目录(node_modules、.git等)
🔧 MCP集成
- 标准MCP协议服务器实现
- 与Claude Desktop等MCP客户端兼容
- 使用Stdio传输实现无缝集成
🛠️ 可用工具
-
read_file - 读取文件夹中特定文件的内容
- folder_path: 包含文件的文件夹路径
- file_path: 文件夹内的文件相对路径
-
search_files - 按模式搜索文件
- folder_path: 要搜索的文件夹路径
- pattern: 文件模式(如".md"、".txt")
-
list_files - 递归列出文件夹中的所有文件
- folder_path: 要列出的文件夹路径
-
get_folder_info - 获取文件夹信息(文件数量和元数据)
- folder_path: 要分析的文件夹路径
安装步骤
- 克隆仓库:
git clone https://github.com/okets/folder-mcp.git cd folder-mcp
- 安装依赖:
npm install
- 构建项目:
npm run build
服务器配置
在MCP客户端(如Claude Desktop)中配置:
{ "mcpServers": { "folder-mcp": { "command": "node", "args": [ "/完整路径/folder-mcp/dist/mcp-server.js", "/完整路径/folder-mcp" } } }
配置说明:
- command: 使用Node.js运行服务器
- args[0]: 指向编译后的服务器文件
- args[1]: 指定要访问的文件夹路径
使用提示
- 所有日志输出都重定向到stderr,确保stdout只输出有效的JSON-RPC消息
- 项目目前处于开发阶段,已实现基础文件操作功能
- 支持的文件模式:'.md'(Markdown文件)、'**/.js'(递归JavaScript文件)、'config.*'(配置文件)
安全特性
- 严格的路径验证机制
- 自动排除敏感目录
- 完善的错误处理和权限管理
信息
分类
数据库与文件