Readonly Filesystem Mcp

Readonly Filesystem Mcp

🚀 仅读文件系统 MCP 服务器

本项目是一个基于 Node.js 的服务器,实现了模型上下文协议(MCP),专门用于只读文件操作。它从 modelcontextprotocol/server-filesystem 克隆而来。

🚀 快速开始

若要使用该服务器,可参考以下在 Claude Desktop 中的配置方法。

✨ 主要特性

  • 读取文件:支持读取单个或多个文件的完整或部分内容。
  • 列出目录:可列出指定目录的内容,并标记出文件和目录。
  • 搜索文件:能递归搜索文件或目录,支持排除特定模式。
  • 获取文件元数据:可获取文件或目录的详细元数据,如大小、创建时间等。

⚠️ 重要提示

服务器仅允许在通过 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_config.json 中添加以下内容,使用 NPX 方式启动服务器:

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

💡 使用建议

你可以通过将目录挂载到 /projects 来为服务器提供受限制的目录。添加 ro 标志会使服务器以只读方式访问该目录。

📄 许可证

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

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

相似服务问题