使用说明

项目简介

'rs_filesystem' 是一个使用 Rust 语言开发的 MCP 服务器实现,专注于提供文件系统操作相关的能力。它通过 MCP 协议与 LLM 客户端通信,允许 LLM 应用安全地访问和操作本地文件系统,从而扩展 LLM 的功能边界,使其能够处理文件读写、目录管理和文件内容搜索等任务。

主要功能点

  • 资源管理: 提供 '/api/allowed_directories' 资源,用于查询服务器允许 LLM 客户端访问的文件系统目录列表,保障文件访问的安全性。
  • 工具集成: 内置多种实用的文件系统操作工具,包括:
    • 'read_file': 读取文件内容。
    • 'list_directory': 列出目录内容。
    • 'file_edit': 编辑文件内容(替换指定内容)。
    • 'move_or_rename': 移动或重命名文件/目录。
    • 'get_file_info': 获取文件元信息。
    • 'create_directory': 创建新目录。
    • 'overwrite_file': 覆盖文件内容。
    • 'grep_search': 在文件中搜索指定模式的文本。
  • Prompt 模板: 预定义了一系列与文件操作相关的 Prompt 模板,方便 LLM 客户端以结构化的方式调用文件系统工具。
  • 安全控制: 通过环境变量 'MCP_RS_FILESYSTEM_ALLOWED_DIRECTORIES' 限制服务器允许访问的文件系统目录,只允许在配置的目录范围内进行文件操作。
  • JSON-RPC 通信: 基于标准的 JSON-RPC 协议与 MCP 客户端进行通信。

安装步骤

  1. 安装 Rust 环境: 确保已安装 Rust 编程语言环境。访问 https://www.rust-lang.org/tools/install 按照指引安装 Rust 工具链。
  2. 下载代码: 从 GitHub 仓库 https://github.com/MCP-Mirror/FellowTraveler_rs_filesystem 克隆或下载源代码。
  3. 编译项目: 在代码根目录打开终端,执行 'cargo build --release' 命令编译项目。编译成功后,可执行文件 'rs_filesystem' (或 'rs_filesystem.exe',取决于操作系统) 将生成在 'target/release' 目录下。

服务器配置

要将 'rs_filesystem' 配置为 Claude Desktop 的 MCP 服务器,请编辑 Claude Desktop 的配置文件 'claude_desktop_config.json' (通常在 Claude Desktop 的设置 -> 开发者选项 -> 编辑配置 中找到)。在 'mcpServers' 部分添加如下配置:

{
   "mcpServers": {
      "rs_filesystem": {
         "command": "/path/to/rs_filesystem",  //  将 "/path/to/rs_filesystem" 替换为实际的 rs_filesystem 可执行文件路径
         "args": [
            "--mcp"  //  指定以 MCP 服务器模式启动
         ],
         "env": {
            "MCP_RS_FILESYSTEM_ALLOWED_DIRECTORIES": "/path/number/one:/path/number/two"  //  设置允许访问的文件系统目录,多个目录用冒号 ":" 分隔
         }
      }
   }
}

配置说明:

  • '"command"': 指向编译生成的 'rs_filesystem' 可执行文件的绝对路径。
  • '"args"': 启动参数,'"--mcp"' 参数指示 'rs_filesystem' 以 MCP 服务器模式运行。
  • '"env"': 环境变量配置。'"MCP_RS_FILESYSTEM_ALLOWED_DIRECTORIES"' 环境变量用于设置允许服务器访问的文件系统目录。请将 '/path/number/one:/path/number/two' 替换为你希望允许 LLM 客户端访问的实际目录路径,使用冒号分隔多个路径。务必配置此环境变量以限制文件访问范围,确保安全。

基本使用方法

  1. 启动服务器: 确保已完成安装和配置步骤。启动 Claude Desktop 客户端,'rs_filesystem' 服务器将根据配置自动启动。
  2. 客户端交互: 在 Claude Desktop 中,LLM 即可通过 MCP 协议与 'rs_filesystem' 服务器交互,例如:
    • 请求 'resources/list' 获取可用资源列表,其中应包含 '/api/allowed_directories' 资源。
    • 请求 'resources/read' 读取 '/api/allowed_directories' 资源,获取允许访问的目录列表。
    • 调用 'tools/list' 获取可用的文件系统工具列表。
    • 调用各种文件系统工具 (如 'read_file', 'file_edit' 等) 执行相应的操作,操作路径必须在 'MCP_RS_FILESYSTEM_ALLOWED_DIRECTORIES' 环境变量配置的允许目录范围内。

日志查看

如果需要查看服务器运行日志,可以使用命令 'tail -n 20 -f ~/Library/Logs/Claude/rs_filesystem.logs.jsonl' (macOS) 或查看 '~/Library/Logs/Claude' 目录下以 'rs_filesystem.logs.jsonl' 结尾的日志文件。日志文件记录了 MCP 请求和响应信息,有助于调试和问题排查。

信息

分类

数据库与文件