☕ NEW! 完成新手任務即可參加抽獎!LINE 星巴克禮券等你拿,名額有限!        🎉 推廣活動:邀請好友註冊 DevLearn,累積推薦抽 LINE 星巴克禮券! 活動詳情 →        🔥 活動期間 2026/4/1 - 5/31 |已有 0 人參加       
Claude Code 中級

MCP 擴充與 Skills 系統

MCP (Model Context Protocol) 概念

💡 比喻:幫 AI 裝手和眼睛 Claude Code 本身就像一個很聰明的大腦,但它只能「想」。 MCP 就是幫這個大腦裝上「手」和「眼睛」:

  • 🖐️ filesystem MCP = 裝上手,可以碰你的檔案
  • 👀 Chrome MCP = 裝上眼睛,可以看到瀏覽器畫面
  • 🧠 memory MCP = 裝上記憶體,可以記住跨 Session 的資訊
  • 📂 Google Drive MCP = 裝上雲端手臂,可以存取你的雲端文件

沒有 MCP,AI 只能跟你聊天。有了 MCP,AI 可以動手做事。

MCP 架構圖

你(使用者)
  │
  ▼
Claude Code(AI 大腦)
  │
  ├── filesystem MCP ──→ 讀寫你電腦上的檔案     # 基本的檔案操作能力
  ├── Chrome MCP ──────→ 操作瀏覽器(點擊、截圖)# 看網頁、測試網站
  ├── memory MCP ──────→ 長期記憶儲存            # 跨 Session 記住資訊
  ├── Google Drive MCP →  存取雲端文件           # 讀取 Google 文件
  └── 其他 MCP ────────→ 無限擴充可能            # 社群開發的各種工具

為什麼需要 MCP?

沒有 MCP 的 AI:                               # 只能純文字對話
"幫我看看網站長什麼樣子"
→ "我沒辦法看網站,請你截圖給我"                # 無法操作瀏覽器

有 Chrome MCP 的 AI:                           # 可以操作瀏覽器
"幫我看看網站長什麼樣子"
→ AI 自動打開瀏覽器 → 截圖 → 分析畫面            # 直接動手看
→ "網站目前有一個 Navbar 和三張卡片,配色是..."  # 回報結果

常用 MCP 介紹

1. filesystem MCP(檔案系統)

功能:讀取、寫入、搜尋檔案                       # 最基本的 MCP
用途:讓 AI 操作你電腦上的檔案                     # 不限於專案目錄

常用操作:
- read_file:讀取檔案內容                         # 看程式碼
- write_file:寫入新檔案                          # 建立新檔案
- list_directory:列出資料夾內容                   # 看有哪些檔案
- search_files:用 glob 搜尋檔案                  # 找特定檔案
- edit_file:編輯現有檔案                          # 修改程式碼

2. Chrome MCP(瀏覽器操作)

功能:操作 Chrome 瀏覽器                          # 裝了就能看網頁
用途:預覽網站、截圖、點擊、填表單                 # 測試和預覽

常用操作:
- navigate:導航到指定 URL                        # 打開網頁
- screenshot:擷取畫面截圖                        # 看網站長什麼樣
- left_click:滑鼠點擊                            # 模擬使用者操作
- type:輸入文字                                  # 填寫表單
- read_page:讀取頁面結構                          # 分析 DOM 元素

3. memory MCP(長期記憶)

功能:建立知識圖譜,儲存跨 Session 的資訊          # 比 CLAUDE.md 更結構化
用途:記住使用者偏好、專案重要資訊                 # 長期記憶

常用操作:
- create_entities:建立知識節點                    # 新增一條記憶
- search_nodes:搜尋記憶                          # 找之前記住的事
- create_relations:建立節點關係                   # 記住 A 和 B 有關
- read_graph:讀取整個知識圖譜                     # 看所有記憶

4. Google Drive MCP(雲端文件)

功能:搜尋和讀取 Google Drive 文件                 # 存取雲端
用途:讀取規格文件、設計稿、會議記錄               # 讀取雲端文件

常用操作:
- google_drive_search:搜尋 Drive 文件             # 找文件
- google_drive_fetch:讀取文件內容                  # 看文件內容

MCP 安裝設定(.mcp.json 格式)

💡 比喻:安裝外掛 安裝 MCP 就像在遊戲裡安裝外掛(mod):

  • .mcp.json = 外掛清單(告訴遊戲要載入哪些外掛)
  • 每個 MCP = 一個外掛(提供特定功能)
  • 安裝完重新啟動就能用

.mcp.json 檔案位置

你的專案/
├── .claude/
│   └── .mcp.json      # 放在 .claude 資料夾裡                # 專案級別設定
├── CLAUDE.md           # 專案記憶檔                           # 和 MCP 設定分開
└── Program.cs          # 你的程式碼                           # 正常的專案檔案

.mcp.json 格式範例

