Filesystem Operations MCP 服务说明文档
1. 服务概述一句话简介提供安全文件系统操作的MCP服务器支持文件读写、目录管理、搜索等功能通过动态访问控制实现安全操作服务名称Filesystem Operations MCP版本号最新版本开发者/提供方modelcontextprotocol协议类型MCP (Model Context Protocol)2. 核心功能该MCP服务提供以下主要功能点文件操作读取文件支持文本文件完整或部分读取、媒体文件Base64编码读取、多文件并发读取写入与编辑创建新文件、覆盖现有文件、选择性行编辑并支持差异预览移动文件在允许路径内重命名或移动文件和目录元数据获取检索详细信息包括大小、时间戳、类型和权限目录操作创建目录创建新目录包括嵌套路径列出目录列出目录内容区分文件和子目录支持排序选项搜索文件递归查找匹配模式的文件和目录支持排除选项目录树视图获取目录层级的递归JSON结构访问控制静态控制通过命令行限制操作目录动态控制使用MCP Roots更新允许目录覆盖服务器端配置访问列表查看当前允许的目录3. 使用场景该服务适合在以下情况下使用AI助手需要安全访问和操作本地文件系统需要读取、写入或编辑代码文件的开发辅助场景需要搜索和管理项目文件结构的自动化任务需要获取文件元数据进行分析的智能应用需要严格控制文件访问权限的安全场景4. 接入方式4.1 服务端点该服务通过Node.js运行提供本地文件系统访问能力。支持通过Docker容器化部署或直接使用NPX运行。4.2 认证与权限服务通过目录访问控制系统实现权限管理通过命令行参数指定允许访问的目录支持MCP Roots协议动态更新访问目录所有文件系统操作限制在允许目录范围内支持只读模式挂载目录4.3 数据格式服务支持以下数据格式文本文件UTF-8编码读取媒体文件Base64编码包含MIME类型目录树JSON格式输出文件元数据结构化JSON对象4.4 服务器配置在MCP客户端配置中添加服务Docker方式{ mcpServers: { filesystem: { command: docker, args: [ run, -i, --rm, --mount, typebind,src/Users/username/Desktop,dst/projects/Desktop, --mount, typebind,src/path/to/other/allowed/dir,dst/projects/other/allowed/dir,ro, mcp/filesystem, /projects ] } } }NPX方式{ mcpServers: { filesystem: { command: npx, args: [ -y, modelcontextprotocol/server-filesystem, /Users/username/Desktop, /path/to/other/allowed/dir ] } } }5. 接口定义服务提供以下主要工具接口工具名称功能描述主要参数read_text_file读取文本文件内容path, head(可选), tail(可选)read_media_file读取媒体文件pathread_multiple_files并发读取多个文件paths (string[])write_file创建或覆盖文件path, contentedit_file选择性编辑文件path, edits, dryRun(可选)create_directory创建目录pathlist_directory列出目录内容pathlist_directory_with_sizes列出目录内容及大小path, sortBy(可选)move_file移动或重命名文件source, destinationsearch_files搜索文件path, pattern, excludePatterns(可选)directory_tree获取目录树结构path, excludePatterns(可选)get_file_info获取文件元数据pathlist_allowed_directories列出允许访问的目录无6. 快速开始6.1 环境要求Node.js 运行环境Docker可选用于容器化部署MCP客户端如Claude Desktop、VS Code等6.2 示例代码使用NPX快速启动npx -y modelcontextprotocol/server-filesystem /path/to/allowed/directory使用Docker构建docker build -t mcp/filesystem -f src/filesystem/Dockerfile .7. 注意事项安全警告write_file操作会覆盖现有文件请谨慎使用目录限制服务必须在至少一个允许目录下操作否则会抛出错误Roots协议推荐使用MCP Roots协议实现动态目录更新无需重启服务编辑预览使用edit_file时建议先用dryRun模式预览变更只读模式可通过Docker的ro标志挂载只读目录许可证该服务采用MIT许可证