Claude Code 最強大的特色之一,就是透過 MCP(Model Context Protocol)連接外部工具與服務。MCP 是 Anthropic 推出的開放標準協定,讓 Claude Code 能夠存取你的資料庫、版本控制系統、瀏覽器、搜尋引擎等各種外部資源。你不需要自己從頭開發這些整合,社群和官方已經提供了大量現成的 MCP Server,只要一行指令就能完成設定,立即擴展 Claude 的能力範圍。
什麼是 MCP Server
MCP(Model Context Protocol)是一個開放原始碼的標準協定,定義了 AI 工具與外部服務之間的溝通方式。在這個架構中,Claude Code 扮演的是 MCP Client 的角色,而各種外部工具(如 GitHub、PostgreSQL、檔案系統等)則透過 MCP Server 來提供服務。
你可以把 MCP 想像成 AI 世界的 USB 介面——只要符合這個標準,任何工具都能「插上」Claude Code 使用。這代表你不再需要為每個工具寫獨立的整合程式,MCP 提供了統一的溝通規範。
為什麼要用現有的 MCP Server
- 節省開發時間:社群已經開發了數百個 MCP Server,涵蓋主流工具與服務
- 品質有保障:許多 MCP Server 由官方維護或經過社群大量測試
- 一行指令安裝:透過
claude mcp add指令,幾秒鐘就能完成設定 - 標準化協定:所有 MCP Server 遵循相同的通訊規範,行為一致且可預測
- 安全性:MCP Server 在本地執行或透過認證連線,你可以完全掌控資料流向
MCP Server 的傳輸方式
在安裝 MCP Server 之前,你需要了解三種不同的傳輸方式(Transport),它們決定了 Claude Code 如何與 MCP Server 溝通:
| 傳輸方式 | 說明 | 適用場景 |
|---|---|---|
| stdio | 在本機執行程序,透過標準輸入/輸出溝通 | 需要直接存取系統資源的工具 |
| http | 連接遠端伺服器(推薦的遠端傳輸方式) | 雲端服務、SaaS 工具 |
| sse | Server-Sent Events(已棄用) | 舊版遠端服務,建議改用 http |
對於大多數本地工具(如 filesystem、sqlite),你會使用 stdio 傳輸方式;對於雲端服務(如 GitHub、Sentry),則使用 http 傳輸方式。
claude mcp add 指令完整用法
claude mcp add 是新增 MCP Server 的核心指令。它的基本語法如下:
# 基本語法
claude mcp add [選項] <名稱> -- <指令> [參數...]
# 遠端 HTTP 伺服器
claude mcp add --transport http <名稱>
# 本地 stdio 伺服器
claude mcp add --transport stdio <名稱> -- <執行指令> [參數...]
重要的語法規則:所有選項(--transport、--env、--scope、--header)必須放在伺服器名稱之前。雙破折號 -- 用來分隔伺服器名稱與要執行的指令及參數。
常用選項說明
| 選項 | 說明 | 範例 |
|---|---|---|
--transport | 指定傳輸方式:stdio、http、sse | --transport stdio |
--scope | 設定作用範圍:local、project、user | --scope user |
--env | 設定環境變數 | --env API_KEY=xxx |
--header | 設定 HTTP 標頭(用於認證) | --header "Authorization: Bearer token" |
--client-id | OAuth 用戶端 ID | --client-id your-id |
--client-secret | OAuth 用戶端密鑰(互動式輸入) | --client-secret |
作用範圍(Scope)詳解
MCP Server 的設定可以儲存在三個不同的範圍,每個範圍適合不同的使用情境:
| Scope | 儲存位置 | 可見範圍 | 適用情境 |
|---|---|---|---|
local(預設) | ~/.claude.json | 僅限你自己在目前專案 | 個人開發、含敏感憑證的設定 |
project | .mcp.json(專案根目錄) | 所有團隊成員 | 團隊共用的工具設定 |
user | ~/.claude.json | 你所有的專案 | 個人常用工具(跨專案) |
# 預設為 local scope
claude mcp add --transport http stripe https://mcp.stripe.com
# 明確指定 local scope
claude mcp add --transport http stripe --scope local https://mcp.stripe.com
# 設定為團隊共用(會建立 .mcp.json)
claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp
# 設定為跨專案個人使用
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic
當同名的 MCP Server 存在於多個範圍時,優先順序為:local > project > user。這代表本地設定會覆蓋團隊共用設定,讓你可以在不影響團隊的情況下使用自己的憑證。
常用 MCP Server 介紹與設定
以下介紹幾個最實用的 MCP Server,從檔案系統操作到資料庫查詢,再到網頁搜尋與瀏覽器自動化,這些都能大幅提升你的開發效率。
Filesystem(檔案系統)
Filesystem MCP Server 讓 Claude 可以讀取、寫入和管理你指定目錄中的檔案。這是最基礎也最常用的 MCP Server 之一,適合需要讓 Claude 操作專案以外目錄的場景。
# 安裝 Filesystem MCP Server
claude mcp add --transport stdio --scope user filesystem \
-- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
# 範例:允許存取 ~/Documents 目錄
claude mcp add --transport stdio --scope user filesystem \
-- npx -y @modelcontextprotocol/server-filesystem ~/Documents
安裝後你可以請 Claude 讀取或修改指定目錄中的檔案,例如「幫我整理 ~/Documents 裡的 CSV 檔案」。
GitHub(版本控制與協作)
GitHub MCP Server 讓 Claude 可以直接操作 GitHub 的 Issue、Pull Request、Repository 等功能。官方推薦使用 HTTP 傳輸方式並透過 OAuth 認證:
# 使用官方 HTTP 端點(推薦)
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
# 在 Claude Code 中進行 OAuth 認證
/mcp
認證完成後,你可以請 Claude 執行各種 GitHub 操作,例如「幫我檢視 PR #456 並提出改善建議」或「建立一個新 Issue 描述這個 Bug」。
PostgreSQL / SQLite(資料庫)
資料庫相關的 MCP Server 讓 Claude 可以直接查詢你的資料庫,非常適合資料分析和除錯:
# PostgreSQL - 使用 dbhub
claude mcp add --transport stdio db \
-- npx -y @bytebase/dbhub \
--dsn "postgresql://user:pass@localhost:5432/mydb"
# SQLite
claude mcp add --transport stdio sqlite \
-- npx -y @modelcontextprotocol/server-sqlite /path/to/database.db
安裝後你可以用自然語言查詢資料庫,例如「這個月的營收總額是多少?」或「找出 90 天內沒有消費的客戶」。
Brave Search(網頁搜尋)
Brave Search MCP Server 讓 Claude 可以搜尋網路上的即時資訊,突破訓練資料的時間限制:
# 安裝 Brave Search(需要 API Key)
claude mcp add --transport stdio --env BRAVE_API_KEY=your-api-key \
brave-search -- npx -y @anthropic/mcp-server-brave-search
你可以在 Brave Search API 網站申請免費的 API Key。安裝後就能請 Claude 搜尋最新資訊,例如「搜尋 React 19 的最新功能」。
Puppeteer / Playwright(瀏覽器自動化)
瀏覽器自動化的 MCP Server 讓 Claude 可以操控瀏覽器,進行網頁測試、截圖和資料擷取:
# Puppeteer
claude mcp add --transport stdio puppeteer \
-- npx -y @anthropic/mcp-server-puppeteer
# Playwright(推薦)
claude mcp add --transport stdio playwright \
-- npx -y @playwright/mcp@latest
Sentry(錯誤監控)
Sentry MCP Server 讓 Claude 可以直接查詢生產環境的錯誤記錄,快速定位問題:
# 安裝 Sentry MCP Server
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
# 進行 OAuth 認證
/mcp
認證後你可以請 Claude 分析生產環境的錯誤,例如「過去 24 小時最常見的錯誤有哪些?」或「這個錯誤是哪次部署引入的?」。
更多推薦的 MCP Server
| MCP Server | 功能 | 安裝方式 |
|---|---|---|
| Notion | 筆記與知識庫管理 | claude mcp add --transport http notion https://mcp.notion.com/mcp |
| Slack | 團隊溝通與訊息管理 | claude mcp add --transport http slack https://slack.com/api/mcp |
| Linear | 專案管理與 Issue 追蹤 | claude mcp add --transport http linear https://mcp.linear.app/sse |
| Memory | 持久化記憶與知識圖譜 | claude mcp add --transport stdio memory -- npx -y @modelcontextprotocol/server-memory |
你可以在 MCP Servers GitHub 儲存庫 找到更多社群開發的 MCP Server,或者使用 MCP SDK 自己開發。
MCP Server 的管理
安裝完 MCP Server 後,你可以使用以下指令來管理它們:
# 列出所有已設定的 MCP Server
claude mcp list
# 查看特定 MCP Server 的詳細資訊
claude mcp get github
# 移除 MCP Server
claude mcp remove github
# 在 Claude Code 互動模式中檢查伺服器狀態
/mcp
# 重置專案範圍的 MCP Server 核准選擇
claude mcp reset-project-choices
在 Claude Code 的互動模式中,/mcp 指令特別有用。它不僅可以顯示所有 MCP Server 的連線狀態,還能用來進行 OAuth 認證——選擇需要認證的伺服器後,Claude Code 會自動開啟瀏覽器完成認證流程。
從 Claude Desktop 匯入設定
如果你已經在 Claude Desktop 中設定過 MCP Server,可以直接匯入到 Claude Code:
# 從 Claude Desktop 匯入 MCP Server 設定
claude mcp add-from-claude-desktop
# 匯入後確認
claude mcp list
這個功能支援 macOS 和 WSL(Windows Subsystem for Linux),匯入後的伺服器會保留原有名稱。如果名稱衝突,會自動加上數字後綴(例如 server_1)。
設定檔的位置與格式
MCP Server 的設定會根據不同的 scope 儲存在不同位置。了解設定檔的結構有助於手動修改或除錯。
| 範圍 | 設定檔位置 | 用途 |
|---|---|---|
| user / local | ~/.claude.json | 個人的 MCP Server 設定 |
| project | .mcp.json(專案根目錄) | 團隊共用設定(可提交版本控制) |
| 企業管理 | managed-mcp.json(系統目錄) | 組織層級的統一管理 |
.mcp.json 檔案格式
團隊共用的 .mcp.json 檔案格式如下:
{
"mcpServers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/"
},
"database": {
"command": "npx",
"args": ["-y", "@bytebase/dbhub", "--dsn", "${DB_CONNECTION_STRING}"],
"env": {
"DB_CONNECTION_STRING": "${DB_CONNECTION_STRING:-postgresql://localhost:5432/dev}"
}
}
}
}
注意 .mcp.json 支援環境變數展開語法:${VAR} 會展開為環境變數的值,${VAR:-default} 則在變數未設定時使用預設值。這讓團隊可以共享設定結構,同時讓每個開發者使用自己的憑證。
環境變數與 API Key 設定
許多 MCP Server 需要 API Key 或其他憑證才能運作。Claude Code 提供了多種方式來安全地管理這些敏感資訊。
使用 –env 旗標
最直接的方式是在 claude mcp add 指令中使用 --env 旗標:
# 設定單一環境變數
claude mcp add --transport stdio --env BRAVE_API_KEY=your-key \
brave-search -- npx -y @anthropic/mcp-server-brave-search
# 設定多個環境變數
claude mcp add --transport stdio \
--env API_KEY=your-key \
--env API_SECRET=your-secret \
my-server -- npx -y my-mcp-server
在 .mcp.json 中使用環境變數展開
對於團隊共用的設定,建議在 .mcp.json 中使用環境變數參照,讓每個開發者在自己的環境中設定實際的值:
// .mcp.json(提交到版本控制)
{
"mcpServers": {
"api-server": {
"type": "http",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
}
}
}
團隊成員只需要在自己的 shell 設定檔(如 .bashrc 或 .zshrc)中設定對應的環境變數即可。如果必要的環境變數未設定且沒有預設值,Claude Code 會在啟動時報錯。
OAuth 認證流程
許多雲端服務的 MCP Server 支援 OAuth 2.0 認證。設定流程非常簡單:
# 步驟 1:新增需要認證的 MCP Server
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
# 步驟 2:在 Claude Code 中執行認證
/mcp
# 選擇需要認證的伺服器,Claude Code 會自動開啟瀏覽器完成登入
認證 Token 會安全地儲存在系統鑰匙圈(macOS)或憑證檔案中,並且會自動刷新。如果需要撤銷存取權限,可以在 /mcp 選單中選擇「Clear authentication」。
MCP Server 的除錯與疑難排解
在使用 MCP Server 時可能會遇到各種問題,以下是常見的疑難排解方法。
常見問題與解決方案
| 問題 | 可能原因 | 解決方案 |
|---|---|---|
| Connection closed | Windows 未使用 cmd /c 包裝 | 使用 cmd /c npx -y @some/package |
| Server 啟動逾時 | 預設逾時時間太短 | 設定 MCP_TIMEOUT=10000 claude |
| 輸出超過限制警告 | MCP 工具回傳資料過大 | 設定 MAX_MCP_OUTPUT_TOKENS=50000 |
| OAuth 認證失敗 | 不支援動態用戶端註冊 | 使用 --client-id 和 --client-secret |
| 環境變數未展開 | 變數未設定且無預設值 | 確認環境變數已設定或加上預設值語法 |
除錯技巧
# 1. 檢查 MCP Server 的連線狀態
/mcp
# 2. 查看特定伺服器的完整設定
claude mcp get
# 3. 列出所有設定的伺服器
claude mcp list
# 4. 調整啟動逾時時間(毫秒)
MCP_TIMEOUT=10000 claude
# 5. 增加輸出 Token 限制
MAX_MCP_OUTPUT_TOKENS=50000 claude
如果瀏覽器在 OAuth 認證後重新導向失敗,可以手動複製瀏覽器網址列中的完整回調 URL,貼到 Claude Code 中顯示的 URL 提示中。
安全性注意事項
使用 MCP Server 時務必注意安全性。雖然 MCP 協定本身設計了安全機制,但你仍需要遵循最佳實踐來保護你的系統和資料。
- 只安裝信任的 MCP Server:優先選擇官方維護或知名社群開發者的 Server。Anthropic 並未驗證所有第三方 MCP Server 的正確性和安全性
- 注意 Prompt Injection 風險:會擷取外部內容的 MCP Server(如網頁瀏覽器、搜尋引擎)可能暴露於 Prompt Injection 攻擊,使用時要格外小心
- 最小權限原則:只授予 MCP Server 必要的權限。例如資料庫連線建議使用唯讀帳號,檔案系統只開放需要的目錄
- 妥善管理 API Key:不要將 API Key 直接寫在
.mcp.json中並提交到版本控制。使用環境變數參照語法${VAR}來引用 - 審查 project scope 的 MCP Server:Claude Code 在使用
.mcp.json中的伺服器前會要求你核准。如需重置核准選擇,使用claude mcp reset-project-choices - 定期檢查已安裝的 Server:使用
claude mcp list定期檢視已安裝的 MCP Server,移除不再需要的服務
進階用法
使用 JSON 直接新增設定
如果你已經有完整的 JSON 設定,可以使用 claude mcp add-json 指令直接新增:
# 新增 HTTP 伺服器(含認證標頭)
claude mcp add-json weather-api '{"type":"http","url":"https://api.weather.com/mcp","headers":{"Authorization":"Bearer token"}}'
# 新增 stdio 伺服器(含完整設定)
claude mcp add-json local-tool '{"type":"stdio","command":"/path/to/tool","args":["--config","config.json"],"env":{"CACHE_DIR":"/tmp"}}'
將 Claude Code 作為 MCP Server
Claude Code 本身也可以作為 MCP Server 供其他應用程式連接。這讓你可以在 Claude Desktop 等其他 MCP Client 中使用 Claude Code 的強大工具:
# 啟動 Claude Code 作為 MCP Server
claude mcp serve
# 在 Claude Desktop 的設定檔中新增:
{
"mcpServers": {
"claude-code": {
"type": "stdio",
"command": "claude",
"args": ["mcp", "serve"],
"env": {}
}
}
}
Tool Search 智慧工具搜尋
Claude Code 預設啟用 Tool Search 機制。當你安裝了大量 MCP Server 時,Claude 不會在啟動時載入所有工具定義,而是只載入工具名稱,需要時才動態搜尋相關工具。這大幅降低了 Context Window 的佔用,讓你可以安裝更多 MCP Server 而不影響效能。
實戰範例:完整的開發工作流程
讓我們用一個完整的範例來展示 MCP Server 如何提升開發效率。假設你是一個全端開發者,需要處理一個 Bug 修復任務:
# 步驟 1:設定必要的 MCP Server
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
claude mcp add --transport stdio db \
-- npx -y @bytebase/dbhub --dsn "postgresql://dev:pass@localhost:5432/app"
# 步驟 2:進行 OAuth 認證
/mcp
# 步驟 3:確認所有 Server 已連線
claude mcp list
設定完成後,你可以在 Claude Code 中用自然語言進行完整的除錯工作流程——從查詢 Sentry 錯誤記錄,到檢視相關的 GitHub Issue,再到查詢資料庫驗證資料狀態,最後建立 PR 提交修復。所有這些操作都在同一個 Claude Code Session 中完成,不需要在多個工具之間切換。
延伸閱讀
- Claude Code MCP 官方文件:完整的 MCP Server 設定與管理指南
- Model Context Protocol 官方網站:MCP 協定的技術規格與設計理念
- MCP Servers GitHub 儲存庫:社群維護的 MCP Server 清單
- MCP SDK 快速入門:學習如何開發自己的 MCP Server
總結
MCP Server 是 Claude Code 生態系中不可或缺的一環。透過現有的 MCP Server,你可以在幾分鐘內將 Claude 連接到各種外部工具和服務,大幅提升開發效率。無論是版本控制、資料庫查詢、錯誤監控還是網頁搜尋,都有現成的解決方案可以直接使用。
記住幾個關鍵要點:選擇適合的傳輸方式(本地工具用 stdio、雲端服務用 http)、根據使用場景設定正確的 scope、妥善管理 API Key 和憑證,以及定期檢視已安裝的 MCP Server。掌握這些基礎後,你就能充分發揮 Claude Code 與外部工具整合的強大能力。
在下一篇文章中,我們將深入探討如何從零開始開發自己的 MCP Server,讓 Claude 連接到你的自訂工具和內部系統。敬請期待!