项目简介

Filesystem MCP Server 是一个基于 Ruby 语言实现的 Model Context Protocol (MCP) 服务器。它利用 'vector_mcp' gem,使得大型语言模型 (LLM) 客户端能够以结构化的方式,安全地访问和操作本地文件系统。服务器限制了其操作范围,仅允许在启动时指定的目录及其子目录下进行文件和目录操作,增强了安全性。

主要功能点

  • 文件读写: 读取文件内容,或创建/覆盖写入文件。
  • 文件编辑: 进行文本替换,支持干运行(dry run)预览修改。
  • 目录管理: 创建、列出和删除目录。
  • 文件/目录移动: 移动或重命名文件和目录。
  • 文件搜索: 在指定目录下递归搜索匹配特定模式的文件。
  • 获取元数据: 查询文件或目录的大小、时间戳、类型、权限等信息。
  • 目录列表: 列出服务器允许操作的根目录列表。

安装步骤

  1. 安装 Ruby: 确保你的系统安装了 Ruby 环境。
  2. 克隆仓库: 将项目仓库克隆到本地。
  3. 安装依赖: 在项目目录下运行命令安装所需的 gem:
    gem install vector_mcp diff-lcs

服务器配置

该 MCP 服务器需要通过 MCP 客户端(如支持 MCP 的 LLM 应用)进行配置和启动。配置信息通常包含服务器的启动命令和参数。

重要: 服务器只能访问启动时通过命令行参数指定的目录及其子目录。

配置示例如下(在 MCP 客户端的配置文件中,具体格式依赖于客户端):

  • 服务器名称 (name): 可以任意指定,例如 '"filesystem"'。
  • 启动命令 (command): 通常是执行 Ruby 脚本的命令,例如 '"ruby"'。
  • 参数 (args): 这是一个参数列表,需要指定服务器脚本的路径和允许访问的目录。
    • 第一个参数:服务器 Ruby 脚本的绝对路径 (例如 '/path/to/file_system_mcp/file_system_mcp.rb')。
    • 后续参数:服务器允许访问的绝对目录路径列表 (例如 '/Users/your_username/Documents', '/data/projects')。
    • 请确保所有路径都是绝对路径,并且在你的文件系统中真实存在且可访问。

基本使用方法

  1. 配置客户端: 根据上一节的说明,在你的 MCP 客户端应用中配置该文件系统服务器。
  2. 启动客户端: 启动配置好的 MCP 客户端应用。客户端会自动根据配置启动该文件系统 MCP 服务器。
  3. 通过LLM交互: 一旦服务器成功启动并连接到客户端,LLM就可以通过调用服务器注册的工具(例如 'read_file', 'list_directory', 'search_files' 等)来与文件系统进行交互。你可以向LLM发出指令,让它执行文件操作,LLM将通过MCP协议调用服务器的工具来完成任务。

信息

分类

数据库与文件