文件系统MCP服务器
本项目是一个基于 Model Context Protocol (MCP) 标准构建的文件系统服务器,旨在为大型语言模型 (LLM) 提供安全、可控的文件系统访问能力。通过标准化的工具接口,LLM 可以调用服务器提供的各种文件和目录操作功能,实现与本地文件系统的交互。
主要功能点
- 文件操作: 提供文件的读取、写入、追加、复制、移动、删除等基本操作。
- 目录操作: 支持目录的创建、删除、复制、列出目录内容(包括递归列出)等操作。
- 文件分析: 具备文件类型检测、文本文件分析(如行数、字数、编码检测)、计算文件哈希值、查找重复文件等功能。
- 压缩与解压: 支持创建和提取 ZIP 压缩包。
- 文件监控: 可以监控目录的文件变化,例如文件的新增、修改和删除。
- 权限管理: 提供获取和设置文件权限的功能。
- 元数据管理: 获取文件的扩展元数据,以及比较文件差异。
- 流式操作: 支持使用流的方式高效处理文件,例如流式复制、分块写入、以及行级别的转换处理。
安装步骤
-
克隆仓库:
git clone https://github.com/bsmi021/mcp-filesystem-server cd mcp-filesystem-server -
安装依赖:
npm install -
构建服务器:
npm run build
服务器配置
为了让 MCP 客户端能够连接到文件系统 MCP 服务器,您需要在客户端的配置文件 'cline_mcp_settings.json' 中添加服务器配置信息。以下是一个示例配置,请根据您的实际情况进行调整:
{ "mcpServers": { "filesystem": { // 服务器名称,客户端通过此名称引用 "command": "node", // 启动服务器的命令,这里使用 node.js 运行时 "args": ["path/to/mcp-filesystem-server/build/index.js"] // 启动命令的参数,指向服务器入口文件 } } }
配置参数说明:
- server name (filesystem): 您为该文件系统服务器指定的名称。客户端将使用此名称来识别和调用此服务器。您可以自定义服务器名称。
- command (node): 运行服务器程序的可执行命令。由于此服务器是 Node.js 应用,所以这里设置为 'node'。
- args (["path/to/mcp-filesystem-server/build/index.js"]): 传递给 'command' 的参数,用于指定服务器程序的入口文件路径。请将 'path/to/mcp-filesystem-server' 替换为您的文件系统MCP服务器的实际安装路径。
注意: 请确保 'path/to/mcp-filesystem-server/build/index.js' 路径是正确的,指向您克隆并构建后的服务器入口文件。MCP 客户端会读取此配置信息,并使用 'command' 和 'args' 来启动文件系统 MCP 服务器。
基本使用方法
-
启动服务器: MCP 客户端会根据 'cline_mcp_settings.json' 中的配置自动启动文件系统 MCP 服务器。您无需手动启动。
-
客户端调用工具: 在 MCP 客户端中,您可以使用 'filesystem' 这个服务器名称来调用文件系统工具。例如,要列出目录 '/path/to/directory' 的内容,您可以调用 'list_directory' 工具,并传递 'path' 参数:
{ "server": "filesystem", "tool": "list_directory", "arguments": { "path": "/path/to/directory" } }您可以参考仓库 'README.md' 中的 "Tool Reference" 章节,了解每个工具的具体参数和使用方法。通过组合不同的工具,LLM 可以在您的授权下,安全地访问和操作文件系统资源。
信息
分类
数据库与文件