set_base_directory
设置要操作的基本目录。
path:设置为基本目录的路径
get_allowed_directories
查看当前允许的目录列表。
- 无参数#文件系统MCP服务器
可以访问本地文件系统的Model Context Protocol(MCP)服务器。
项目结构
filesystem-mcp-server/
├── package.json # 의존성 및 스크립트
├── README.md # 이 파일
└── src
├── index.js # 메인 서버 파일
├── config.js # 설정 및 상수
├── pathUtils.js # 경로 유틸리티
├── fileOperations.js # 파일 작업 함수들
├── directoryOperations.js # 디렉토리 작업 함수들
├── toolDefinitions.js # MCP 도구 정의
└── .env.example # 환경변수 예제
功能
- 使用文件
- 读取文件(read_file) - 写入/创建文件(write_file) - 将内容添加到文件(append_file) - 删除文件(delete_file)
- 使用目录
- 创建目录(create_directory) - 删除目录(delete_directory) - 列出目录内容(list_directory)
- 查询信息
- 查看文件/目录信息(get_file_info)
设置
- 依赖性安装:
npm install- 授权执行(Unix/Linux/MacOS):
chmod +x index.js使用窗口环境中的绝对路径
在窗口中 D:\temp2\a.txt要使用绝对路径,如:
方法1:设置环境变量
# .env 파일 생성
MCP_ALLOWED_DIR=D:\temp2方法2:设置基本目录
运行服务器后使用以下工具:
set_base_directory: D:\temp2方法3:使用默认允许目录
默认情况下允许以下目录:
- 当前工作目录
- 用户主目录
- Documents文件夹
- 桌面文件夹
- C: \\temp、D:\\temp和D:\\temp2
- /tmp、/var/tmp(Unix/Linux)
与Claude Desktop配合使用
在Claude Desktop的配置文件中添加以下内容:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"filesystem": {
"command": "node",
"args": ["/path/to/your/filesystem-mcp-server/index.js"]
}
}
}工具列表
read_file
读取文件的内容。
path:要读取的文件的路径
write_file
将内容写入文件(创建新文件或覆盖现有文件)。
path:文件路径content:写入内容
append_file
向文件添加内容。
path:文件路径content:要添加的内容
delete_file
删除文件。
path:要删除的文件路径
create_directory
创建目录。
path:要创建的目录路径recursive:是否同时创建父目录(可选,默认为false)
delete_directory
删除目录。
path:要删除的目录路径recursive:是否同时删除子目录和文件(可选,默认为false)
list_directory
列出目录的内容。
path:要列出的目录路径
get_file_info
获取文件或目录的信息。
path:要导入信息的文件/目录路径
安全注意事项
此服务器提供对本地文件系统的完全访问权限。在生产环境中使用时,请考虑以下事项:
- 路径限制:添加限制访问特定目录的功能
- 验证权限:在使用文件之前验证适当的权限
- 验证输入:增强输入验证以防止路径注入攻击
要求
- Node.js 18.0.0或更高版本
- @模型上下文协议/sdk
许可证
麻省理工学院