{
  "mcpServers": {                                // MCP 伺服器清單
    "filesystem": {                              // filesystem MCP 設定
      "command": "npx",                        // 用 npx 執行
      "args": [                                  // 執行參數
        "-y",                                    // 自動確認安裝
        "@anthropic-ai/mcp-filesystem",          // MCP 套件名稱
        "C:/Users/user"                          // 允許存取的路徑
      ]
    },
    "memory": {                                  // memory MCP 設定
      "command": "npx",                        // 用 npx 執行
      "args": [                                  // 執行參數
        "-y",                                    // 自動確認安裝
        "@anthropic-ai/mcp-memory"               // MCP 套件名稱
      ]
    }
  }
}

安裝新的 MCP

# 方法 1:手動編輯 .mcp.json(加入新的 MCP 設定)  # 直接改設定檔
# 方法 2:用 Claude Code 指令安裝                   # 更方便
claude mcp add filesystem npx @anthropic-ai/mcp-filesystem C:/Users/user

# 安裝完重啟 Claude Code                            # 重新啟動讓設定生效
claude

Skills 是什麼(預寫好的 Prompt 模板)

💡 比喻:食譜卡 Skills 就像廚房裡的食譜卡:

  • 每張卡片 = 一個 Skill(例如「做番茄炒蛋」)
  • 卡片上寫了步驟和材料
  • 你只要說「照食譜做」,AI 就知道該怎麼做
  • 不用每次都從頭解釋

Skill 的用途

沒有 Skill:
每次都要說:"幫我建一個 ASP.NET Core MVC 專案,  # 每次都要打很長的指令
  用 Bootstrap 5,SQLite,                         # 重複的需求描述
  繁體中文註解,暖米色系..."                       # 浪費時間

有 Skill:
直接說:"用 /create-project skill"               # 一句話搞定
→ AI 自動按照 Skill 定義的模板執行                  # 不用重複描述

SKILL.md 格式與建立

SKILL.md 的結構

---
description: 建立 ASP.NET Core 專案的標準流程       # Skill 的簡短說明
---

# 建立 ASP.NET Core 專案                           # Skill 的標題

## 步驟                                             # 詳細步驟
1. 用 dotnet new mvc 建立專案                       # 第一步
2. 安裝 Entity Framework Core 和 SQLite             # 第二步
3. 建立基本的 Model 和 DbContext                     # 第三步
4. 設定 Program.cs 的 DI 註冊                       # 第四步
5. 建立初始 Migration                               # 第五步

## 規則                                             # 要遵守的規則
- 所有註解用繁體中文                                 # 註解語言
- 用 Bootstrap 5 做前端                             # 前端框架
- 資料庫用 SQLite                                   # 資料庫選擇

SKILL.md 的存放位置

你的專案/
├── .claude/
│   └── skills/
│       ├── create-project/
│       │   └── SKILL.md       # 建立專案的 Skill      # 每個 Skill 一個資料夾
│       ├── deploy/
│       │   └── SKILL.md       # 部署的 Skill           # 可以有多個 Skill
│       └── fix-bug/
│           └── SKILL.md       # 修 Bug 的 Skill        # 按功能分類
└── Program.cs

建立自己的 Skill

# 方法 1:請 AI 幫你建                              # 最簡單的方式
> "幫我建一個 Skill,功能是自動建立 ASP.NET Core MVC 專案"

# 方法 2:手動建立                                   # 自己控制內容
mkdir -p .claude/skills/create-project               # 建立資料夾
# 然後在裡面建 SKILL.md                              # 寫 Skill 內容

Hooks 自動化(Stop hook, Start hook)

💡 比喻:自動門感應器 Hooks 就像商店的自動門感應器:

  • Start Hook = 有人進門時,自動開燈、播放歡迎語
  • Stop Hook = 最後一個人離開時,自動關燈、鎖門
  • 你不用手動操作,一切自動發生

什麼是 Hook?

Hook = 在特定時機自動執行的腳本                      # 自動化的關鍵

常用 Hook:
- PreToolUse:AI 使用工具之前觸發                    # 在操作前攔截
- PostToolUse:AI 使用工具之後觸發                   # 操作完成後檢查
- Notification:AI 需要通知時觸發                    # 發送通知
- Stop:AI 停止回應時觸發                            # 結束時自動執行

Hook 設定範例

{
  "hooks": {                                       // Hook 設定區塊
    "PostToolUse": [                               // 工具使用後觸發
      {
        "matcher": "Write|Edit",                 // 當寫入或編輯檔案時
        "command": "dotnet build"                // 自動執行 build
      }
    ],
    "Stop": [                                      // AI 停止回應時觸發
      {
        "command": "git add -A && git commit -m 'auto-save'" // 自動存檔
      }
    ]
  }
}

Hook 的實際用途

場景 1:自動 build
每次 AI 改完程式碼 → 自動 dotnet build → 馬上知道有沒有編譯錯誤
                                                    # 不用手動執行
