MCP:一行指令,讓 Claude 直接連上你的工具、資料與服務
到上一課,你的 Claude 已經很能幹了:它會規劃、會寫程式、還會派分身平行做一堆事。但它有個天生的天花板——它只知道被餵進去的資訊,還有你電腦裡的檔案。你的 Notion 筆記、公司的 Google 雲端、線上的資料庫、GitHub 上的專案、Slack 裡的對話,它一律碰不到。你每次都得手動複製貼上,把資料搬進對話裡給它看。
這一課要打通的,就是這道牆。它的名字叫 MCP,你可以先把它想成:幫 Claude 裝上一排「萬用插座」,插上去之後,它就能自己去讀你的檔案、查你的資料、動你的工具——不用你再當人肉搬運工。
這堂學什麼
- MCP 到底是什麼:用「AI 世界的 USB 標準」一次搞懂,不用背術語
- 接上之後能做什麼:從「只會給建議」變成「真的把事做完」的差別
- 三種連法:遠端 HTTP、本地 stdio、已淘汰的 SSE——你九成只會用第一種
- 三種設定範圍:
local、project、user決定 server 在哪些專案看得到、要不要跟團隊共用 - 手把手接上第一個 server:一行指令 + OAuth 登入,全程不寫程式碼
- 權限與安全:MCP 讓 AI 能動真實系統,三個原則保你不出事
- 四個新手最常踩的坑:含實際錯誤訊息與解法
觀念一:MCP 是「AI 世界的 USB 標準」
先把最核心的觀念立起來。MCP 全名 Model Context Protocol(模型脈絡協定),聽起來很硬,但概念其實很生活化。
想想 USB 出現以前的世界:滑鼠一種接頭、印表機一種接頭、隨身碟又一種接頭,每接一個裝置都要一條專屬的線。後來 USB 定了一個共同插槽,任何裝置只要做成 USB,任何電腦只要有 USB 孔,插上去就能用。
MCP 對 AI 做的是同一件事。以前每個工具要接 AI,都得為「這個工具 × 這個 AI」客製一套接法,累死人。MCP 定了一個共同標準:任何服務只要做成一個 MCP server,任何 AI 只要支援 MCP,插上去就能用——不用為每個組合重寫一次。

這個標準能成氣候,是因為它是 Anthropic 開源出來、大家一起用的。到 2026 年年中,已經有數百個現成的連接器可以直接接——你想得到的常見服務(GitHub、Google Drive、Gmail、Slack、Notion、Sentry、Stripe…)幾乎都有官方或社群做好的 MCP server,在 Claude 的連接器目錄裡就能瀏覽。
觀念二:接上之後,AI 就「真的動手」
沒接 MCP 之前,你問 Claude「我上個月訂單金額前十名的客戶是誰」,它只能回你:「你可以去資料庫下這樣一句 SQL……」——給你方法,事還是你自己做。
接上資料庫的 MCP server 之後,同一句話,它會真的連進資料庫、跑查詢、把前十名撈出來給你。這就是質變:AI 從「顧問」變成「會動手的助理」。

看懂這張流程圖,你就懂 MCP 的分工了:Claude 負責理解你要什麼、決定該呼叫哪個工具;MCP 介面是中間那層標準轉接;MCP server 是各個服務(GitHub、資料庫…)的接口;最後才動到你真正的服務。中間這一大串都是自動的,你只要負責兩件事:設定要接哪些 server、給它對的權限。
幾個接上後的真實用法,讓你有畫面:
- 接 GitHub →「看一下這個 repo 最近的 PR,總結每個在改什麼」,或「幫我開一個 issue 記這個 bug」。
- 接 Google 雲端 →「把這份試算表的 Q3 數字整理成一段報告」。
- 接 Sentry(錯誤監控) →「過去 24 小時最常出現的錯誤是哪些?哪次部署開始出現的?」
- 接 Notion / Slack →「把這次會議重點寫進 Notion,並在 Slack 通知團隊」。
觀念三:三種連法,你幾乎只會用第一種
MCP server 有三種「傳輸方式」,也就是 Claude 跟它溝通的管道。名字聽起來很技術,但你只要認得它們什麼時候用就好。

