返回市场
只读文件系统MCP

只读文件系统MCP

作者:danielsuguimoto3 星标更新:2025-04-18

项目介绍

只读文件系统 MCP 服务器

这是一个使用 Node.js 实现的 Model Context Protocol (MCP) 服务器,用于只读文件系统操作。该项目是从 modelcontextprotocol/server-filesystem 克隆而来。

功能

  • 读取文件
  • 列出目录
  • 搜索文件
  • 获取文件元数据

注意:服务器仅允许在通过 args 指定的目录内进行操作。

API

资源

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

工具

  • read_file

    • 读取文件的全部内容
    • 输入参数:
      • path (字符串): 需要读取的文件路径
      • from (数字): 可选。开始读取的行号,默认为 0。
      • to (数字): 可选。结束读取的行号。如果不设置,则读取到文件末尾。
    • 使用 UTF-8 编码读取文件内容(全部或部分)
  • read_multiple_files

    • 同时读取多个文件
    • 输入参数: paths (字符串数组)
    • 读取失败不会停止整个操作
  • list_directory

    • 列出带有 [FILE] 或 [DIR] 前缀的目录内容
    • 输入参数: path (字符串)
  • search_files

    • 递归搜索文件/目录
    • 输入参数:
      • path (字符串): 开始搜索的目录
      • pattern (字符串): 搜索模式
      • excludePatterns (字符串数组): 排除任何模式。支持 glob 格式。
    • 不区分大小写的匹配
    • 返回匹配项的完整路径
  • get_file_info

    • 获取详细的文件/目录元数据
    • 输入参数: path (字符串)
    • 返回值:
      • 大小
      • 创建时间
      • 修改时间
      • 访问时间
      • 类型(文件/目录)
      • 权限
  • list_allowed_directories

    • 列出服务器可以访问的所有目录
    • 无需输入参数
    • 返回值:
      • 该服务器可以读写的所有目录

在 Claude Desktop 中使用

在你的 claude_desktop_config.json 中添加以下内容:

注意:你可以通过挂载到 /projects 来向服务器提供隔离的目录。添加 ro 标志会使该目录对服务器来说是只读的。

NPX

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@danielsuguimoto/readonly-server-filesystem",
        "/Users/username/Desktop",
        "/path/to/other/allowed/dir"
      ]
    }
  }
}

许可证

此 MCP 服务器采用 MIT 许可证。这意味着你可以自由地使用、修改和分发该软件,但需遵守 MIT 许可证中的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。