项目简介

folder-mcp是一个基于Model Context Protocol (MCP) 标准的服务器实现,专门用于让大型语言模型(LLM)能够安全地访问和操作本地文件系统。通过标准化协议,它为Claude Desktop、Cursor、VSCode等MCP客户端提供文件夹浏览、文件搜索和内容读取等功能,无需将文件上传到云端即可实现本地文档的RAG能力。

主要功能

🔒 安全文件访问

  • 读取指定文件夹中的文件内容
  • 路径验证防止目录遍历攻击
  • 支持多种文件类型和编码格式

📁 文件系统操作

  • 递归列出文件夹中的所有文件
  • 支持文件名模式搜索(glob模式)
  • 获取文件夹信息和元数据
  • 自动排除常见目录(node_modules、.git等)

🔧 MCP集成

  • 标准MCP协议服务器实现
  • 与Claude Desktop等MCP客户端兼容
  • 使用Stdio传输实现无缝集成

🛠️ 可用工具

  1. read_file - 读取文件夹中特定文件的内容

    • folder_path: 包含文件的文件夹路径
    • file_path: 文件夹内的文件相对路径
  2. search_files - 按模式搜索文件

    • folder_path: 要搜索的文件夹路径
  • pattern: 文件模式(如".md"、".txt")
  1. list_files - 递归列出文件夹中的所有文件

    • folder_path: 要列出的文件夹路径
  2. get_folder_info - 获取文件夹信息(文件数量和元数据)

    • folder_path: 要分析的文件夹路径

安装步骤

  1. 克隆仓库:
git clone https://github.com/okets/folder-mcp.git
cd folder-mcp
  1. 安装依赖:
npm install
  1. 构建项目:
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.*'(配置文件)

安全特性

  • 严格的路径验证机制
  • 自动排除敏感目录
  • 完善的错误处理和权限管理

信息

分类

数据库与文件