SuperAPI AI 工具集

filesystem-context-mcp-server

Filesystem MCP 是一款面向 AI 助手的本地文件系统 MCP 服务器,让 AI 在你指定的目录内安全地读取、搜索、编辑和补丁文件。默认安全:只能访问你允许的文件夹,.env、私钥、云凭证等敏感文件被屏蔽;删除非空文件夹、越权访问未授权目录、覆盖已有文件等危险操作会先请求确认。搜索与编辑针对代码场景设计,支持类似 grep 的文件内搜索(使用不会挂起的 RE2 正则引擎),默认跳过 .gitignore 忽略项及 node_modules 等目录;编辑为精确匹配替换,不匹配时报错,并可用 dryRun 先预览 diff。支持 stdio 与 HTTP、macOS/Linux/Windows,可通过 npx、Docker 或 Claude Desktop 一键扩展安装,也可作为自建客户端的底层组件。完全本地运行,无遥测、无网络请求。

访问官网

工具介绍

用途

Filesystem MCP 是一款 MCP(Model Context Protocol)服务器,用于让 Claude、VS Code 中的 GitHub Copilot、Cursor 等 AI 应用安全地操作本地文件。它是一个运行在你自己电脑上的小程序,向 AI 提供 13 个文件操作工具。你自行选择允许它使用的文件夹,这些文件夹之外的内容一律不可访问。

主要能力

  • 读取、搜索、编辑和补丁文件,支持一次读取多个文件,或只读取需要的行;读取前可查看文件大小与 token 估算。
  • 支持类似 grep 的文件内搜索,使用 RE2 正则引擎,不会因正则导致挂起;默认跳过 .gitignore 忽略的文件以及 node_modules、dist、.git 等目录。
  • 编辑采用精确匹配替换,文本不匹配时返回错误;可先用 dryRun 预览 diff。
  • 支持读取和订阅任意文件资源,格式为 filesystem-mcp://file/{+path};还提供 internal://instructions 以及 get-help 提示词,内含面向模型的服务器指南。

安全机制

  • 默认安全:AI 只能使用你允许的文件夹;.env 文件、私钥、云凭证等被屏蔽。
  • 删除非空文件夹、打开未授权文件夹、用 create 或 move 覆盖文件时,服务器会先询问用户;只有 create 和 copies 可通过 overwrite: true 跳过询问。
  • edit、patch、replace_text 的编辑无需询问即可应用,但可先用 dryRun 展示 diff。
  • 若希望 AI 完全不修改文件,使用 --read-only 会移除所有写入类工具。
  • 隐私:完全在本机运行,无遥测、无分析、无崩溃报告,也不发起对外网络请求。

使用方式

需要 Node.js 24 或更高版本,可用 node --version 检查。

安装与接入方式:

  • 通过 npx 安装:使用命令参数 -y、@j0hanz/filesystem-mcp@latest,再加上一个或多个文件夹路径。
  • VS Code:点击 Install,或将配置加入 .vscode/mcp.json。VS Code 当前会与服务器共享你已打开的文件夹,因此其一键安装无需路径;其他应用或 HTTP 方式需在 args 中放入文件夹路径。
  • Cursor:点击 Install 后将文件夹加入 args,或写入项目中的 .cursor/mcp.json,全局配置为 ~/.cursor/mcp.json。
  • Claude Desktop:下载 filesystem-mcp.mcpb 后用 Claude Desktop 打开并选择允许的文件夹,由其内置 Node.js 运行;也可手动写入 claude_desktop_config.json(Settings → Developer → Edit Config),或安装插件指向当前项目。
  • Visual Studio:将配置加入解决方案文件夹中的 .vs\mcp.json,或全局的 %USERPROFILE%.mcp.json。
  • Docker:容器只能看到你挂载的文件夹。提供的示例通过 :ro 挂载和 --read-only 标志双重阻止写入;去掉这两项即可允许 AI 修改文件。
  • Windsurf、Cline 及大多数客户端使用与 Claude Desktop 相同的 mcpServers JSON 配置。

配置完成后重启应用,可问 AI:“Which folders can you access?” 来确认。若 AI 表示没有可用文件夹,在 args 中补充文件夹路径即可解决。

常用配置项:多数人只需文件夹参数。标志放在包名之后的 args 中,例如 ["-y", "@j0hanz/filesystem-mcp@latest", "--read-only", "/path/to/project"]。完整配置参考涵盖所有标志与环境变量、完整敏感文件列表、限制、带 API 密钥的 HTTP 设置、Docker 及故障排查。

也可全局安装后运行:filesystem-mcp /path/to/project。

自建客户端

可让自己的代码(agent、编辑器插件、Web 应用、CI 任务或脚本)调用 Filesystem MCP,规则与 AI 应用相同:代码无法访问允许文件夹之外的位置,也无法读取敏感文件。

  • 数据位置:文本块面向模型编写;对于自行生成文本的工具(list、search_text、edit 等),相同数据以 JSON 形式放在 _meta 中;stat、create 和 list_roots 的数据放在 structuredContent 中。read 是例外:文件文本仅在文本块中,_meta 只保存其元数据。
  • 路径:相对路径在服务器工作目录位于某个根目录内时按该目录解析,否则按根目录解析;存在多个根目录时,路径必须恰好位于其中一个之下。绝对路径不存在歧义。搜索结果以相对于根目录的形式输出,可直接回传。
  • 确认:覆盖、递归删除和根目录之外的路径会询问用户。需声明 elicitation 能力并在处理器中应答;或在 2026-07-28 协议下作为数据(input_required)接收并稍后应答。
  • 协议版本:服务器支持 2025 协议与 2026-07-28,通过 stdio 和 Streamable HTTP 通信。通过 HTTP 时,2025 时代的客户端不会收到确认或变更通知。

客户端指南包含经 TypeScript 和 Python SDK 测试的细节,examples/ 目录提供六个可运行客户端示例。

适用场景

  • 在仓库中查找所有 TODO 并按文件分组。
  • 在所有 .ts 文件中把 getUser 重命名为 fetchUser,先查看 diff。
  • 对比 config.dev.json 与 config.prod.json 的差异。
  • 读取 server.log 最后 50 行并解释错误。
  • 将旧截图移动到 archive/2025/。

限制

  • 需要 Node.js 24 或更高版本。
  • 只能访问你显式允许的文件夹,容器方式下只能看到被挂载的文件夹。
  • 通过 HTTP 使用时,2025 时代客户端不支持确认和变更通知。
  • 其他平台与客户端的细节、官方对照说明及完整配置,资料中指向完整配置参考与客户端指南,未在此逐项展开。