README
🚀 仅读文件系统 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 文件。
Scan to join WeChat group