使用说明
文件系统MCP服务器
一种模型上下文协议(MCP)服务器,为AI助手提供安全的文件系统操作。
特性
- 读取文件:读取文本文件的内容
- 写入文件:用新内容创建或覆盖文件
- 列出目录:浏览目录内容
- 创建目录:创建新目录(递归创建)
- 删除文件:从文件系统中删除文件
- 重命名/移动文件:重命名文件或将其移动到不同位置
- 文件统计:获取详细的文件/目录元数据
- 路径安全:仅限制访问明确允许的路径
安装
- 克隆或创建项目:
mkdir filesystem-mcp-server
cd filesystem-mcp-server
- 安装依赖项:
npm install
- 构建项目:
npm run build
用法
运行服务器
服务器要求您将允许的路径指定为命令行参数:
node dist/index.js /path/to/allowed/directory1 /path/to/allowed/directory2
例子:
node dist/index.js /home/user/documents /home/user/projects /tmp
配置
要将此服务器与MCP客户端一起使用,请将其添加到客户端的配置中:
{
"mcpServers": {
"filesystem": {
"command": "node",
"args": [
"/Users/mohitmishra/Desktop/mcp-for-file-system/dist/index.js",
"/home/user/documents",
"/home/user/projects"
]
}
}
}
可用工具
-
read_file
- 读取文件内容
- 参数:
path(字符串),head(数字,可选),tail(数字,可选)
-
write_file
- 将内容写入文件(如果存在则覆盖)
- 参数:
path(字符串),content(字符串)
-
move_file
- 移动或重命名文件或目录
- 参数:
source(字符串),destination(字符串)
-
create_directory
- 创建新目录(递归)
- 参数:
path(字符串)
-
list_directory
- 列出目录的内容
- 参数:
path(字符串)
-
获取_文件_信息
- 获取文件或目录元数据
- 参数:
path(字符串)
-
list_allowed_directories
- 列出服务器允许访问的所有目录
- 无参数
安全
此服务器实现了基于路径的安全性:
- 只有指定为命令行参数的路径是可访问的
- 所有文件操作仅限于这些允许的路径
- 路径遍历尝试被阻止
- 路径解析为绝对路径,以防止绕过限制
发展
以开发模式运行
npm run dev /path/to/test/directory
建筑
npm run build
测试
npm test
错误处理
服务器为常见问题提供详细的错误消息:
- 拒绝访问:尝试访问允许路径之外的文件时
- 找不到文件:当指定的文件不存在时
- 权限错误:当进程缺少必要的文件权限时
- 无效参数:当所需参数缺失或无效时
示例用法
一旦配置了MCP客户端,您就可以使用自然语言与文件系统交互:
- “读取我的config.json文件的内容”
- “在我的文档文件夹中创建一个名为“backups”的新目录”
- “列出当前项目目录中的所有文件”
- “将TODO列表写入名为tasks.txt的新文件”
- “将config.json重命名为config-backing.json”
- “将report.pdf从下载移动到文档文件夹”
需求
- Node.js 18.0.0或更高版本
- TypeScript 5.0.0或更高版本
- @模型上下文协议/sdk
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
