30 秒快速總結:MCP(Model Context Protocol)是 Anthropic 推的開源標準,讓 AI 助理可以「接工具」。filesystem 是最基礎的 MCP server,裝好之後 Claude Code 就能直接
read_file/write_file/list_directory操作你電腦上的檔案。整個流程 8 步、約 30 分鐘。本文含claude mcp add真實指令、.mcp.jsonconfig 範例、第一次跑讀寫的終端機輸出、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 講得夠清楚,但有兩個關鍵問題官方沒寫死:
claude mcp add vs 手動編輯 .mcp.json 的差別(多數人不知道哪個時機用哪個)這篇不是官方文件的搬運。我把這週接 MCP 踩過的坑全部記下來,讓你省下 debug 時間。
具體你會得到:
claude mcp add 指令完整格式跟參數(附可直接複製版本).mcp.json config 範例(含可複製貼上的版本)前置準備
開始之前,確認你手邊有以下東西:
| 項目 | 最低需求 | 建議版本 |
|---|---|---|
| Mac 機型 | macOS Monterey (12) | macOS Sonoma (14) 以上 |
| Claude Code | 0.2.x | 0.3.5 以上(支援 MCP stdio) |
| Node.js | 18.17.0 | 22.0.0 LTS(給 npx 用) |
| 一個本地專案 | 任何 git repo | Next.js / Vite / Python 都可 |
| Claude 訂閱 | Pro 即可 | Max(用量大) |
| 磁碟空間 | 50MB(MCP server 本體) | 100MB |
claude 指令能進對話cd / ls / cat💡 什麼是 MCP:MCP(Model Context Protocol)是 Anthropic 2024 年 11 月開源的標準,概念類似「AI 版的 USB」——一個統一介面讓 LLM 串接各種工具。filesystem、git、github、postgres、puppeteer 都有現成的 MCP server 可以裝。
步驟 1:安裝流程總覽(2 分鐘看懂大局)
8 個步驟 30 分鐘跑完,先看大圖再動手。

1.1 為什麼先看大局
很多人一拿到教學文就跳著做,結果卡在第 3 步回頭重看 30 分鐘。我自己的經驗是:先花 2 分鐘看完下面這張 8 步總覽,後面 28 分鐘順到底。
1.2 怎麼做
| 步驟 | 動作 | 耗時 |
|---|---|---|
| 1. 確認環境 | Node.js + Claude Code 版本檢查 | 2 分鐘 |
| 2. 理解原理 | MCP host / client / server 三層架構 | 3 分鐘 |
| 3. 安裝 server | claude mcp add filesystem + 白名單 | 3 分鐘 |
| 4. 驗證連線 | 進 Claude Code 跑 /tools | 2 分鐘 |
| 5. 第一次讀 | mcp__filesystem__list_directory 跑通 | 5 分鐘 |
| 6. 第一次寫 | mcp__filesystem__write_file 跑通 | 10 分鐘 |
| 7. 進階 config | 手動編輯 .mcp.json 加 git/fetch | 5 分鐘 |
| 8. 實戰 workflow | filesystem + 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 進階技巧
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_file 跟 mcp__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.1 為什麼這步重要
MCP 需要 Claude Code 0.2.0 以上、Node.js 18 以上。版本不對 claude mcp add 會直接報錯,新手最常見的卡點。
2.2 怎麼做
Step 1:先看 Node.js 版本`bashnode --version
`如果版本太舊(< 18.17.0),用 nvm 升級:
`bashcurl -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
`
`bashclaude --version
`如果你還沒裝 Claude Code:
`bashnpm 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 -10which 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):`bashecho 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
claude --version # 再跑一次
`
2.6 成本時間 ROI
| 項目 | 數字 |
|---|---|
| 預估時間 | 2 分鐘 |
| 預估成本 | NT$0 |
| 預估省時間 | 30 分鐘(避免後面 8 步卡住) |
步驟 3:理解 MCP 的運作原理(3 分鐘)
30 秒搞懂 host / client / server 三層,後面 5 步都順。

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、回傳結果
`三個關鍵觀念:mcp__filesystem__,例如 mcp__filesystem__read_file3.3 替代方案對照
| 方案 | 通訊方式 | 優點 | 缺點 |
|---|---|---|---|
| stdio(本篇) | stdin/stdout JSON-RPC | 最簡單、官方預設 | 綁單機 |
| HTTP/SSE | HTTP 端點 | 跨機器、跨網路 | 要設 port、防火牆 |
| WebSocket | 雙向 ws | 即時、低延遲 | 設定複雜 |
3.4 進階技巧
MCP_DEBUG=1 claudeclaude 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.1 為什麼這步重要
filesystem server 已經包成 npm 套件,直接用 npx 跑就行,不用自己 build。一行指令完成註冊 + 啟動 + 白名單設定。
4.2 怎麼做
基本安裝(單一白名單路徑):`bashclaude mcp add filesystem npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects
`
這行指令會做三件事:
@modelcontextprotocol/server-filesystem 註冊到 Claude Codenpx @modelcontextprotocol/server-filesystem ~/projects~/projects 加入白名單(filesystem server 只能讀寫這個目錄下的東西)`bashclaude mcp add filesystem npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects ~/Documents/notes
`
`bashclaude mcp list
`
4.3 替代方案對照
| 方案 | 安裝難度 | 隔離性 | 適用情境 |
|---|---|---|---|
| npx(推薦) | 1 行指令 | 中 | 本地開發、快速試 |
| npm install 全域 | 2 步(install + add) | 中 | 想鎖版本 |
| Docker | 改 .mcp.json | 高 | 企業隔離環境 |
| 從 source build | clone + npm install | 最高 | 想改 server 邏輯 |
4.4 進階技巧
@modelcontextprotocol/server-filesystem@0.6.2 比 @latest 安全,避免某天 server breaking change 害你跑不起來claude mcp get filesystemclaude mcp disable filesystem(之後要啟用 claude mcp enable)claude mcp remove filesystem4.5 常見踩坑
Q:~ 路徑展開在 .mcp.json 不會展開怎麼辦?
A:~ 是 shell 展開的,JSON 解析器不管這個。claude mcp add 用 ~ 是 OK 的;手動改 ~/.claude.json 時要寫成絕對路徑 /Users/你的名字/projects。Q:可以給整個 /Users/ 白名單嗎?
A:理論上可以但強烈不推薦。filesystem server 的安全設計就是「最小權限」,一次給 / 等於繞過所有保護。要讓 Claude 碰多個專案,逐個加路徑比一次給整個家目錄安全。4.6 成本時間 ROI
| 項目 | 數字 |
|---|---|
| 預估時間 | 3 分鐘 |
| 預估成本 | NT$0 |
| 預估月省時間 | 1.5 小時/天(每天 30 分鐘重複操作) |
步驟 5:啟動 Claude Code 並確認 MCP 工具可用(2 分鐘)
/tools 指令確認 9 個 mcp__filesystem__* 工具都列出來。

