跳至主要內容
精選 MCP Filesystem File Operations Security Automation

Filesystem MCP:讓 AI 安全地操作你的檔案系統

了解 Filesystem MCP 如何讓 AI 助手在嚴格權限控制下安全地讀寫和管理檔案。掌握檔案操作、安全最佳實踐和進階整合模式。

2026年1月18日 18 分鐘閱讀 作者:Claude World

當你使用 AI 編碼助手時,是否希望它能夠:

  • 直接讀取檔案:無需手動複製貼上檔案內容
  • 批量處理檔案:一次操作多個檔案或目錄
  • 安全的檔案寫入:在受控範圍內修改檔案
  • 動態探索專案結構:自動發現和分析檔案

Filesystem MCP 是 Anthropic 官方提供的 Model Context Protocol 服務器,專門為 AI 助手提供安全、可控的檔案系統操作能力。

什麼是 Filesystem MCP?

Filesystem MCP 是一個基於 Node.js 的 MCP 服務器,實作了 Model Context Protocol 的檔案系統操作介面,讓 AI 助手能夠在嚴格的權限控制下讀寫本地檔案。

核心特色

  1. 靈活的權限控制 🔒

    • 透過命令行參數指定允許存取的目錄
    • 支援動態 Roots 機制,運行時更新權限
    • 預設禁止所有未授權的目錄存取
  2. 豐富的檔案操作 📁

    • read_file() - 讀取檔案內容
    • write_file() - 寫入或覆蓋檔案
    • edit_file() - 行級編輯(搜尋與替換)
    • list_directory() - 列出目錄內容
    • create_directory() - 建立目錄
    • move_file() - 移動或重新命名檔案
    • search_files() - 使用 glob 模式搜尋檔案
    • get_file_info() - 取得檔案元資料
  3. 安全性優先 🛡️

    • 沙箱機制防止存取未授權目錄
    • 可設定唯讀模式(Docker 支援 ro flag)
    • 支援環境變數配置,避免硬編碼路徑
  4. 現代化整合

    • 支援 Roots 協定(推薦方式)
    • 無需重啟即可更新權限
    • 與所有 MCP 相容客戶端無縫整合

為什麼需要 Filesystem MCP?

問題:手動檔案操作的低效率

在沒有 Filesystem MCP 之前,AI 助手處理檔案的方式:

  1. 用戶手動複製貼上 → AI 無法主動探索專案
  2. 有限的內容視野 → 只能看到用戶提供的片段
  3. 無法批量操作 → 每個檔案都需要手動處理
  4. 修改需要人工介入 → AI 只能建議,無法執行

解決方案:安全的自主檔案操作

Filesystem MCP 讓 AI 能夠:

  • ✅ 主動讀取相關檔案,理解完整上下文
  • ✅ 批量處理多個檔案(重構、格式化、遷移)
  • ✅ 直接寫入修改,減少人工複製貼上
  • ✅ 探索專案結構,自動發現相關檔案

同時保持安全性:只能存取你明確授權的目錄。

安裝與設定

方法一:使用官方 CLI(推薦)

# 安裝到專案,允許存取當前目錄
claude mcp add \
  --scope project \
  filesystem \
  -- npx -y @modelcontextprotocol/server-filesystem \
  "$(pwd)"

# 安裝到全域,允許存取多個目錄
claude mcp add \
  --scope global \
  filesystem \
  -- npx -y @modelcontextprotocol/server-filesystem \
  /Users/username/projects \
  /Users/username/documents

方法二:手動配置

編輯 .mcp.json(專案)或 ~/.claude/.mcp.json(全域):

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Desktop",
        "/path/to/other/allowed/dir"
      ]
    }
  }
}

方法三:Docker 沙箱模式

使用 Docker 提供更嚴格的隔離:

docker run -v /path/to/project:/projects:ro \
  @modelcontextprotocol/server-filesystem

提示ro flag 使目錄變為唯讀,AI 只能讀取不能修改。

Roots vs. 命令行參數

傳統方式:命令行參數

{
  "command": "npx",
  "args": [
    "@modelcontextprotocol/server-filesystem",
    "/allowed/dir1",
    "/allowed/dir2"
  ]
}

