README
🚀 文件系统 MCP 服务器
本项目是一个用 Go 语言实现的模型上下文协议(MCP)文件系统操作服务器,可实现文件与目录的读取、写入、创建、删除、移动、搜索等操作,还能获取文件元数据和生成目录树结构。
🚀 快速开始
安装服务器
go install github.com/mark3labs/mcp-filesystem-server
配置 claude_desktop_config.json
在 claude_desktop_config.json 中添加以下内容:
{
"mcpServers": {
"filesystem": {
"command": "mcp-filesystem-server",
"args": [
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
]
}
}
}
✨ 主要特性
- 🔍 支持文件的读取与写入操作。
- 📁 可进行目录的创建、列出和删除。
- 🚚 能够移动文件和目录,也可对其重命名。
- 🔎 支持递归搜索文件和目录。
- ℹ️ 可以获取文件的详细元数据。
- 🌳 能生成目录树的层次化 JSON 表示。
⚠️ 重要提示
该服务器仅允许在
args中指定的目录内执行操作。
📚 详细文档
🔍 资源
file://system:文件系统操作接口
🛠️ 工具
-
read_file
- 功能:读取文件的全部内容。
- 输入:
path(字符串) - 说明:使用 UTF-8 编码读取完整的文件内容。
-
read_multiple_files
- 功能:同时读取多个文件。
- 输入:
paths(字符串数组) - 说明:失败的读取不会停止整个操作。
-
write_file
- 功能:创建新文件或覆盖现有文件(谨慎使用此功能)。
- 输入:
path(字符串):文件路径content(字符串):文件内容
-
create_directory
- 功能:创建新目录或确保其存在。
- 输入:
path(字符串) - 说明:如果需要,会创建父目录;如果目录已存在,则会静默成功。
-
list_directory
- 功能:列出目录内容,带有 [FILE] 或 [DIR] 前缀。
- 输入:
path(字符串)
-
move_file
- 功能:移动或重命名文件和目录。
- 输入:
source(字符串)destination(字符串)
- 说明:如果目标已存在,则会失败。
-
search_files
- 功能:递归搜索文件/目录。
- 输入:
path(字符串):起始目录pattern(字符串):搜索模式
- 说明:不区分大小写的匹配,返回完整路径的匹配项。
-
get_file_info
- 功能:获取文件/目录的详细元数据。
- 输入:
path(字符串) - 返回:
- 大小
- 创建时间
- 修改时间
- 访问时间
- 类型(文件/目录)
- 权限
-
tree
- 功能:返回目录结构的层次化 JSON 表示。
- 输入:
path(字符串):要遍历的目录(必需)depth(数字):要遍历的最大深度(默认值:3)follow_symlinks(布尔值):是否要跟随符号链接(默认值:false)
- 说明:返回格式化的 JSON,显示文件/目录层次结构,包含文件元数据(名称、路径、大小、修改时间)。
-
list_allowed_directories
- 功能:列出服务器可以访问的所有目录。
- 输入:无
- 返回:该服务器可以读取和写入的目录
📄 许可证
此 MCP 服务器根据 MIT License 分发。这意味着您可以自由地使用、修改和分发软件,但需遵守 MIT License 的条款和条件。有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。
Scan to contact