项目简介

Rust MCP 文件系统服务是一个用 Rust 语言构建的、基于 Model Context Protocol (MCP) 的轻量级服务器。它专注于通过一套标准化的工具集,为大型语言模型 (LLM) 客户端提供对文件系统的安全、高效访问和管理能力。默认以只读模式启动,可通过配置启用写权限,支持在指定目录范围内进行文件读写、目录操作、搜索、压缩解压等。

主要功能点

  • 安全访问控制: 通过配置指定允许操作的根目录,所有文件系统操作都限制在这些目录及其子目录下。
  • 读写模式: 可配置为只读或读写模式,增强安全性。
  • 丰富的工具集: 提供了多种工具供LLM调用,包括:
    • 读取单个或多个文件内容。
    • 写入文件内容(覆盖)。
    • 编辑文件(基于文本行的替换)。
    • 创建目录。
    • 列出目录内容。
    • 生成目录树结构(JSON格式)。
    • 移动或重命名文件/目录。
    • 根据通配符搜索文件。
    • 获取文件或目录的详细信息(大小、时间、权限等)。
    • 列出服务器允许访问的目录。
    • 压缩文件或目录为ZIP。
    • 解压ZIP文件。
  • 高性能: 利用 Rust 的并发特性和异步 I/O,提供快速的文件系统操作。
  • 轻量级: 编译为单个二进制文件,资源占用少。

安装步骤

本项目以单个可执行文件的形式分发,无需外部依赖(如 Node.js, Python 等)。具体的安装步骤请参考项目官方文档:

https://rust-mcp-stack.github.io/rust-mcp-filesystem

通常,您需要下载或构建可执行文件,并确保其在系统路径中或您知道其完整路径。

MCP服务器配置

要让 MCP 客户端(如支持 MCP 的 AI 编辑器、终端等)连接到此服务器,您需要配置客户端,提供服务器的启动命令和参数。配置信息通常是 JSON 格式,类似如下结构(注意:以下是配置 描述,不是您直接运行的代码):

// MCP客户端的服务器配置示例(概念性描述,请根据客户端要求填写)
{
  "server_name": "rust-mcp-filesystem", // 服务器在MCP协议中的名称
  "command": "rust-mcp-filesystem", // 可执行文件的名称或路径
  "args": [
    "/path/to/your/project", // 允许访问的第一个目录(必需)
    "/another/allowed/directory" // 允许访问的第二个目录(可添加多个)
    // 添加更多允许的目录路径...
    // "--allow-write" // 可选参数:如果需要写权限,请添加此参数
  ],
  // 其他MCP客户端可能需要的配置,例如传输方式 (transport) 等
}
  • 'server_name': 必须是 '"rust-mcp-filesystem"'。
  • 'command': 指向 'rust-mcp-filesystem' 可执行文件的路径。
  • 'args': 一个字符串数组,包含传递给服务器的命令行参数。
    • 第一个及后续参数:必需,指定服务器允许访问的目录路径。可以指定一个或多个绝对路径。
    • '--allow-write' 或 '-w': 可选,如果服务器需要在允许的目录内执行写入、创建、编辑、移动、压缩、解压等操作,需要添加此参数。

重要提示: MCP 客户端将使用提供的 'command' 和 'args' 启动服务器进程,并通过标准输入输出 (Stdio) 与其进行 JSON-RPC 通信。务必配置正确的 'command' 和 'args',特别是允许访问的目录。

基本使用方法

启动配置好的 MCP 客户端。客户端将根据配置启动 'rust-mcp-filesystem' 服务器并建立连接。连接成功后,LLM 或客户端界面即可通过调用服务器提供的工具来执行文件系统操作。例如,LLM 可以调用 'read_file' 工具读取某个文件的内容,或者调用 'list_directory' 工具查看某个目录下的文件列表。所有操作都会遵守服务器配置中指定的允许访问目录限制。

信息

分类

数据库与文件