5.1 為什麼這步重要
裝了 server 不代表 Claude Code 知道。重進 Claude Code 才會載入新 server——很多人裝完沒重啟就一直看不到工具。
5.2 怎麼做
Step 1:重進 Claude Code`bashcd ~/projects/your-project
claude
`
/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 --continue 保留對話 context/clearclaude mcp list(不用進 Claude Code)5.5 常見踩坑
Q:/tools 沒看到 mcp__filesystem__ 怎麼辦?
A:通常是三個之一:
cd ~/projects/your-project 再 claudenpx 第一次跑需要下載套件卡住 → 退出 Claude Code 手動跑 npx @modelcontextprotocol/server-filesystem@0.6.2 ~/projects 看會不會卡住nvm use 22.0.0claude 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.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_files | glob 搜尋檔名 | pattern 支援 | 不讀內容 |
mcp__filesystem__read_file | 讀單檔 | 直接看內容 | 一次一檔 |
Shell find / ls | 終端機直接跑 | 不用 MCP | Claude 不會主動用 |
6.4 進階技巧
mcp__filesystem__search_files pattern: *.tsxmcp__filesystem__list_directory_with_sizes 直接帶 bytesmcp__filesystem__get_file_info 拿 mtime、size、permissions6.5 常見踩坑
Q:Claude 說「我沒辦法讀檔」怎麼辦? A:通常是兩個原因:claude mcp add(記得加新路徑)Read 工具,發現沒權限就放棄 → 解法是明確說「請用 mcp__filesystem__list_directory」~/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.1 為什麼這步重要
讀檔驗證了讀取鏈路,寫檔才是 MCP 真正改變 workflow 的地方。從這步開始你會發現 Claude 從「給建議」變成「自己動手」。
7.2 怎麼做
寫一個新 component:`
幫我在 src/components/ 加一個 EmptyState.tsx component,
props 包含 title (string) 跟 description (string),
用 TypeScript + Tailwind,幫我寫完整程式碼並用 mcp__filesystem__write_file 存檔
`Claude 會:
mcp__filesystem__read_file 讀一個現有 component 看風格mcp__filesystem__write_file 把新 component 寫進去寫入完成後,自己開檔確認內容正確。
進階:批次改檔:`
找出 src/components/ 底下所有 .tsx 檔案,
幫我在每個檔案頂端加上「// Last updated: 2026-06-14」這行註解
`Claude 會:
mcp__filesystem__search_files 列出所有 .tsxmcp__filesystem__read_file 讀取mcp__filesystem__write_file 寫回(加註解)這個 workflow 在 VS Code 手動做可能要 5 分鐘,Claude 跑完整個流程 30 秒搞定。
7.3 替代方案對照
| 寫檔方式 | 優點 | 缺點 |
|---|---|---|
mcp__filesystem__write_file(本篇) | Claude 自動呼叫、可批次 | 沒有 undo |
內建 Edit / Write tool | Claude 預設就有 | 需明確指示路徑 |
Shell cat > file + heredoc | 直接 terminal 寫 | 容易出錯、不可讀 |
7.4 進階技巧
git status 看 dirty 狀態、寫完再 git diff reviewmcp__filesystem__search_files + 多個 read_file + 多個 write_file 一次跑.env、~/.ssh/)filesystem server 會直接擋掉、白名單沒給就報錯7.5 常見踩坑
Q:寫檔時出現 "Permission denied" 怎麼辦? A:MCP filesystem server 跑在你的 user 權限下,寫不到別人的家目錄或系統目錄。解法:~/projects 內)chmod 700 鎖住(ls -la ~/projects 看)git init 開版本控制src/components/ 加一個 X」比「改一下 X」安全)cp -r src/components src/components.bak)7.6 成本時間 ROI
| 項目 | 數字 |
|---|---|
| 預估時間 | 10 分鐘 |
| 預估成本 | NT$0 |
| 預估月省時間 | 30 小時/月(批次改檔場景) |
步驟 8:手動編輯 .mcp.json 進階設定(5 分鐘)
一次設定多個 server,給團隊同步、給自己備份。