- 遠端 HTTP(最推薦):雲端服務的主流做法,支援 OAuth 一鍵登入,不用手動貼金鑰。你接的線上服務(Notion、Sentry、Stripe…)幾乎都走這條。
- 本地 stdio:在你自己電腦上跑起來的一支程式,適合接本機資料庫、自己寫的腳本這類需要本機權限的工具。
- 遠端 SSE:舊的遠端方式,官方已經標記為淘汰(deprecated)。看到老教學叫你用
--transport sse,直接改用 HTTP 就好。
好消息是:三種都用同一個指令 claude mcp add,只是後面的參數不同。實戰時你會發現,新手九成的情況都是「接一個雲端服務」,也就是第一種。
實戰:手把手接上你的第一個 server
觀念講完,來動手。我們用 Sentry(一個錯誤監控服務,很多人的專案都在用)當例子,示範最常見的「遠端 HTTP + OAuth 登入」流程。全程不用寫一行程式碼。

加入 server
打開終端機,打這一行(不用進 Claude Code,直接在 shell 裡):
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
拆開看:claude mcp add 是「加一個 server」,--transport http 指定用 HTTP 連法,sentry 是你自己幫它取的代號(之後叫它、管理它都用這個名字),最後是這個 server 的官方網址。加好後可以打 claude mcp list 確認它在清單裡。
用 /mcp 完成登入授權
Sentry 需要知道「你是誰、能看哪些資料」,所以要授權一次。開 Claude Code,在對話裡打:
/mcp
會跳出一個面板,選 Sentry 那一項,照著開啟的瀏覽器頁面用你的 Sentry 帳號登入(這就是 OAuth)。重點:你不需要手動去複製一串 API key 貼進來——正規的 OAuth 流程幫你把授權處理好,token 也會自動保存、到期自動更新。
如果你想在終端機直接登入、不進 Claude Code,新版也支援 claude mcp login sentry。
用自然語言呼叫
接好了。現在像平常一樣下指令就行:
過去 24 小時最常出現的錯誤是哪些?哪次部署開始出現的?
Claude 會自己判斷「這需要用 Sentry」,透過 MCP 去查,再把結果整理給你。你完全不用管它底下是怎麼呼叫的。
接別的 server 長什麼樣
會了 Sentry,其他的就是換網址而已。幾個常見的抄起來就能用:
# Notion(遠端 HTTP,用 /mcp 登入)
claude mcp add --transport http notion https://mcp.notion.com/mcp
# GitHub(遠端 HTTP,用你的 GitHub token 當標頭)
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
# 本地 PostgreSQL 資料庫(本地 stdio,注意那個 --)
claude mcp add db -- npx -y @bytebase/dbhub \
--dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"
GitHub 那個 YOUR_GITHUB_PAT 是你去 GitHub 設定裡產生的「個人存取權杖」——記得用**細粒度(fine-grained)**的,只勾你要讓 Claude 碰的 repo,這是等一下安全那段會講的「最小權限」。
三種範圍:接好的 server 放在哪
加 server 時可以用 --scope 決定它「住在哪」,這會影響它在哪些專案看得到、要不要跟團隊共用。

local(預設):只有你、只在目前這個專案看得到。適合個人實驗、或含私密金鑰不想外流的 server。不指定--scope時就是這個。project:寫進專案根目錄的.mcp.json,可以進 git 跟團隊共用。適合跟某個專案綁定的工具,git clone下來大家都有同一套。user:跨你這台電腦的所有專案都看得到。適合 Gmail、行事曆這種你到處都會用的個人工具。
新手記這句就好:自己玩、含金鑰的用預設;想讓全隊都能用、要進 git 的用 project。 搞不清楚時先用預設,之後隨時能改。
權限就是安全:接上前先想三件事
MCP 讓 AI 能動你的真實系統,這很爽,但也代表你給多少權限,就是給多少信任。這不是嚇你,是一開始就把習慣建對,以後才不會出事。