場景 2:自動測試
每次 AI 改完程式碼 → 自動跑 dotnet test → 確認沒有破壞現有功能
                                                    # 持續整合概念
場景 3:自動 commit
AI 完成一個任務 → 自動 git commit → 不怕改壞回不去
                                                    # 自動版本控制

實際案例:自動部署 Hook

情境說明

目標:每次 AI 完成修改,自動部署到 Railway              # 改完即部署
流程:AI 改 code → 自動 build → 自動 test → 自動部署   # 全自動化

設定步驟

{
  "hooks": {                                         // Hook 設定
    "Stop": [                                        // AI 停止時觸發
      {
        "command": "dotnet build && dotnet test && git add -A && git commit -m 'auto-deploy' && git push"
                                                       // 依序執行 build、test、commit、push
      }
    ]
  }
}

執行流程

你說:"幫我在首頁加一個輪播圖"                        # 只需描述需求
  ↓
AI 開始工作                                            # 自動讀取、修改檔案
  ↓
AI 修改 Views/Home/Index.cshtml                        # 加入輪播圖 HTML
AI 修改 wwwroot/css/site.css                           # 加入輪播圖樣式
  ↓
AI 完成,觸發 Stop Hook                                # 自動觸發
  ↓
dotnet build → 編譯通過 ✅                              # 確認沒有語法錯誤
dotnet test  → 測試通過 ✅                              # 確認沒有破壞功能
git commit   → 自動存檔 ✅                              # 版本控制
git push     → 推到 GitHub ✅                           # 觸發 Railway 部署
  ↓
Railway 偵測到 push → 自動部署 🚀                       # 網站自動更新

🤔 我這樣寫為什麼會錯?

❌ 錯誤 1:MCP 設定路徑寫錯

❌ 錯誤的 .mcp.json:
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-filesystem", "C:\\Users\\user"]
                                                       // Windows 反斜線會出錯
    }
  }
}

✅ 正確做法:
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-filesystem", "C:/Users/user"]
                                                       // 用正斜線,避免跳脫問題
    }
  }
}

💡 在 JSON 中,路徑建議都用正斜線 /,避免反斜線的跳脫問題。

❌ 錯誤 2:Hook 指令有錯但不知道

❌ 常見情況:
Hook 設定了 "dotnet biuld"                           # 打錯字:biuld → build
→ 每次 AI 完成都會跳出錯誤                              # 但你不知道為什麼
→ "command not found" 但你以為是 AI 的問題             # 其實是打字錯誤

✅ 正確做法:
1. 先手動在終端機測試 Hook 指令                          # 確認指令可以正常執行
2. 一個一個加 Hook,不要一次加太多                       # 方便找出問題
3. 看 Claude Code 的輸出 log                            # 會顯示 Hook 執行結果

❌ 錯誤 3:Skill 寫太模糊,AI 每次做出來都不一樣

❌ 模糊的 SKILL.md:
---
description: 建立專案
---
建一個專案                                             # 太簡短,沒有具體步驟

✅ 正確的 SKILL.md:
---
description: 建立 ASP.NET Core 8.0 MVC 專案(含 EF Core + SQLite)
---
# 建立專案步驟                                         # 清楚的標題
1. 使用 dotnet new mvc 建立專案                        # 每一步都寫清楚
2. 安裝 NuGet:EntityFrameworkCore.Sqlite              # 指定套件名稱
3. 建立 Models/Product.cs(Id, Name, Price)           # 指定 Model 欄位
4. 建立 Data/AppDbContext.cs                           # 指定檔案路徑
5. Program.cs 註冊 DbContext                           # 指定設定位置
6. dotnet ef migrations add Init                       # 指定 Migration 指令
7. dotnet ef database update                           # 指定更新指令

💡 Skill 越詳細,AI 每次執行的結果越一致。

本章重點整理

主題 重點
MCP 概念 幫 AI 裝上手和眼睛,讓它能操作外部工具
常用 MCP filesystem(檔案)、Chrome(瀏覽器)、memory(記憶)、Google Drive(雲端)
MCP 設定 .mcp.json 放在 .claude/ 資料夾,JSON 格式
Skills 預寫好的 Prompt 模板,放在 .claude/skills/ 資料夾
SKILL.md Skill 的定義檔,要寫清楚步驟和規則
Hooks 在特定時機自動執行腳本(Start, Stop, PostToolUse)
自動部署 用 Stop Hook 串接 build → test → commit → push

💡 大家的想法 · 0

載入中...
💬 即時聊天室 🟢 0 人在線
😀 😎 🤓 💻 🎮 🎸 🔥
➕ 新問題
📋 我的工單
💬 LINE 社群
🔒
需要註冊才能使用此功能
註冊帳號即可解鎖測驗、遊戲、簽到、筆記下載等所有功能,完全免費!
免費註冊