article
README
🚀 文件系统 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 文件。
Scan to contact