文件系统MCP服务器

一个为AI助手提供安全文件系统操作的模型上下文协议(MCP)服务器,支持文件读写、目录管理等功能,适用于需要安全文件访问的场景。

  • by mishramohit437
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 mishramohit437/file-system-mcp-server

使用说明

文件系统MCP服务器

一种模型上下文协议(MCP)服务器,为AI助手提供安全的文件系统操作。

特性

  • 读取文件:读取文本文件的内容
  • 写入文件:用新内容创建或覆盖文件
  • 列出目录:浏览目录内容
  • 创建目录:创建新目录(递归创建)
  • 删除文件:从文件系统中删除文件
  • 重命名/移动文件:重命名文件或将其移动到不同位置
  • 文件统计:获取详细的文件/目录元数据
  • 路径安全:仅限制访问明确允许的路径

安装

  1. 克隆或创建项目:
mkdir filesystem-mcp-server
cd filesystem-mcp-server
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

用法

运行服务器

服务器要求您将允许的路径指定为命令行参数:

node dist/index.js /path/to/allowed/directory1 /path/to/allowed/directory2

例子:

node dist/index.js /home/user/documents /home/user/projects /tmp

配置

要将此服务器与MCP客户端一起使用,请将其添加到客户端的配置中:

{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": [
        "/Users/mohitmishra/Desktop/mcp-for-file-system/dist/index.js",
        "/home/user/documents", 
        "/home/user/projects"
      ]
    }
  }
}

可用工具

  1. read_file

    • 读取文件内容
    • 参数: path (字符串), head (数字,可选), tail (数字,可选)
  2. write_file

    • 将内容写入文件(如果存在则覆盖)
    • 参数: path (字符串), content (字符串)
  3. move_file

    • 移动或重命名文件或目录
    • 参数: source (字符串), destination (字符串)
  4. create_directory

    • 创建新目录(递归)
    • 参数: path (字符串)
  5. list_directory

    • 列出目录的内容
    • 参数: path (字符串)
  6. 获取_文件_信息

    • 获取文件或目录元数据
    • 参数: path (字符串)
  7. list_allowed_directories

    • 列出服务器允许访问的所有目录
    • 无参数

安全

此服务器实现了基于路径的安全性:

  • 只有指定为命令行参数的路径是可访问的
  • 所有文件操作仅限于这些允许的路径
  • 路径遍历尝试被阻止
  • 路径解析为绝对路径,以防止绕过限制

发展

以开发模式运行

npm run dev /path/to/test/directory

建筑

npm run build

测试

npm test

错误处理

服务器为常见问题提供详细的错误消息:

  • 拒绝访问:尝试访问允许路径之外的文件时
  • 找不到文件:当指定的文件不存在时
  • 权限错误:当进程缺少必要的文件权限时
  • 无效参数:当所需参数缺失或无效时

示例用法

一旦配置了MCP客户端,您就可以使用自然语言与文件系统交互:

  • “读取我的config.json文件的内容”
  • “在我的文档文件夹中创建一个名为“backups”的新目录”
  • “列出当前项目目录中的所有文件”
  • “将TODO列表写入名为tasks.txt的新文件”
  • “将config.json重命名为config-backing.json”
  • “将report.pdf从下载移动到文档文件夹”

需求

  • Node.js 18.0.0或更高版本
  • TypeScript 5.0.0或更高版本
  • @模型上下文协议/sdk

许可证

MIT许可证-有关详细信息,请参阅许可证文件。