Secure Filesystem

Secure Filesystem

🚀 文件系统 MCP 服务器

本项目是一个使用 Node.js 实现的文件系统操作模型上下文协议 (MCP) 的服务器,可实现文件的读写、目录的管理等多种操作。

🚀 快速开始

Docker 构建

docker build -t mcp/filesystem -f src/filesystem/Dockerfile .

配置文件示例

Docker 部署示例

# 假设这是Dockerfile的内容
FROM node:16

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

CMD ["node", "index.js"]

MCP 服务器配置

// 假设这是一个配置文件
const config = {
port: 3000,
allowedDirectories: ['/path/to/directory1', '/path/to/directory2'],
logging: true,
maxFileSize: '1MB'
};

✨ 主要特性

  • 支持读取/写入文件。
  • 可创建/列出/删除目录。
  • 能够移动文件/目录。
  • 可以搜索文件。
  • 能获取文件元数据。

⚠️ 重要提示

该服务器仅允许在通过 args 指定的目录中进行操作。

📚 详细文档

资源

  • file://system:文件系统操作接口

工具

read_file

  • 功能:读取文件的完整内容。
  • 输入:path(字符串)。
  • 说明:使用 UTF-8 编码读取整个文件内容。

read_multiple_files

  • 功能:同时读取多个文件。
  • 输入:paths(字符串数组)。
  • 说明:失败的读取不会停止整个操作。

write_file

  • 功能:创建新文件或覆盖现有文件(使用此功能需谨慎)。
  • 输入:
    • path(字符串):文件路径。
    • content(字符串):文件内容。

edit_file

  • 功能:使用高级模式匹配和格式化进行选择性编辑,具体如下:
    • 基于行的多行内容匹配。
    • 行间空格标准化,保留缩进。
    • 模糊匹配并提供置信度评分。
    • 同时执行多个编辑并正确定位。
    • 检测和保留缩进样式。
    • 提供 Git 风格的上下文差异输出。
    • 使用试运行模式预览更改。
    • 通过置信度评分调试失败匹配。
  • 输入:
    • path(字符串):要编辑的文件。
    • edits(数组):编辑操作列表。
      • oldText(字符串):要搜索的文本(可以是子字符串)。
      • newText(字符串):要替换的文本。
    • dryRun(布尔值):预览更改而不应用(默认:false)。
    • options(对象):可选格式设置。
      • preserveIndentation(布尔值):保留现有缩进(默认:true)。
      • normalizeWhitespace(布尔值):标准化空格同时保留结构(默认:true)。
      • partialMatch(布尔值):启用模糊匹配(默认:true)。
  • 返回:详细的差异和匹配信息(试运行时),否则应用更改。
  • 最佳实践:始终先使用试运行模式预览更改,然后再应用。

create_directory

  • 功能:创建新目录或确保其存在。
  • 输入:path(字符串)。
  • 说明:如果需要,创建父目录;如果目录已存在,则静默成功。

list_directory

  • 功能:列出目录内容,带有 [FILE] 或 [DIR] 前缀。
  • 输入:path(字符串)。

move_file

  • 功能:移动或重命名文件和目录。
  • 输入:
    • source(字符串)。
    • destination(字符串)。
  • 说明:如果目标路径存在,则将其覆盖。

search_files

  • 功能:在指定目录中搜索包含指定内容的文件。
  • 输入:
    • directory(字符串):要搜索的目录。
    • content(字符串):要搜索的内容。
  • 返回:所有匹配文件的列表。

delete_file

  • 功能:删除指定路径的文件。
  • 输入:path(字符串)。

📄 许可证

此 MCP 服务器根据 MIT 许可证发布。这意味着您可以自由使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。

  • 0 关注
  • 0 收藏,9 浏览
  • system 提出于 2025-09-29 17:30

相似服务问题