File Operations MCP Server 使用说明

项目简介

File Operations MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 客户端提供安全、可扩展的文件系统上下文服务。它通过标准化的 MCP 协议,允许 LLM 客户端调用预定义的文件操作工具和访问文件资源,从而实现与本地文件系统的交互。

主要功能点

  • 文件操作: 支持基本的文件读、写、复制、移动和删除操作。
  • 目录操作: 支持创建、删除和复制目录,以及列出目录内容。
  • 文件监控: 可以监控指定目录的文件变化,并及时通知客户端。
  • 操作历史追踪: 记录所有文件操作,方便查询和审计。
  • 资源访问: 通过 MCP 资源 URI 访问文件内容和元数据,方便 LLM 获取文件信息。
  • 速率限制: 内置速率限制机制,防止滥用,保障服务稳定。
  • 安全特性: 具备路径验证和输入清理功能,增强安全性。
  • 进度报告: 对于耗时操作(如目录复制),提供实时的进度更新。

安装步骤

  1. 确保已安装 Node.js 和 npm。

  2. 克隆或下载此仓库代码到本地。

  3. 在仓库根目录下打开终端,运行命令安装依赖:

    npm install

服务器配置

MCP 客户端需要配置以下信息以连接到 File Operations MCP Server。请将以下 JSON 配置添加到您的 MCP 客户端配置中:

{
  "serverName": "File Operations Server",
  "command": "npm",
  "args": ["start"],
  "description": "File Operations MCP Server",
  "version": "1.0.0"
}

配置参数说明:

  • 'serverName': 服务器名称,用于在 MCP 客户端中标识该服务器,可以自定义。
  • 'command': 启动服务器的命令,这里使用 'npm' 命令。
  • 'args': 启动命令的参数,这里使用 'start' 参数,对应 'package.json' 中定义的 'start' 脚本,无需其他参数。
  • 'description': 服务器的详细描述,可以自定义。
  • 'version': 服务器版本,与仓库 'server.ts' 中定义一致。

开发模式启动配置 (可选):

如果您希望在开发模式下运行服务器,可以使用以下配置,它将使用 'npm run dev' 命令启动服务器,支持代码热重载,方便开发调试:

{
  "serverName": "File Operations Server (Dev)",
  "command": "npm",
  "args": ["run", "dev"],
  "description": "File Operations MCP Server (Development Mode)",
  "version": "1.0.0"
}

基本使用方法

  1. 启动 File Operations MCP Server。根据您的配置,MCP 客户端将自动启动或您需要手动在终端运行 'npm start' 或 'npm run dev' 命令。
  2. 在 MCP 客户端中,您可以使用预定义的工具 (Tools) 和资源 (Resources) 与服务器交互。

常用工具 (Tools) 示例:

  • 'copy_file': 复制文件,需要 'source' (源文件路径) 和 'destination' (目标文件路径) 参数。
  • 'read_file': 读取文件内容,需要 'path' (文件路径) 参数。
  • 'write_file': 写入文件内容,需要 'path' (文件路径) 和 'content' (文件内容) 参数。
  • 'make_directory': 创建目录,需要 'path' (目录路径) 参数。
  • 'watch_directory': 监控目录变化,需要 'path' (目录路径) 参数。
  • 'get_changes': 获取文件操作历史记录。

资源 (Resources) 示例:

  • 'file:///recent-changes': 获取最近的文件变更记录。
  • 'file://{path}': 访问指定路径的文件内容,例如 'file:///path/to/your/file.txt'。
  • 'metadata://{path}': 获取指定路径文件的元数据,例如 'metadata:///path/to/your/file.txt'。
  • 'directory://{path}': 获取指定路径目录下的文件列表,例如 'directory:///path/to/your/directory'。

请参考仓库 'README.md' 文件和代码中的工具和资源定义,了解更详细的参数和使用方法。

注意: 所有文件路径都是相对于服务器运行环境的文件系统路径。MCP 客户端需要根据实际情况构建正确的路径。

信息

分类

数据库与文件