文件系统MCP服务器

本项目是一个基于 Model Context Protocol (MCP) 标准构建的文件系统服务器,旨在为大型语言模型 (LLM) 提供安全、可控的文件系统访问能力。通过标准化的工具接口,LLM 可以调用服务器提供的各种文件和目录操作功能,实现与本地文件系统的交互。

主要功能点

  • 文件操作: 提供文件的读取、写入、追加、复制、移动、删除等基本操作。
  • 目录操作: 支持目录的创建、删除、复制、列出目录内容(包括递归列出)等操作。
  • 文件分析: 具备文件类型检测、文本文件分析(如行数、字数、编码检测)、计算文件哈希值、查找重复文件等功能。
  • 压缩与解压: 支持创建和提取 ZIP 压缩包。
  • 文件监控: 可以监控目录的文件变化,例如文件的新增、修改和删除。
  • 权限管理: 提供获取和设置文件权限的功能。
  • 元数据管理: 获取文件的扩展元数据,以及比较文件差异。
  • 流式操作: 支持使用流的方式高效处理文件,例如流式复制、分块写入、以及行级别的转换处理。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/bsmi021/mcp-filesystem-server
    cd mcp-filesystem-server
  2. 安装依赖:

    npm install
  3. 构建服务器:

    npm run build

服务器配置

为了让 MCP 客户端能够连接到文件系统 MCP 服务器,您需要在客户端的配置文件 'cline_mcp_settings.json' 中添加服务器配置信息。以下是一个示例配置,请根据您的实际情况进行调整:

{
  "mcpServers": {
    "filesystem": { // 服务器名称,客户端通过此名称引用
      "command": "node", // 启动服务器的命令,这里使用 node.js 运行时
      "args": ["path/to/mcp-filesystem-server/build/index.js"] // 启动命令的参数,指向服务器入口文件
    }
  }
}

配置参数说明:

  • server name (filesystem): 您为该文件系统服务器指定的名称。客户端将使用此名称来识别和调用此服务器。您可以自定义服务器名称。
  • command (node): 运行服务器程序的可执行命令。由于此服务器是 Node.js 应用,所以这里设置为 'node'。
  • args (["path/to/mcp-filesystem-server/build/index.js"]): 传递给 'command' 的参数,用于指定服务器程序的入口文件路径。请将 'path/to/mcp-filesystem-server' 替换为您的文件系统MCP服务器的实际安装路径。

注意: 请确保 'path/to/mcp-filesystem-server/build/index.js' 路径是正确的,指向您克隆并构建后的服务器入口文件。MCP 客户端会读取此配置信息,并使用 'command' 和 'args' 来启动文件系统 MCP 服务器。

基本使用方法

  1. 启动服务器: MCP 客户端会根据 'cline_mcp_settings.json' 中的配置自动启动文件系统 MCP 服务器。您无需手动启动。

  2. 客户端调用工具: 在 MCP 客户端中,您可以使用 'filesystem' 这个服务器名称来调用文件系统工具。例如,要列出目录 '/path/to/directory' 的内容,您可以调用 'list_directory' 工具,并传递 'path' 参数:

    {
      "server": "filesystem",
      "tool": "list_directory",
      "arguments": {
        "path": "/path/to/directory"
      }
    }

    您可以参考仓库 'README.md' 中的 "Tool Reference" 章节,了解每个工具的具体参数和使用方法。通过组合不同的工具,LLM 可以在您的授权下,安全地访问和操作文件系统资源。

信息

分类

数据库与文件