使用说明

项目简介

本项目 'mcp_file_system' 是一个基于 Model Context Protocol (MCP) 实现的文件系统服务器。它允许大型语言模型(LLM)通过标准化的 MCP 协议安全地访问和操作服务器运行环境中的文件系统。该服务器提供了一系列工具,用于文件读写、目录管理、文件搜索等操作,并支持通过白名单目录限制访问范围,增强安全性。

主要功能点

  • 文件操作:支持读取和写入文件内容。
  • 目录管理:支持创建、列出和删除目录。
  • 文件移动和重命名:支持移动和重命名文件及目录。
  • 文件元数据检索:获取文件或目录的详细信息。
  • 文件搜索:在指定目录下搜索文件。
  • 访问控制:通过启动时指定允许访问的目录,限制所有文件操作在这些目录范围内,保障安全。

安装步骤

  1. 安装依赖: 在项目根目录下运行以下命令安装项目依赖:

    npm install
  2. 构建项目: 运行以下命令构建项目,生成可执行的服务器代码:

    npm run build
  3. 运行服务器: 使用 'npm start' 命令启动服务器,必须在命令后指定至少一个允许访问的目录路径作为参数。可以指定多个目录,用空格分隔。例如,允许访问 '/path/to/allowed/directory' 和 '/path/to/another/directory',则命令如下:

    npm start /path/to/allowed/directory /path/to/another/directory

    请将 '/path/to/allowed/directory' 和 '/path/to/another/directory' 替换为您希望允许 LLM 访问的实际目录路径。

服务器配置

MCP 客户端需要配置以下 JSON 信息才能连接到 MCP 文件系统服务器。请根据实际部署环境修改 'command' 和 'args' 字段。

{
  "serverName": "filesystem",
  "command": "node",
  "args": [
    "dist/index.js",
    "/path/to/allowed/directory"  // 请替换为实际允许访问的目录路径
    // 可以添加更多允许访问的目录路径
  ]
}

配置参数说明:

  • 'serverName': 服务器名称,这里固定为 "filesystem"。
  • 'command': 运行服务器的命令,通常为 'node' (假设您的环境中可以使用 Node.js)。
  • 'args': 传递给服务器的命令行参数,是一个字符串数组。
    • 数组的第一个元素 '"dist/index.js"' 指定服务器入口文件路径。
    • 数组的后续元素为允许 MCP 服务器访问的文件系统目录路径请务必根据您的实际需求配置至少一个安全的目录路径,限制 LLM 的文件访问范围,保障系统安全。 您可以配置多个目录路径,每个路径作为一个独立的字符串元素添加到 'args' 数组中。

注意: '/path/to/allowed/directory' 仅为示例,请替换为实际的、您希望允许 LLM 访问的目录的绝对路径。

基本使用方法

  1. 确保 MCP 文件系统服务器已启动并正在运行。

  2. 在 MCP 客户端中,配置连接到该服务器,并根据需要调用以下工具 (Tools) 以执行文件系统操作:

    • 'read_file': 读取文件内容。
    • 'read_multiple_files': 读取多个文件内容。
    • 'write_file': 写入文件内容。
    • 'create_directory': 创建目录。
    • 'list_directory': 列出目录内容。
    • 'move_file': 移动文件或目录。
    • 'get_file_info': 获取文件或目录信息。
    • 'list_allowed_directories': 列出服务器允许访问的目录。
    • 'search_files': 搜索文件。

    例如,要使用 'read_file' 工具读取文件,客户端需要构造符合 MCP 协议的 JSON-RPC 请求,指定工具名称为 'read_file',并提供 'path' 参数指定要读取的文件路径(该路径必须在服务器启动时指定的允许访问的目录范围内)。服务器将返回包含文件内容的 JSON-RPC 响应。

信息

分类

数据库与文件