File Operations MCP Server
文件操作MCP Server通过流处理、修补、变更跟踪以及应用程序和备份的实时监控来增强文件管理。
这是一个提供增强文件操作能力的 MCP 服务器,支持流处理、修补和变更跟踪。
安装
自动安装(推荐)
通过 Smithery 为 Claude 安装:
npx -y @smithery/cli install @bsmi021/mcp-file-operations-server --client claude
手动安装
npm install npm start
主要功能
- 文件操作: 复制、读取、写入、移动、删除
- 目录操作: 创建、删除、复制
- 监控和跟踪: 监视文件变化、变更历史
- 流处理: 高效处理大文件
- 安全特性: 路径验证、输入清理
使用示例
基本文件操作
// 复制文件
await fileOperations.copyFile({
source: 'source.txt',
destination: 'destination.txt',
overwrite: false
});
// 读取文件
await fileOperations.readFile({
path: 'myfile.txt'
});
// 写入文件
await fileOperations.writeFile({
path: 'output.txt',
content: 'Hello world',
overwrite: true
});
目录操作
// 创建目录
await fileOperations.makeDirectory({
path: './new-directory'
});
// 复制目录(带进度报告)
const result = await fileOperations.copyDirectory({
source: './source-dir',
destination: './dest-dir',
overwrite: false
});
console.log(result.progressToken); // 用于跟踪进度
监视变更
// 开始监视
await fileOperations.watchDirectory({
path: './watched-dir',
recursive: true
});
// 获取变更历史
const changes = await fileOperations.getChanges();
通过资源访问
// 访问文件内容
const resource = await mcp.readResource('file:///path/to/file.txt');
// 获取目录列表
const dirContents = await mcp.readResource('directory:///path/to/dir');
资源类型
file://{path}
: 访问文件内容metadata://{path}
: 访问文件元数据directory://{path}
: 列出目录内容file:///recent-changes
: 最近文件系统变更列表
安全与限制
服务器实现了速率限制以防止滥用:
- 工具: 每分钟100次请求
- 资源: 每分钟200次请求
- 监视操作: 每分钟20次操作
所有文件路径都经过验证以防止目录遍历攻击。
开发命令
npm run dev # 开发模式(自动重载)
npm run build # 构建项目
npm run lint # 代码检查
npm test # 运行测试
完整文档请参阅 Smithery 项目页面