- 最小權限:只給任務需要的範圍。查資料就給唯讀,別隨手開整個帳號的讀寫;GitHub token 只勾要用的 repo。
- 破壞性操作要確認:刪除、推送、寄信這類難還原的動作,讓它做之前先問過你,別開全自動一路衝到底。
- 別把密鑰貼進對話:走正規 OAuth(
/mcp),別把 API key 直接打進聊天視窗——金鑰會留在對話紀錄裡,是外洩的第一大破口。
常見坑(踩過的人都懂)
坑 1:JSON 設定漏了 type,server 直接被跳過
如果你是手動編輯 .mcp.json 加 server(而不是用 claude mcp add),很容易只寫 url 忘了寫 type。Claude Code 會把「沒有 type 的項目」當成本地程式來啟動,結果連不上,並提示:
MCP server "<名字>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry
(舊版本的訊息長這樣,看到別慌,是同一件事:command: expected string, received undefined。)解法:在那個 server 的設定裡補上 "type": "http"。其實最保險的做法就是別手改 JSON,用 claude mcp add 指令,它會幫你把格式寫對。
坑 2:接本地 stdio server,忘了那個 --
接本地程式時,--(兩個減號)是用來把「Claude 自己的選項」跟「要交給 server 跑的指令」隔開的。少了它,Claude Code 會把 server 的參數(例如 --port、--dsn)當成自己的選項去解析,然後報錯看不懂。
# 對:-- 之後的東西原封不動交給 server
claude mcp add db -- npx -y @bytebase/dbhub --dsn "..."
記住:凡是「本地 stdio + 後面帶指令」,中間一定要有 --。
坑 3:server 加好了,Claude 卻說工具用不了
你 claude mcp add 明明成功了,叫它用卻沒反應。多半是這個 server 需要登入授權還沒做——它對 Claude 回了 401 Unauthorized 或 403 Forbidden,Claude Code 會在 /mcp 面板把它標成需要驗證。解法:打 /mcp,選那個 server,完成 OAuth 登入(或在終端機跑 claude mcp login <名字>)。另外,如果你看到 Incompatible auth server: does not support dynamic client registration,代表這個 server 要你先自己去它的開發者後台註冊一組 OAuth 憑證,再帶著 client id 加進來。
坑 4:project 範圍的 server 卡在「等待批准」
團隊共用的 .mcp.json server,基於安全,Claude Code 不會自動信任,claude mcp list 裡會顯示 ⏸ Pending approval。這不是壞掉,是刻意的——別人塞進專案的 server,得你本人同意才會啟用。解法:在該資料夾裡跑一次互動式的 claude,它會跳出信任對話讓你審核批准。批准後才會真的連線。
MAX_MCP_OUTPUT_TOKENS 這個環境變數;但更好的做法通常是把問題問得更精準,讓它只回你要的那部分。作業
- 接上你的第一個 server:挑一個你真的在用的服務(Notion、GitHub、或第 3 課做的專案用得到的資料庫),照實戰步驟用
claude mcp add加進來,再用/mcp完成登入。加完打claude mcp list確認它連上了。 - 叫它做一件真事:用自然語言請 Claude 透過剛接的 server 完成一個小任務(例如「總結我 Notion 裡這頁的重點」「列出我這個 repo 的開放 PR」),感受一下「它真的動手」跟以前「只給建議」的差別。
- 故意踩坑 3:接一個需要授權的 server 後,先別跑
/mcp登入,直接叫它做事,體會「工具用不了」的狀況;再登入一次,看前後差別。 - 分辨範圍:想一想你剛接的 server,應該放
local、project還是user?如果它含金鑰、只有你自己用,為什麼不該放進會進 git 的project? - 安全自檢:如果你接了 GitHub,回頭看你給的 token——它是不是只勾了必要的 repo?權限有沒有開太大?
下一課預告(最後一課)
恭喜,你已經走完一整條路線了:Claude → Prompt → Claude Code → CLAUDE.md → Skills → Agents/Subagents → MCP。從「怎麼跟 AI 說話」,一路到「讓 AI 派分身、接上你所有工具去把事做完」。
最後一課是綜合實戰 + 新手最常踩的坑總集:我們會把前面所有拼圖組起來,走一個從零到完成的真實情境,並幫你避開那些「一開始沒人告訴你、但踩了很痛」的地雷。學完這課,你就從「會用 Claude」正式畢業成「用得又快又穩」。下一課見。