限制:修改權限需要重啟服務器。

現代方式:Roots 協定(推薦)

Roots 是 MCP 的標準化機制,讓客戶端動態暴露檔案系統邊界給服務器。

優點

  • ✅ 運行時更新權限(無需重啟)
  • ✅ 通過 roots/list_changed 通知自動同步
  • ✅ 更靈活的整合體驗

使用方式

Claude Desktop 等現代客戶端自動支援 Roots,只需配置基本服務器:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem"]
    }
  }
}

客戶端會根據當前工作目錄自動設定 Roots。

實際使用範例

範例一:專案重構

你:「把所有 .js 檔案中的 var 改成 const」

Filesystem MCP 自動執行:
1. search_files("**/*.js") → 找到所有 JS 檔案
2. 對每個檔案執行 read_file()
3. 分析並生成修改建議
4. 使用 edit_file() 批量替換 var → const
5. 回報修改結果

結果:5 分鐘完成 50 個檔案的重構

範例二:專案結構分析

你:「分析這個專案的架構,畫出模組依賴圖」

Filesystem MCP 自動執行:
1. list_directory("/") → 獲取根目錄結構
2. search_files("**/*.ts") → 找到所有 TypeScript 檔案
3. read_file() 讀取每個檔案的 import 語句
4. 分析依賴關係
5. 生成 Mermaid 圖表

結果:自動生成完整的專案架構圖

範例三:檔案批量處理

你:「把 src/components 下的所有 TypeScript 檔案加上 copyright header」

Filesystem MCP 自動執行:
1. list_directory("src/components")
2. search_files("src/components/**/*.ts")
3. 對每個檔案執行 read_file()
4. 在檔案開頭插入 copyright header
5. 使用 write_file() 寫回

結果:30 個檔案自動加上 header

可用工具詳解

1. read_file(path: string) 📖

讀取檔案內容。

2. write_file(path: string, content: string) ✍️

寫入或覆蓋檔案。

⚠️ 注意:會覆蓋現有檔案,請謹慎使用。

3. edit_file(path: string, edits: Edit[]) ✂️

行級編輯,支援搜尋與替換。

4. list_directory(path: string) 📂

列出目錄內容。

5. create_directory(path: string) 🆕

建立新目錄(支援巢狀建立)。

6. move_file(source: string, destination: string) 🔀

移動或重新命名檔案。

7. search_files(pattern: string, path?: string) 🔍

使用 glob 模式搜尋檔案。

支援的 glob 模式

  • *.ts - 當前目錄下的所有 TS 檔案
  • **/*.ts - 所有子目錄下的 TS 檔案
  • src/**/*.{ts,tsx} - src 下的 TS 和 TSX 檔案

8. get_file_info(path: string) ℹ️

取得檔案元資料。

安全性最佳實踐

✅ 推薦做法

  1. 最小權限原則
  2. 敏感資料保護
  3. 使用唯讀模式
  4. 定期審查權限

❌ 避免做法

  1. 授權根目錄 / - 永遠不要這樣做
  2. 授權系統目錄 /etc, /usr, /System - 危險
  3. 授權 home 目錄 ~ - 範圍太大
  4. 硬編碼絕對路徑 - 使用相對路徑或環境變數

與其他 MCP 服務器協同

Filesystem MCP 可與其他 MCP 服務器完美協同:

1. Filesystem + Memory MCP

2. Filesystem + Context7 MCP

3. Filesystem + Sequential Thinking MCP

結論

Filesystem MCP 是 AI 助手操作檔案系統的安全橋樑。它在提供強大檔案操作能力的同時,透過嚴格的權限控制確保系統安全。

適合你嗎?

使用場景推薦度
批量檔案重構⭐⭐⭐⭐⭐
專案結構分析⭐⭐⭐⭐⭐
自動化檔案處理⭐⭐⭐⭐⭐
多專案管理⭐⭐⭐⭐
敏感資料處理⭐⭐ (需謹慎設定權限)

立即開始

  1. 安裝:claude mcp add --scope project filesystem -- npx -y @modelcontextprotocol/server-filesystem "$(pwd)"
  2. 授權專案目錄
  3. 開始享受 AI 驅動的檔案操作

延伸閱讀