mcp-filesystem-server
让AI安全可控地读写本地文件系统,MCP生态最流行的文件操作中间件
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让AI安全可控地读写本地文件系统,MCP生态最流行的文件操作中间件
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象你正在用Claude Desktop写代码,突然想让AI直接帮你读取项目目录下的某个配置文件,或者帮你创建一个新文件。按照传统方式,你需要手动复制粘贴内容——繁琐且容易出错。而现在,通过 Model Context Protocol(MCP),AI可以像调用工具一样直接操作你的文件系统。
mark3labs/mcp-filesystem-server 就是这样一个中间件:它将本地文件系统封装成符合MCP协议的服务,让任何支持MCP的AI应用(比如Claude Desktop、Cursor、Windsurf)都能安全、可控地读写指定目录。整个项目目前654 Star,是MCP生态中增长最快的文件系统工具之一。
可以把MCP Filesystem Server想象成给AI配了一把只能打开特定抽屉的钥匙。这把钥匙:
/home/user/projects),无法访问系统其他位置这种"最小权限"设计,极大降低了让AI操作文件系统的安全风险。
项目定义了16个精心设计的方法,覆盖了文件操作的方方面面:
文件读写类:
read_file:读取单个文件内容,支持大文件base64编码read_multiple_files:批量读取多个文件,一次请求搞定write_file:创建或覆盖文件modify_file:通过find/replace方式修改文件内容,支持正则目录操作类:
list_directory:详细列出目录内容create_directory:创建目录tree:以JSON树形结构展示目录结构,可设置深度copy_file / move_file:文件复制和移动delete_file:删除文件/目录(可选递归)搜索类:
search_files:按文件名模式递归搜索search_within_files:在文件内容中搜索字符串,支持最大结果数限制信息查询类:
get_file_info:获取文件元数据(大小、权限、修改时间、MIME类型)list_allowed_directories:查询当前允许访问的目录列表这是项目最值得称道的部分。开发团队在 handler/helper.go 中实现了多重安全检查:
isPathAllowed() 检查,确保路径在允许列表内../ 逃逸gabriel-vasile/mimetype 库准确判断文件类型项目采用清晰的三层架构:
main.go(入口)
└─ 解析命令行参数 allowedDirs
└─ 创建 FilesystemServer 并调用 ServeStdio()
server.go(服务层)
└─ 使用 mark3labs/mcp-go 框架
└─ 注册 Resource(file://)和 14个Tool
└─ 版本号管理(Version = "dev")
filesystemserver/(处理器层)
└─ handler/:每个工具对应一个文件 + _test.go
└─ helper.go:安全验证核心(isPathAllowed、normalizePath等)
└─ types.go:MCP类型定义
依赖管理使用 Go 1.23,核心依赖只有3个:
github.com/mark3labs/mcp-go:MCP协议实现github.com/gabriel-vasile/mimetype:MIME类型检测github.com/djherbis/times:文件时间戳处理Docker方式(推荐):
docker run -i --rm ghcr.io/mark3labs/mcp-filesystem-server:latest /path/to/allowed
一行命令即可运行,镜像基于多阶段构建,最终仅约15MB。默认白名单为容器内 /app 目录。
Go直接安装:
go install github.com/mark3labs/mcp-filesystem-server@latest
mcp-filesystem-server /allowed/dir
集成到AI应用(以Claude Desktop为例):
{
"mcpServers": {
"filesystem": {
"command": "mcp-filesystem-server",
"args": ["/path/to/allowed"]
}
}
}
MCP生态正在快速发展。除了Claude Desktop,Cursor、Windsurf、Codeium等主流AI编程工具都已或正在支持MCP协议。这个项目让AI获得了原生的文件系统访问能力,而不需要:
对于隐私敏感场景(代码在本地,不想发到云端),这是一个理想的本地方案。
/),仍存在风险MCP(Model Context Protocol)由Anthropic提出,旨在解决AI与外部工具/数据源连接的标准化问题。它代表了一个趋势:AI不再只是被动响应,而是主动调用工具。MCP Filesystem Server是这个生态中文件系统访问的标准实现,随着MCP生态扩大,这类工具的需求会持续增长。
项目由 mark3labs 维护,该组织还贡献了 mcp-go 协议库,是MCP Go生态的核心推动者之一。