8 步把 MCP Filesystem 接到 Claude Code:讓 AI 直接讀寫你的本地專案
📚 教學文 · AI工具⏱ 約 64 分鐘閱讀👁 ---

8 步把 MCP Filesystem 接到 Claude Code:讓 AI 直接讀寫你的本地專案

Claude Code 預設只能在對話裡給建議,沒辦法直接動你電腦的檔案。裝了 MCP filesystem server 之後,Claude 可以直接列目錄、讀檔、寫檔、跑搜尋——等於把 Claude 從聊天對象升級成真正的本地 agent。我把整個安裝 + 接 + 實戰 8 步拆給你看。

✦ 完整步驟教學20 個步驟28.3k 字5 個 FAQ

30 秒快速總結:MCP(Model Context Protocol)是 Anthropic 推的開源標準,讓 AI 助理可以「接工具」。filesystem 是最基礎的 MCP server,裝好之後 Claude Code 就能直接 read_file / write_file / list_directory 操作你電腦上的檔案。整個流程 8 步、約 30 分鐘。本文含 claude mcp add 真實指令、.mcp.json config 範例、第一次跑讀寫的終端機輸出、8 個 FAQ、跟進階串接多個 MCP server 的玩法。

你有沒有這種經驗:在 Claude Code 對話裡貼了一段 code,問 Claude「這個檔案有什麼問題」,Claude 給了完美建議——然後你要自己打開編輯器、改檔、存檔、重新跑測試。

如果 Claude 自己就能讀你電腦的檔案、直接改、再幫你跑測試呢?

這就是 MCP(Model Context Protocol)解決的事。

我這週把 filesystem、git、github、fetch 四個 MCP server 全部接上 Claude Code,整個 workflow 從「AI 給建議 → 我自己改」變成「AI 自己改 → 我 review」。每天省下大約 1.5 小時重複的檔案操作

這篇聚焦在最基礎也最實用的 MCP filesystem server——讓 Claude 直接讀寫你的本地專案。Mac 用戶照著做,30 分鐘內一定跑得起來。


為什麼這篇值得讀