8.1 為什麼這步重要
claude mcp add 是給快速設定用的。如果你想:改白名單路徑、設環境變數、串接多個 MCP server 同時啟動,就要手動編輯 ~/.claude.json(全域)或 .mcp.json(專案層級)。8.2 怎麼做
看現有設定:`bashcat ~/.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)。
`bashclaude mcp list
`8.3 替代方案對照
| Config 位置 | 範圍 | 適合 |
|---|---|---|
~/.claude.json(全域) | 所有專案 | 個人常用 server |
(專案) | 該專案 | 團隊同步 |
claude mcp add 指令 | 全域 | 快速試用 |
8.4 進階技巧
.mcp.json、commit 進 git,隊友 clone 後自動有同樣設定"env": { "GITHUB_TOKEN": "ghp_xxx" } 設環境變數claude mcp list --json 看完整 JSON、debug 設定問題超好用8.5 常見踩坑
Q:手動改 config 常見錯誤? A:三個雷:/Users/ryan/... 不要 ~/...)改完跑 claude mcp list 確認新設定有生效。
.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 更是威力加倍。

概念示意
`
[filesystem hub]
│
├── git:自動讀檔 + 看 git 狀態
├── github:自動讀本地 code + 操作 GitHub repo
├── fetch:自動讀本地 + 抓外部 API 文件
└── postgres:自動讀 code + 查資料庫 schema
`實戰劇本
`
幫我:
`這 4 步是 Claude 一次完成的——你只給一個 prompt,Claude 自己拆解、自己呼叫 4 個 MCP 工具、產出 PR description。
手動做這件事要 20 分鐘(搜尋、開檔、抄內容、列 TODO、整理),Claude 跑 30 秒。

更多 MCP server 清單看 官方 registry。
進階技巧彙整
裝好 filesystem 之後,給你 5 個我這週發現超好用的延伸玩法。
1. 設 alias 一鍵啟動
在 ~/.zshrc 加:
`bashecho '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 保留對話
`bashclaude --continue
`
會保留上次的對話 context,不用每次重頭解釋專案結構。
3. 用 /clear 清掉對話、保留 MCP
有時候對話太長 context 不夠用,跑 /clear 清對話、保留 MCP server 設定。
4. 把 MCP server 跑在 Docker 裡
如果你是進階用戶、想要 MCP server 跑在隔離環境:
`bashdocker 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 狀態
`bashclaude mcp list
`
任何時候跑這行可以看哪些 server 還在跑、有沒有被自動停掉。
⚠️ 進階玩法注意:Docker 模式雖然隔離好,但
claude mcp list看不到——只能從 Claude Code 對話裡/tools確認。建議新手先用 npx 模式、熟悉後再上 Docker。


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

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_files | glob 搜尋檔名 | 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-project 再 claude、(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:`bashPROJECT_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 秒看完複習。

8 步速記
| 步驟 | 關鍵動作 | 指令 |
|---|---|---|
| 1 | 環境確認 | node --version + claude --version |
| 2 | 架構理解 | host / client / server 三層 |
| 3 | 安裝 server | claude 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 | 串接多 server | filesystem + git + fetch 三合一 |
直接複製指令彙整(5 個 copy-paste 指令)
整篇最重要的 5 個指令,直接複製貼到 terminal 跑。
`bashnpm 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 的指令」而不是「示意」。
總結 + 推薦資源
這篇重點
claude mcp add 是最快速的安裝方式、~/.claude.json 是進階設定/相關工具清單(附 affiliate)
延伸閱讀(RYAN生活黑客站內)
作者 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 後再發布,補充缺漏的權威來源、移除不相關的項目。




