使用说明
项目简介
本项目 'mcp_file_system' 是一个基于 Model Context Protocol (MCP) 实现的文件系统服务器。它允许大型语言模型(LLM)通过标准化的 MCP 协议安全地访问和操作服务器运行环境中的文件系统。该服务器提供了一系列工具,用于文件读写、目录管理、文件搜索等操作,并支持通过白名单目录限制访问范围,增强安全性。
主要功能点
- 文件操作:支持读取和写入文件内容。
- 目录管理:支持创建、列出和删除目录。
- 文件移动和重命名:支持移动和重命名文件及目录。
- 文件元数据检索:获取文件或目录的详细信息。
- 文件搜索:在指定目录下搜索文件。
- 访问控制:通过启动时指定允许访问的目录,限制所有文件操作在这些目录范围内,保障安全。
安装步骤
-
安装依赖: 在项目根目录下运行以下命令安装项目依赖:
npm install -
构建项目: 运行以下命令构建项目,生成可执行的服务器代码:
npm run build -
运行服务器: 使用 '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 访问的目录的绝对路径。
基本使用方法
-
确保 MCP 文件系统服务器已启动并正在运行。
-
在 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 响应。
信息
分类
数据库与文件