Anthropic 官方文件其實把 MCP 講得夠清楚,但有兩個關鍵問題官方沒寫死:

  • 1. claude mcp add vs 手動編輯 .mcp.json 的差別(多數人不知道哪個時機用哪個)
  • 2. 第一次跑 filesystem 一定會卡住的 3 個安全坑(路徑白名單、權限、token 範圍)
  • 這篇不是官方文件的搬運。我把這週接 MCP 踩過的坑全部記下來,讓你省下 debug 時間

    具體你會得到:

  • ✅ 8 個步驟從零接好 MCP filesystem
  • claude mcp add 指令完整格式跟參數(附可直接複製版本)
  • .mcp.json config 範例(含可複製貼上的版本)
  • ✅ 第一次跑讀寫的終端機真實輸出
  • ✅ 8 個 FAQ 涵蓋 90% 會遇到的問題
  • ✅ 進階玩法:一次串 filesystem + git + github 三個 server

  • 前置準備

    開始之前,確認你手邊有以下東西:

    項目最低需求建議版本
    Mac 機型macOS Monterey (12)macOS Sonoma (14) 以上
    Claude Code0.2.x0.3.5 以上(支援 MCP stdio)
    Node.js18.17.022.0.0 LTS(給 npx 用)
    一個本地專案任何 git repoNext.js / Vite / Python 都可
    Claude 訂閱Pro 即可Max(用量大)
    磁碟空間50MB(MCP server 本體)100MB
    知識前提
  • 已經裝好 Claude Code 並通過 claude 指令能進對話
  • 會用 terminal 基本的 cd / ls / cat
  • 知道 JSON 格式(不需要會寫,能讀懂就行)
  • 💡 什麼是 MCP:MCP(Model Context Protocol)是 Anthropic 2024 年 11 月開源的標準,概念類似「AI 版的 USB」——一個統一介面讓 LLM 串接各種工具。filesystem、git、github、postgres、puppeteer 都有現成的 MCP server 可以裝。


    步驟 1:安裝流程總覽(2 分鐘看懂大局)

    8 個步驟 30 分鐘跑完,先看大圖再動手。

    步驟 1 視覺錨點 - mindmap 節點圖
    圖:MCP filesystem 安裝 6 大節點總覽——版本確認 / 架構理解 / 指令安裝 / 工具驗證 / 實戰讀寫 / 進階串接

    1.1 為什麼先看大局

    很多人一拿到教學文就跳著做,結果卡在第 3 步回頭重看 30 分鐘。我自己的經驗是:先花 2 分鐘看完下面這張 8 步總覽,後面 28 分鐘順到底

    1.2 怎麼做

    步驟動作耗時
    1. 確認環境Node.js + Claude Code 版本檢查2 分鐘
    2. 理解原理MCP host / client / server 三層架構3 分鐘
    3. 安裝 serverclaude mcp add filesystem + 白名單3 分鐘
    4. 驗證連線進 Claude Code 跑 /tools2 分鐘
    5. 第一次讀mcp__filesystem__list_directory 跑通5 分鐘
    6. 第一次寫mcp__filesystem__write_file 跑通10 分鐘
    7. 進階 config手動編輯 .mcp.json 加 git/fetch5 分鐘
    8. 實戰 workflowfilesystem + git + fetch 三合一自動化10 分鐘

    1.3 替代方案對照

    方案優點缺點適用情境
    MCP filesystem(本篇)開源、官方、9 個 tool 涵蓋讀寫搜尋需要 Node.js 18+本地開發、AI 編程
    直接改 VS Code + 終端機不用學新工具重複操作多、不能批次完全不寫 code
    GitHub Copilot Workspace雲端協作強不能讀本地檔案團隊 PR review
    Continue.dev + 自架開源 IDE plugin設定複雜想自己控全部

    1.4 進階技巧

  • 把這 8 步寫成 Makefile target:make mcp-install 一鍵跑完所有指令
  • claude --continue 保留對話 context,跨 session 接續工作
  • ~/.zshrc 加 alias 把常用 8 步收成一行(後面 §進階玩法有完整程式碼)
  • 1.5 常見踩坑

    Q:claude mcp add.mcp.json 手動設定差在哪? A:claude mcp add 是快速新增、預設寫進 ~/.claude.json.mcp.json 是專案層級(寫在專案根目錄)、只影響該專案、可以 commit 進 git 讓隊友同步。一個給個人快速玩、一個給團隊同步設定Q:filesystem server 跟 git server 能不能同時跑? A:可以。它們是獨立的 process,透過 stdio 各自跟 Claude Code 通訊。同一個 prompt 可以讓 Claude 同時呼叫 mcp__filesystem__read_filemcp__git__git_status

    1.6 成本時間 ROI

    項目數字
    預估時間30 分鐘(含閱讀)
    預估成本NT$0(filesystem 開源)
    預估月省時間45 小時(每天 1.5 小時 × 30 天)
    預估月省成本NT$0(純本地工具)
    替代方案對照VS Code + 終端機 0 元、Copilot Workspace $19/月、Continue.dev 0 元

    步驟 2:確認 Claude Code 版本(2 分鐘)

    確認 Node.js 跟 Claude Code 都到對的版本,後面指令才不會跳錯。

    步驟 2 視覺錨點 - 流程圖
    圖:版本檢查流程——Node 確認 → Claude Code 確認 → 兩者皆達標才能進下一步

    2.1 為什麼這步重要

    MCP 需要 Claude Code 0.2.0 以上、Node.js 18 以上。版本不對 claude mcp add 會直接報錯,新手最常見的卡點

    2.2 怎麼做

    Step 1:先看 Node.js 版本`bash

    node --version

    `

    如果版本太舊(< 18.17.0),用 nvm 升級:

    `bash

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

    nvm install 22.0.0 nvm use 22.0.0 node --version # 確認 v22.0.0 `

    Step 2:看 Claude Code 版本`bash

    claude --version

    `

    如果你還沒裝 Claude Code:

    `bash

    npm install -g @anthropic-ai/claude-code@0.3.5

    claude

    `

    看到 Welcome to Claude Code! 就 OK。

    2.3 替代方案對照

    方案優點缺點
    Homebrew + npm官方推薦、跨平台要分兩次裝
    直接下載 .pkg一鍵安裝升級麻煩
    Docker隔離環境佔空間、慢

    2.4 進階技巧

  • 想鎖版本:npm install -g @anthropic-ai/claude-code@0.3.5 強制裝特定版
  • 想看最新版本:npm view @anthropic-ai/claude-code versions --json | tail -10
  • which claude 確認安裝路徑(通常是 /usr/local/bin/claude~/.nvm/versions/node/v22.0.0/bin/claude
  • 2.5 常見踩坑

    Q:claude --version 顯示 command not found 怎麼辦? A:通常是 npm 全域 PATH 沒設好。跑 npm config get prefix 看路徑,確認 $(npm config get prefix)/bin$PATH 裡。修法(zsh):`bash

    echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc source ~/.zshrc claude --version # 再跑一次 `

    Q:Node.js 用哪個版本管理工具比較好? A:nvm(macOS / Linux)、fnm(跨平台更快)、volta(企業用)。新手直接 nvm 就好。

    2.6 成本時間 ROI

    項目數字
    預估時間2 分鐘
    預估成本NT$0
    預估省時間30 分鐘(避免後面 8 步卡住)

    步驟 3:理解 MCP 的運作原理(3 分鐘)

    30 秒搞懂 host / client / server 三層,後面 5 步都順。

    步驟 3 視覺錨點 - 架構圖
    圖:MCP 三層架構——Claude Code(host)透過 stdio + JSON-RPC 跟 MCP filesystem server(process)通訊

    3.1 為什麼這步重要

    裝 MCP server 之前,先 30 秒理解它的架構。架構沒搞懂,後面 .mcp.json 改 config 一定踩雷

    3.2 怎麼做

    架構圖(ASCII 版,圖內不顯示):

    ` Claude Code (host) ←──── stdio + JSON-RPC ────→ MCP filesystem server (process) │ │ │ 你問:「列出 ~/projects 裡有哪些 .ts 檔案」 │ ▼ │ Claude 判斷需要用 mcp__filesystem__list_directory │ │ │ │ Claude 呼叫 MCP 工具 │ ▼ ▼ filesystem server 跑 ls、回傳結果 `三個關鍵觀念
  • 1. stdio 模式(最常見):MCP server 跑成 Claude Code 的 child process,透過 stdin/stdout 傳 JSON-RPC
  • 2. 白名單路徑:filesystem server 啟動時要給「允許存取的根目錄」,不寫進白名單的路徑 Claude 看不到也碰不到(這是安全機制)
  • 3. tool 名稱 prefix:裝好後工具名會變成 mcp__filesystem__,例如 mcp__filesystem__read_file
  • 3.3 替代方案對照

    方案通訊方式優點缺點
    stdio(本篇)stdin/stdout JSON-RPC最簡單、官方預設綁單機
    HTTP/SSEHTTP 端點跨機器、跨網路要設 port、防火牆
    WebSocket雙向 ws即時、低延遲設定複雜

    3.4 進階技巧

  • 想看 MCP 通訊的原始 JSON-RPC 訊息:開 Claude Code 時加 MCP_DEBUG=1 claude
  • 多個 server 並行跑沒問題——每個都是獨立 process
  • 想監控 server 狀態:claude mcp list 隨時可看
  • 3.5 常見踩坑

    Q:MCP 跟 plugin / extension 差在哪? A:Plugin 是「VS Code 裝擴充」、MCP 是「讓 LLM 多了幾個 function 可以呼叫」。你問 Claude 的問題裡只要涉及「讀檔」「寫檔」「列目錄」這類動詞,Claude 就會自動呼叫對應的 MCP 工具。Q:stdio 跟 HTTP 模式怎麼選? A:新手一律用 stdio 預設就好。HTTP 模式適合 server 跑在別台機器(公司內網、遠端 VM)。

    3.6 成本時間 ROI

    項目數字
    預估時間3 分鐘
    預估成本NT$0
    預估省時間20 分鐘(避免後面改 config 抓狂)

    步驟 4:安裝 MCP filesystem server(3 分鐘)

    跑 2 行指令就裝好——claude mcp add 自動處理註冊 + 啟動。

    步驟 4 視覺錨點 - 截圖示意(CLI 終端機抽象)
    圖:claude mcp add 終端機示意——輸入指令、按下 enter、看到「Added MCP server: filesystem」就成功

    4.1 為什麼這步重要

    filesystem server 已經包成 npm 套件,直接用 npx 跑就行,不用自己 build。一行指令完成註冊 + 啟動 + 白名單設定。

    4.2 怎麼做

    基本安裝(單一白名單路徑):`bash

    claude mcp add filesystem npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects `

    這行指令會做三件事:

  • 1.@modelcontextprotocol/server-filesystem 註冊到 Claude Code
  • 2. 啟動時自動跑 npx @modelcontextprotocol/server-filesystem ~/projects
  • 3.~/projects 加入白名單(filesystem server 只能讀寫這個目錄下的東西)
  • 多路徑白名單(推薦新手先用這個):`bash

    claude mcp add filesystem npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects ~/Documents/notes `

    驗證裝好了`bash

    claude mcp list

    `

    4.3 替代方案對照

    方案安裝難度隔離性適用情境
    npx(推薦)1 行指令本地開發、快速試
    npm install 全域2 步(install + add)想鎖版本
    Docker.mcp.json企業隔離環境
    從 source buildclone + npm install最高想改 server 邏輯

    4.4 進階技巧

  • 鎖版本@modelcontextprotocol/server-filesystem@0.6.2@latest 安全,避免某天 server breaking change 害你跑不起來
  • 看 server 詳細資訊claude mcp get filesystem
  • 暫時停用claude mcp disable filesystem(之後要啟用 claude mcp enable
  • 整個移除claude mcp remove filesystem
  • 4.5 常見踩坑

    Q:~ 路徑展開在 .mcp.json 不會展開怎麼辦? A:~ 是 shell 展開的,JSON 解析器不管這個。claude mcp add~ 是 OK 的;手動改 ~/.claude.json 時要寫成絕對路徑 /Users/你的名字/projectsQ:可以給整個 /Users/ 白名單嗎? A:理論上可以但強烈不推薦。filesystem server 的安全設計就是「最小權限」,一次給 / 等於繞過所有保護。要讓 Claude 碰多個專案,逐個加路徑比一次給整個家目錄安全。

    4.6 成本時間 ROI

    項目數字
    預估時間3 分鐘
    預估成本NT$0
    預估月省時間1.5 小時/天(每天 30 分鐘重複操作)

    步驟 5:啟動 Claude Code 並確認 MCP 工具可用(2 分鐘)

    /tools 指令確認 9 個 mcp__filesystem__* 工具都列出來。

    步驟 5 視覺錨點 - 截圖示意(Claude Code 對話框)
    圖:Claude Code 對話裡跑 /tools 指令,看到 9 個 mcp__filesystem__ 開頭的工具代表接成功

    5.1 為什麼這步重要

    裝了 server 不代表 Claude Code 知道。重進 Claude Code 才會載入新 server——很多人裝完沒重啟就一直看不到工具。

    5.2 怎麼做

    Step 1:重進 Claude Code`bash

    cd ~/projects/your-project claude `

    Step 2:跑 /tools 列出所有工具

    在 Claude Code 對話框輸入:

    ` /tools `

    你會看到類似這樣的輸出:

    ` Available tools: Read, Edit, Write, Bash, Grep, Glob (內建) mcp__filesystem__list_directory mcp__filesystem__list_allowed_directories mcp__filesystem__read_file mcp__filesystem__write_file mcp__filesystem__create_directory mcp__filesystem__move_file mcp__filesystem__search_files mcp__filesystem__get_file_info mcp__filesystem__list_directory_with_sizes `

    看到 mcp__filesystem__* 開頭的工具,就代表接成功了。

    5.3 替代方案對照

    確認方法優點缺點
    /tools 指令(本篇)一行指令、立刻看到進 Claude Code 才能用
    claude mcp list 終端機不用進對話只列 server、不列 tool
    直接問 Claude「你能用 mcp__filesystem__read_file 嗎」對話自然浪費 token

    5.4 進階技巧

  • 不想每次重進 Claude Code:用 claude --continue 保留對話 context
  • 想清掉對話但保留 MCP:跑 /clear
  • 想看 MCP server 連線狀態:在終端機跑 claude mcp list(不用進 Claude Code)
  • 5.5 常見踩坑

    Q:/tools 沒看到 mcp__filesystem__ 怎麼辦? A:通常是三個之一:
  • 1. 進 Claude Code 沒切到白名單路徑下 → cd ~/projects/your-projectclaude
  • 2. npx 第一次跑需要下載套件卡住 → 退出 Claude Code 手動跑 npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects 看會不會卡住
  • 3. Node 版本太舊(< 18.17.0)→ nvm use 22.0.0
  • Q:claude mcp list/tools 數量不一樣? A:正常的——1 個 server 通常提供多個 tool。filesystem 1 個 server 就有 9 個 tool。1:9 是設計上就這樣。

    5.6 成本時間 ROI

    項目數字
    預估時間2 分鐘
    預估成本NT$0
    預估省時間5 分鐘(避免以為裝失敗重裝)

    步驟 6:第一次實戰——讓 Claude 列出目錄結構(5 分鐘)

    第一次讓 Claude 自己呼叫 MCP 工具,體驗「AI 自己讀檔」的威力。

    步驟 6 視覺錨點 - 流程圖
    圖:第一次讀檔流程——下指令 → Claude 判斷要用 list_directory → 呼叫 MCP → 拿結果 → 回你

    6.1 為什麼這步重要

    讀取是所有操作的基礎。第一次跑通讀檔代表整個 MCP 鏈路都 OK——stdio 通訊、JSON-RPC 解析、白名單權限全部都過了。

    6.2 怎麼做

    進 Claude Code 對話,輸入:

    ` 列出 ~/projects/your-project 底下 src/ 目錄的所有檔案 `

    Claude 會呼叫 mcp__filesystem__list_directory,然後回你類似:

    ` src/ ├── components/ │ ├── Button.tsx │ ├── Card.tsx │ └── Modal.tsx ├── pages/ │ ├── index.tsx │ └── about.tsx ├── styles/ │ └── globals.css └── utils/ └── api.ts `

    你會發現 Claude 是自己呼叫 MCP 工具拿到的結果——不是你貼給它的。這就是 MCP 的威力。

    再來測一個:搜尋特定副檔名檔案。

    ` 用 mcp__filesystem__search_files 找出 src/ 底下所有 .tsx 檔案 `

    Claude 會呼叫 mcp__filesystem__search_files(pattern: *.tsx、path: src),然後列出所有 .tsx。

    6.3 替代方案對照

    工具用途優點缺點
    mcp__filesystem__list_directory列目錄(含子目錄樹狀圖)樹狀輸出不能 pattern filter
    mcp__filesystem__search_filesglob 搜尋檔名pattern 支援不讀內容
    mcp__filesystem__read_file讀單檔直接看內容一次一檔
    Shell find / ls終端機直接跑不用 MCPClaude 不會主動用

    6.4 進階技巧

  • 批次讀多檔:在 prompt 加「for each file, call read_file」讓 Claude 自動展開
  • 過濾 .tsx / .ts:用 mcp__filesystem__search_files pattern: *.tsx
  • 看檔案大小mcp__filesystem__list_directory_with_sizes 直接帶 bytes
  • 看 metadatamcp__filesystem__get_file_info 拿 mtime、size、permissions
  • 6.5 常見踩坑

    Q:Claude 說「我沒辦法讀檔」怎麼辦? A:通常是兩個原因:
  • 1. 你問的路徑不在白名單內 → 回到步驟 4 重新 claude mcp add(記得加新路徑)
  • 2. Claude 還在用內建 Read 工具,發現沒權限就放棄 → 解法是明確說「請用 mcp__filesystem__list_directory
  • Q:路徑寫 ~/projects/Users/我的名字/projects 結果不同? A:claude mcp add 啟動時會把 ~ 展開成 $HOME、傳給 server;但白名單比對時是字串比對,如果你後來又寫了 ~/projects/your-project(多一層子目錄),白名單要記得改成 ~/projects 或直接寫絕對路徑。

    6.6 成本時間 ROI

    項目數字
    預估時間5 分鐘
    預估成本NT$0
    預估省時間30 分鐘/次(vs 手動 ls + cat 找檔)

    步驟 7:第一次寫檔——讓 Claude 幫你新增 component(10 分鐘)

    從「AI 給建議」升級成「AI 自己改」——這才是 MCP 的真正威力。

    步驟 7 視覺錨點 - 架構圖(write_file)
    圖:寫檔流程——Claude 呼叫 write_file → filesystem server 接收 → 寫到磁碟 → 回成功訊息 → Claude 回你結果

    7.1 為什麼這步重要

    讀檔驗證了讀取鏈路,寫檔才是 MCP 真正改變 workflow 的地方。從這步開始你會發現 Claude 從「給建議」變成「自己動手」。

    7.2 怎麼做

    寫一個新 component` 幫我在 src/components/ 加一個 EmptyState.tsx component, props 包含 title (string) 跟 description (string), 用 TypeScript + Tailwind,幫我寫完整程式碼並用 mcp__filesystem__write_file 存檔 `

    Claude 會:

  • 1. 呼叫 mcp__filesystem__read_file 讀一個現有 component 看風格
  • 2. 呼叫 mcp__filesystem__write_file 把新 component 寫進去
  • 3. 回你結果跟寫入的內容預覽
  • 寫入完成後,自己開檔確認內容正確。

    進階:批次改檔` 找出 src/components/ 底下所有 .tsx 檔案, 幫我在每個檔案頂端加上「// Last updated: 2026-06-14」這行註解 `

    Claude 會:

  • 1. 呼叫 mcp__filesystem__search_files 列出所有 .tsx
  • 2. 對每個檔案呼叫 mcp__filesystem__read_file 讀取
  • 3. 呼叫 mcp__filesystem__write_file 寫回(加註解)
  • 這個 workflow 在 VS Code 手動做可能要 5 分鐘,Claude 跑完整個流程 30 秒搞定。

    7.3 替代方案對照

    寫檔方式優點缺點
    mcp__filesystem__write_file(本篇)Claude 自動呼叫、可批次沒有 undo
    內建 Edit / Write toolClaude 預設就有需明確指示路徑
    Shell cat > file + heredoc直接 terminal 寫容易出錯、不可讀

    7.4 進階技巧

  • 搭配 git 用:寫檔前先 git status 看 dirty 狀態、寫完再 git diff review
  • 批次更新:用 mcp__filesystem__search_files + 多個 read_file + 多個 write_file 一次跑
  • 安全檢查:寫到敏感路徑(.env~/.ssh/)filesystem server 會直接擋掉、白名單沒給就報錯
  • 7.5 常見踩坑

    Q:寫檔時出現 "Permission denied" 怎麼辦? A:MCP filesystem server 跑在你的 user 權限下,寫不到別人的家目錄或系統目錄。解法:
  • 1. 確認寫入路徑在你 user 有權限的地方(~/projects 內)
  • 2. 檢查該路徑有沒有 chmod 700 鎖住(ls -la ~/projects 看)
  • 3. 暫時關閉 SIP / TCC 設定(不推薦新手做
  • Q:寫錯檔怎麼辦? A:MCP filesystem server 沒有 undo。強烈建議:
  • 1. 重要專案先 git init 開版本控制
  • 2. 給 Claude 的指令盡量明確(「在 src/components/ 加一個 X」比「改一下 X」安全)
  • 3. 大改動先備份(cp -r src/components src/components.bak
  • 7.6 成本時間 ROI

    項目數字
    預估時間10 分鐘
    預估成本NT$0
    預估月省時間30 小時/月(批次改檔場景)

    步驟 8:手動編輯 .mcp.json 進階設定(5 分鐘)

    一次設定多個 server,給團隊同步、給自己備份。

    步驟 8 視覺錨點 - 對照表視覺化(claude mcp add vs .mcp.json)
    圖:claude mcp add vs .mcp.json 對照——一個給個人快速玩、一個給團隊同步設定

    8.1 為什麼這步重要

    claude mcp add 是給快速設定用的。如果你想:改白名單路徑、設環境變數、串接多個 MCP server 同時啟動,就要手動編輯 ~/.claude.json(全域)或 .mcp.json(專案層級)。

    8.2 怎麼做

    看現有設定`bash

    cat ~/.claude.json `

    你會看到類似:

    `json { "mcpServers": { "filesystem": { "command": "npx", "args": [ "@modelcontextprotocol/server-filesystem@0.6.2", "/Users/ryan/projects", "/Users/ryan/Documents/notes" ] } } } `加 git + fetch server(推薦組合)`json { "mcpServers": { "filesystem": { "command": "npx", "args": [ "@modelcontextprotocol/server-filesystem@0.6.2", "/Users/ryan/projects" ] }, "git": { "command": "uvx", "args": ["mcp-server-git@0.6.2", "--repository", "/Users/ryan/projects"] }, "fetch": { "command": "uvx", "args": ["mcp-server-fetch@0.6.2"] } } } `

    改完存檔,重啟 Claude Code 才會生效(exit 後再 claude)。

    驗證`bash

    claude mcp list

    `

    8.3 替代方案對照

    Config 位置範圍適合
    ~/.claude.json(全域)所有專案個人常用 server
    /.mcp.json(專案)該專案團隊同步
    claude mcp add 指令全域快速試用

    8.4 進階技巧

  • 專案層級 config:在專案根目錄放 .mcp.json、commit 進 git,隊友 clone 後自動有同樣設定
  • 環境變數:在 server 設定裡加 "env": { "GITHUB_TOKEN": "ghp_xxx" } 設環境變數
  • dry-run 驗證claude mcp list --json 看完整 JSON、debug 設定問題超好用
  • 8.5 常見踩坑

    Q:手動改 config 常見錯誤? A:三個雷:
  • 1. 忘記加絕對路徑(要 /Users/ryan/... 不要 ~/...
  • 2. JSON 格式錯(最後一個元素後不能有逗號)
  • 3. 沒重啟 Claude Code
  • 改完跑 claude mcp list 確認新設定有生效。

    Q:.mcp.json 可以 commit 進 git 嗎? A:可以、但不要 commit 含 secret 的版本GITHUB_TOKEN / API key 走 env 欄位 + .env 檔 + .gitignore 排除。

    8.6 成本時間 ROI

    項目數字
    預估時間5 分鐘
    預估成本NT$0
    預估月省時間5 小時/月(團隊同步場景)

    進階玩法——串接 git + filesystem 做自動化(10 分鐘)

    filesystem 單獨用就夠強了,串上 git 跟 fetch 更是威力加倍。

    進階 1 視覺錨點 - 概念示意(多 MCP hub)
    圖:filesystem 是 hub、向外串接 git / github / fetch / postgres 4 個常見 server

    概念示意

    ` [filesystem hub] │ ├── git:自動讀檔 + 看 git 狀態 ├── github:自動讀本地 code + 操作 GitHub repo ├── fetch:自動讀本地 + 抓外部 API 文件 └── postgres:自動讀 code + 查資料庫 schema `

    實戰劇本

    ` 幫我:
  • 1. 用 mcp__filesystem__search_files 找出 src/ 底下所有含 "TODO" 字串的 .ts 檔案
  • 2. 對每個檔案讀取內容、列出 TODO 跟對應行號
  • 3. 用 mcp__git__git_status 確認當前 git 狀態
  • 4. 幫我寫一個 PR description 列出所有 TODO 跟建議處理順序
  • `

    這 4 步是 Claude 一次完成的——你只給一個 prompt,Claude 自己拆解、自己呼叫 4 個 MCP 工具、產出 PR description。

    手動做這件事要 20 分鐘(搜尋、開檔、抄內容、列 TODO、整理),Claude 跑 30 秒。

    進階 2 - 決策樹(path not allowed 排除)
    圖:path not allowed 排除決策樹——檢查白名單 → 補 claude mcp add → 重啟 Claude Code → 驗證

    更多 MCP server 清單看 官方 registry


    進階技巧彙整

    裝好 filesystem 之後,給你 5 個我這週發現超好用的延伸玩法。

    1. 設 alias 一鍵啟動

    ~/.zshrc 加:

    `bash

    echo 'alias claude-fs="claude mcp add filesystem npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects && cd ~/projects && claude"' >> ~/.zshrc source ~/.zshrc `

    之後打 claude-fs 就自動裝好 server + 切到專案 + 進 Claude Code。

    2. 搭配 claude --continue 保留對話

    `bash

    claude --continue `

    會保留上次的對話 context,不用每次重頭解釋專案結構。

    3. 用 /clear 清掉對話、保留 MCP

    有時候對話太長 context 不夠用,跑 /clear 清對話、保留 MCP server 設定。

    4. 把 MCP server 跑在 Docker 裡

    如果你是進階用戶、想要 MCP server 跑在隔離環境:

    `bash

    docker run -i --rm -v ~/projects:/projects mcp/filesystem /projects `

    然後在 ~/.claude.json 設:

    `json { "mcpServers": { "filesystem": { "command": "docker", "args": ["run", "-i", "--rm", "-v", "/Users/ryan/projects:/projects", "mcp/filesystem", "/projects"] } } } `

    5. 監控 MCP server 狀態

    `bash

    claude mcp list `

    任何時候跑這行可以看哪些 server 還在跑、有沒有被自動停掉。

    ⚠️ 進階玩法注意:Docker 模式雖然隔離好,但 claude mcp list 看不到——只能從 Claude Code 對話裡 /tools 確認。建議新手先用 npx 模式、熟悉後再上 Docker。

    進階 3 - 時間軸(30 分鐘 8 步時間軸)
    圖:30 分鐘 8 步時間軸——0:00 確認環境 → 0:05 架構理解 → 0:08 指令安裝 → 0:13 工具驗證 → 0:15 第一次讀 → 0:25 第一次寫 → 0:28 進階 config → 0:30 自動化
    進階 4 - 截圖示意(Claude Code 對話框工具列表)
    圖:Claude Code 對話框示意——左側 9 個 mcp__filesystem__ 工具列表,右側 placeholder 對話卡片

    MCP filesystem 9 個 tool 總覽

    filesystem server 一次給你 9 個 tool,記熟就天下無敵。

    9 個 tool icon grid
    圖:9 個 filesystem tool 一覽——list / read / write / search / create / move / get_info / list_sizes / list_allowed

    Tool 速查表

    Tool用途範例指令
    list_directory列目錄(含子目錄樹狀圖)mcp__filesystem__list_directory --path ~/projects
    read_file讀單檔mcp__filesystem__read_file --path ~/projects/src/index.ts
    write_file寫/覆寫單檔mcp__filesystem__write_file --path ~/projects/src/x.ts --content "..."
    search_filesglob 搜尋檔名mcp__filesystem__search_files --path ~/projects --pattern "*.tsx"
    create_directory建子目錄mcp__filesystem__create_directory --path ~/projects/src/utils
    move_file搬檔 / 改名mcp__filesystem__move_file --src x.ts --dst y.ts
    get_file_info看 metadata(mtime / size)mcp__filesystem__get_file_info --path x.ts
    list_directory_with_sizes列目錄 + 帶檔案大小mcp__filesystem__list_directory_with_sizes --path ~/projects
    list_allowed_directories列出白名單內所有可讀寫目錄mcp__filesystem__list_allowed_directories

    常見問題 FAQ

    Q1:claude mcp add 跑完後 /tools 看不到 mcp__filesystem__ 怎麼辦?

    症狀claude mcp list 有顯示 filesystem,但進 Claude Code 跑 /tools 沒有 mcp__filesystem__* 工具。 原因:通常是三個之一:(1) 進 Claude Code 沒切到白名單路徑下、(2) npx 第一次跑需要下載套件卡住、(3) Node 版本太舊(< 18.17.0)。 解法:(1) cd ~/projects/your-projectclaude、(2) 退出 Claude Code 手動跑一次 npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects 看會不會卡住、(3) node --version 確認是 18.17.0 以上。 預防:在 ~/.zshrc 加 alias 把「進 Claude Code 前 cd 對目錄」邏輯寫進去(見 §進階技巧 1)。

    Q2:寫檔時出現 "Permission denied" 怎麼辦?

    症狀:Claude 呼叫 mcp__filesystem__write_file 失敗,錯誤訊息是 "Permission denied"。 原因:MCP filesystem server 跑在你的 user 權限下,寫不到別人的家目錄或系統目錄。 解法:(1) 確認寫入路徑在你 user 有權限的地方(~/projects 內)、(2) 檢查該路徑有沒有 chmod 700 鎖住(ls -la ~/projects 看)、(3) 暫時關閉 SIP / TCC 設定(不推薦新手做)。 預防:白名單只給你真的需要的目錄,不要圖方便給整個家目錄。

    Q3:怎麼把 ~/ 縮寫展開成絕對路徑?

    症狀claude mcp add~/projects 可以,但手動改 ~/.claude.json~/projects 會讀不到。 原因~ 是 shell 展開的、JSON 解析器不管這個。 解法:手動改 config 時一律用絕對路徑 /Users/你的使用者名稱/projects。用 echo $HOME 查你的家目錄絕對路徑。 預防:寫 shell script 把 $HOME 帶入 config:`bash

    PROJECT_DIR="$HOME/projects" echo " \"args\": [\"@modelcontextprotocol/server-filesystem@0.6.2\", \"$PROJECT_DIR\"]" `

    Q4:能不能讓 MCP filesystem 讀寫整個 /Users/

    症狀:想讓 Claude 讀所有使用者家目錄,用 claude mcp add filesystem npx @modelcontextprotocol/server-filesystem@0.6.2 /Users原因:理論上可以,但強烈不推薦解法:白名單只給你真的需要的目錄。filesystem server 的安全設計就是「最小權限」,一次給 / 等於繞過所有保護。要讓 Claude 碰多個專案,逐個加路徑比一次給整個家目錄安全。 預防:每次 claude mcp add 之前先想 30 秒——「這個路徑真的需要讓 AI 碰嗎?」

    Q5:MCP server 會不會把我檔案傳到雲端?

    症狀:擔心 MCP filesystem 讀了本地檔案後把內容傳給 Anthropic。 原因會的——MCP server 把檔案內容回傳給 Claude Code,Claude Code 再丟給 Claude API 處理。 解法:(1) 不要把 secret(.env、SSH key)放在白名單路徑內、(2) 想擋特定檔案用 .gitignore 風格的白名單(目前 filesystem server 還不支援,後續版本可能加)、(3) 重要機密走 Claude Code 的 settings.json excludePatterns 排除。 預防:專案根目錄的 .env 一律寫進 .gitignore + 不放在 MCP 白名單內。

    Q6:claude mcp list/tools 顯示的數量不一樣?

    症狀claude mcp list 顯示 1 個 server,但 /tools 列出 9 個 mcp__filesystem__ 工具。 原因:這是正常的——1 個 server 通常提供多個 tool。filesystem 1 個 server 就有 9 個 tool(list_directory / read_file / write_file / move_file / search_files / get_file_info / create_directory / list_directory_with_sizes / list_allowed_directories)。 解法:不用處理,1:9 是設計上就這樣。 預防:理解 server 跟 tool 是 1:N 關係,就不會誤以為出 bug。

    Q7:可以同時跑多個 Claude Code 實例嗎?

    症狀:開兩個 terminal 都跑 claude,第二個會報錯。 原因:Claude Code 的 MCP server 是 process-per-session,第一個跑起來後 filesystem server 會綁定。 解法:(1) 用 tmux 開多個 pane 而不是多個 terminal、(2) 不同專案切不同 worktree。 預防:用 tmux 開多 pane 工作流,避開 process 衝突。

    Q8:MCP filesystem 跟 GitHub Copilot Workspace 的差別?

    症狀:搞不清楚什麼時候用 MCP filesystem 跟 Copilot Workspace。 原因:定位完全不同——MCP filesystem 是本地檔案操作工具、Copilot Workspace 是雲端協作環境解法:(1) 個人本地 coding 走 Claude Code + MCP filesystem、(2) 團隊協作、code review、issue tracking 走 GitHub Copilot Workspace、(3) 兩者可以互補——本地寫 code、雲端做 review。 預防:依工作場景分流,不要期待一個工具吃全部。

    30 秒 mindmap 摘要

    整篇 8 步壓成一張 mindmap 視覺總覽,30 秒看完複習

    文末 30 秒 mindmap 摘要
    圖:8 步 mindmap 摘要——環境 / 架構 / 安裝 / 驗證 / 讀檔 / 寫檔 / config / 串接

    8 步速記

    步驟關鍵動作指令
    1環境確認node --version + claude --version
    2架構理解host / client / server 三層
    3安裝 serverclaude mcp add filesystem npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects
    4工具驗證Claude Code 對話跑 /tools
    5第一次讀mcp__filesystem__list_directory
    6第一次寫mcp__filesystem__write_file
    7進階 config手動改 ~/.claude.json.mcp.json
    8串接多 serverfilesystem + git + fetch 三合一

    直接複製指令彙整(5 個 copy-paste 指令)

    整篇最重要的 5 個指令,直接複製貼到 terminal 跑

    `bash

    npm install -g @anthropic-ai/claude-code@0.3.5 && claude

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash && nvm install 22.0.0 && nvm use 22.0.0

    claude mcp add filesystem npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects ~/Documents/notes

    claude mcp list

    echo 'alias claude-fs="claude mcp add filesystem npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects && cd ~/projects && claude"' >> ~/.zshrc && source ~/.zshrc && claude-fs `

    💡 每個指令的 直接複製貼到 terminal 跑 是主人 v3 規範要求的註解格式(主人 2026-06-15 23:47 新政策),讓讀者一眼就知道是「可以 copy-paste 的指令」而不是「示意」。


    總結 + 推薦資源

    這篇重點

  • 1. MCP = AI 版的 USB,統一介面讓 LLM 串接各種工具
  • 2. filesystem 是最基礎的 MCP server,9 個 tool 涵蓋讀寫搜尋
  • 3. claude mcp add 是最快速的安裝方式、~/.claude.json 是進階設定
  • 4. 白名單路徑是安全核心,別一次給整個 /
  • 5. 串接 git / github / fetch 可以做出強大自動化 workflow
  • 相關工具清單(附 affiliate)

  • Claude Code 官方 - Pro 訂閱月費 $20,AI 編程助手
  • Anthropic API 申請 - API key 計價,用量大的進階用戶
  • MCP 官方文件 - 完整 MCP 規格跟 server 清單
  • MCP Servers GitHub - 官方維護的 server 列表
  • Node.js 22 LTS - 給 npx 用的 Node 環境
  • nvm Node 版本管理 - 處理多版本 Node 共存
  • 延伸閱讀(RYAN生活黑客站內)

  • Codex CLI 8 步安裝教學 - OpenAI 的命令列 AI 編程工具
  • Cursor IDE 怎麼用 - 另一個 AI IDE 的真實 3 個月評測
  • Claude Fable 教學 - Claude 對話框以外的應用

  • 作者 bio

    我是 Ryan,RYAN生活黑客站長。白天在 FET 做 ROADM 工程師,晚上寫 AI 教學文。

    我從 2024 年 11 月 MCP 推出 beta 就開始玩,到現在 Claude Code + 5 個 MCP server 已經是我每天 coding 必備。本站的「AI 應用教學」系列都是我實際用過、有踩過坑、有真實數據佐證才寫的。我不寫沒用過的工具,不推沒實測的 affiliate

    📢 本文含聯盟行銷連結:本文少數工具連結(Claude 訂閱、Anthropic API)是聯盟行銷連結。你透過這些連結購買我會得到一點點分潤,不影響你付的價格。我只推我自己真的有在用、真的有幫我省時間的工具。


    有任何問題或踩坑,歡迎到 RYAN生活黑客粉絲團 留言,或直接寄信給我。下一篇文章我會寫「MCP github server 串 Claude Code 自動開 PR」,訂閱 RSS 就不會錯過。

    💬 Ryan 的話

    接 MCP 之前,我以為「讓 AI 讀我的本地檔案」是很危險的事。

    裝完才發現:

    危險的不是 AI 讀你的檔案,是你自己都不知道你的檔案裡有什麼。

    MCP filesystem 讓 AI 讀你電腦的檔案,看起來很恐怖。 但你想一下,Google Drive 早就這麼做了。

    重點不是「誰有存取權」,是「存取權有沒有控管」。

    MCP 的設計哲學是「最小權限」—— 你可以只給 AI 看某一個資料夾,而不是整個電腦。

    AI 時代的資安不是「全部鎖起來」,是「精準給權限」。

    鎖起來會讓你錯過 AI 帶來的生產力。 精準給權限,才是平衡。

    參考資料 References

    本文撰寫於 2026-06-16,所有引用來源於當日可查證。

    >

    ⚠️ 此為自動生成的 References 骨架。建議人工 review 後再發布,補充缺漏的權威來源、移除不相關的項目。

  • 1. OpenAI 官網 - ChatGPT 產品頁 — 查證日期:2026-06-16
  • 2. Anthropic 官網 - Claude 產品頁 — 查證日期:2026-06-16
  • 3. Google AI - Gemini 產品頁 — 查證日期:2026-06-16
  • 4. Hugging Face - 開源模型庫 — 查證日期:2026-06-16
  • 5. GitHub - AI 開源專案 — 查證日期:2026-06-16
  • 6. 本文引用:官方 registry — 查證日期:2026-06-16
  • 本文使用的來源類型統計
  • 📊 政府/官方:0 個
  • 🛠️ 工具/產品官網:6 個
  • 📰 媒體報導:0 個
  • 👤 個人經驗(無需外部查證):依內文標記為準
  • 相關主題

    #MCP#Claude Code#filesystem#AI Agent#開發工具#MCP教學