Claude Code MCP 教學:連接 GitHub、資料庫同 Notion,scope、權限同安全設定
按 Anthropic 現行官方文件(2026 年 9 月 15 日核對)一步步設定 Claude Code MCP:加第一個免登入 server、分清 HTTP/stdio 同 -- 分隔符、揀 local/project/user scope,再連接 GitHub(唯讀網址)、DBHub 資料庫(唯讀帳戶)同 Notion,最後講 mcp__ 權限規則、安全清單、context 用量同常見錯誤。文首附支援地區狀態。
本頁內容

難度
中階
所需時間
約 45–60 分鐘(跟住做三個實戰例子;不計下載時間)
你需要準備
Claude Code(CLI) · 終端機(macOS Terminal、PowerShell 或 WSL) · Node.js(只有用 npx 啟動的本機 server 需要;Playwright 例子要 18 或以上) · GitHub fine-grained personal access token(只限 GitHub 例子) · 一個測試用 Git repo
開始之前
- 已安裝並登入 Claude Code,帳戶屬 Pro、Max、Team、Enterprise 或 Console;Claude 免費方案不包括 Claude Code
- 所在地屬 Anthropic 官方支援國家/地區(見文首方格;截至 2026-09-15 香港不在名單內)
- 一個受 Git 管理、可以隨時刪除的測試 repo,不要用公司正式項目做第一次練習
- 資料庫例子需要一個非正式環境(staging 或已去識別化)的資料庫,以及只有讀取權限的資料庫帳戶
用 Claude Code 寫程式,好多時要不停把 GitHub issue、資料庫查詢結果或者 Notion 文件複製貼上畀 Claude。MCP(Model Context Protocol)就是官方解決這件事的做法:接上 MCP server 之後,Claude Code 可以直接讀取和操作這些工具。本文按 Anthropic 現行官方文件,一步步教你加第一個 server、揀 scope、連接 GitHub、資料庫同 Notion,再講權限規則、安全清單、context 用量和常見錯誤。
支援地區(2026 年 9 月 15 日核對):Claude Code 官方系統要求把「Location:Anthropic supported countries」列為條件之一。截至 2026-09-15,香港並不在 Anthropic 官方支援國家/地區名單(涵蓋 Commercial API 及 Claude.ai)。名單會變,使用或付款前請自行重查。本文只介紹官方文件中的設定步驟,不提供 VPN、外地地址、借用電話或身份等任何規避方法;香港用家請先讀 Claude 香港訂閱指南。
一句答案:在終端機(不是在 claude session 入面)執行 claude mcp add --transport http <名稱> <網址> 加遠端 server,或 claude mcp add <名稱> -- <啟動指令> 加本機 server;再用 claude mcp list 確認顯示 ✔ Connected,之後在 session 內用 /mcp 管理。預設會寫入只屬你、只限當前項目的 local scope;要同隊友共享,才用 --scope project 寫入 .mcp.json。連接 GitHub、資料庫這類系統時,用權限最少的 token、唯讀帳戶和非正式數據,並用 mcp__ 權限規則限制 Claude 可以用的工具——Anthropic 不會替任何 MCP server 做安全審核。
資料核對日期:2026 年 9 月 15 日。當日 官方 changelog 最新版本為 2.1.272;2026 年 9 月 2 日至 15 日發佈的 12 個版本之中,有 8 個包含 MCP 相關改動,部分功能亦有最低版本要求(例如 claude mcp login 要 v2.1.186 或以上)。開始前先執行 claude --version,需要時用 claude update 更新;畫面與本文不同時,以 Claude Code 官方 MCP 文件為準。
關於示例:本文所有指令都來自官方文件(Anthropic、GitHub 及 DBHub),來源列在文末;文中的提示句子均為官方文件的示例,Claude 實際回覆會因你的資料而不同。本文沒有列出任何 session 的測試結果。本文不是法律或資訊安全意見;接駁公司系統前,請先諮詢公司 IT、資訊安全或法律顧問。
Claude Code MCP 係咩?幾時先值得接?
MCP 是 AI 工具整合的開放標準。Claude Code 透過 MCP server 連接外部工具、資料庫和 API:server 可以在你電腦上以本機程序執行,也可以是雲端託管服務。官方給的判斷準則很實際:當你發覺自己不斷把另一個工具的資料複製貼入對話,例如 issue tracker 或監控儀表板,就值得接一個 server;接上之後,Claude 可以直接讀取和操作那個系統,而不是只靠你貼上的內容。
MCP 同 CLAUDE.md、Skills 分工不同。按官方功能總覽整理:
| 功能 | 負責甚麼 | 例子 |
|---|---|---|
| CLAUDE.md | 每個 session 都會載入的項目規則和背景 | 技術棧、常用指令、寫法規範 |
| Skill | 按需要載入的知識和工作流程,可用 /<名稱> 觸發 | code review 清單、部署流程、API 風格指引 |
| MCP | 連接外部服務,提供工具和資料存取 | 查詢資料庫、在 Slack 發訊息、控制瀏覽器 |
| CLI 工具 | Claude 直接在終端機執行指令 | 官方指 gh、aws、gcloud 比 MCP 更慳 context(見下文) |
官方的講法是:MCP 連接外部服務,Skills 則讓 Claude 知道點樣有效地用這些服務,兩者可以一齊用。想了解 MCP 對中小企 AI agent 的整體意義(例如同 function calling、n8n 的分別),可看 AI Agent 香港中小企指南;本文只講 Claude Code 入面點樣設定和用得安全。
開始前:你需要乜?
帳戶:Claude Code 本身要 Pro 或以上
官方安裝文件寫明,Claude Code 需要 Pro、Max、Team、Enterprise 或 Console 帳戶,Claude.ai 免費方案不包括 Claude Code。官方 MCP 文件沒有另設方案限制,即係有 Claude Code 就可以設定 MCP server;不過個別 server 背後的服務(例如 GitHub、Notion)有自己的帳戶和權限要求。
個人方案之中,包括 Claude Code 的是 Pro(官方標價 US$20/月;年繳折合 US$17/月,即 US$200 一次過預繳)、Max 5x(US$100/月)和 Max 20x(US$200/月)。以上是 Anthropic 官方美元標價,來源為 Claude 官方價格頁及 Max 方案說明(2026-09-15 核對),不包括適用稅項,Anthropic 可隨時調整價格和方案。5x、20x 是相對 Pro 的用量級別(官方說明為每個 session 的用量分別是 Pro 的 5 倍和 20 倍),不是固定訊息數;任何第三方或本站列出的港幣價,都不是 Anthropic 官方香港價格。各方案點揀,請看 Claude Code 要用邊個 Claude 方案。
電腦同工具
- 已安裝並登入 Claude Code:未裝請先看 Claude Code 安裝教學。
- 一個測試 repo:受 Git 管理、可以隨時刪除;第一次不要在公司正式項目試。
- Node.js(視乎 server):用
npx啟動的本機 server 需要 Node.js。官方快速入門的 Playwright 例子要求 Node.js 18 或以上;其他 server 的要求以各自文件為準。 - Windows:官方寫明
claude mcp add在各種 shell 用法一樣,包括 PowerShell 和 Command Prompt。
步驟 1:加第一個 server(官方文件 MCP,免登入)
官方快速入門用「Claude Code 文件 MCP server」做第一個例子:它是託管服務,可以全文搜尋 Claude Code 文件,不需要登入或任何特別設定,最適合用來熟習流程。流程對任何 server 都一樣:加入、檢查狀態、在 session 使用,最後(可選)移除。
1. 在終端機加入 server
要在終端機執行,不是在 claude session 入面——你是在開始對話前先設定 server。
claude mcp add --transport http claude-code-docs https://code.claude.com/docs/mcp
claude mcp add:向 Claude Code 登記一個 server。--transport http:server 在網址上託管,而不是本機程序。claude-code-docs:你自己改的名稱,叫docs都得;Claude Code 會用它標示這個 server 的工具,以及在claude mcp remove等指令中指代它。https://code.claude.com/docs/mcp:server 的網址。
成功會顯示類似 Added HTTP MCP server claude-code-docs with URL: https://code.claude.com/docs/mcp to local config,跟住一行 File modified: 列出寫入的設定檔。local config 代表這個 server 只屬於你、只在當前項目生效;在另一個項目開 Claude Code 就不會出現。
2. 用 claude mcp list 檢查連線
claude mcp list
Added 只代表設定已寫入,不代表已經連得上。claude mcp list 會在每個 server 旁邊顯示狀態:
| 狀態 | 意思 |
|---|---|
✔ Connected | 可以使用;claude-code-docs 應該顯示這個 |
! Connected · tools fetch failed | 連上了但未能列出工具;用 claude mcp get <名稱> 看錯誤詳情 |
! Needs authentication | server 連得到,但要在瀏覽器登入,或用 --header 傳入 token |
✘ Failed to connect | server 沒有回應;claude mcp get 會列出 HTTP 狀態或錯誤碼 |
✘ Connection error | 連線時出錯;不附詳情,要按文末排錯步驟檢查 |
⏸ Pending approval(提示你執行 claude 批准) | 你未批准的 project scope server(見步驟 3) |
⊘ Disabled for this project (re-enable via /mcp) | 已在 /mcp 為這個項目停用 |
部分舊式 Windows 主控台(例如 Windows 10 預設主控台)不支援這些符號,會以 √ 和 × 代替 ✔ 和 ✘。
3. 在 session 使用
在同一個項目輸入 claude 開 session,然後輸入官方示例提示:
Use the claude-code-docs server to look up what MCP_TIMEOUT does
平時不需要在提示中點名 server,Claude 會自己揀合適的工具;這裏點名,是確保示範真的經過新 server,而不是用 web fetch 等其他工具作答。第一次調用 server 時如果 Claude Code 要求權限,批准即可。Claude 輸出中的工具調用會標上 server 名稱,你可以憑此確認答案來自 MCP server,而不是 Claude 本身的知識。
4. 移除(可選)
claude mcp remove claude-code-docs
成功會顯示 Removed MCP server "claude-code-docs" from local config。每個已連接的 server 都會佔用一些 context(工具名稱和 server 指示會載入每個 session),不再用的 server 最好移除。
步驟 2:三種連接方式,同必學的 -- 分隔符
| 方式 | 指令 | 適合 | 官方狀態 |
|---|---|---|---|
| 遠端 HTTP | claude mcp add --transport http <名稱> <網址> | 雲端服務,例如 Notion、GitHub、Sentry | 官方推薦,支援最廣 |
| 遠端 SSE | 同 HTTP 指令;舊版或要直接用 SSE 才寫 --transport sse | 只提供 SSE 端點的服務 | 已棄用;v2.1.265 起用 HTTP 指令加入時,遇到只支援 SSE 的 server 會自動轉用 SSE |
| 本機 stdio | claude mcp add [選項] <名稱> -- <指令> [參數...] | 需要本機資源的工具:瀏覽器、檔案系統、資料庫連線 | 本機 server 的預設 transport |
| 遠端 WebSocket | 只可以寫在 .mcp.json 或用 claude mcp add-json | 會主動推送事件的 server | --transport 不接受 ws;只支援 header 認證,不支援 OAuth |
本機 server 例子:Playwright(毋須帳戶)
官方快速入門推薦用 Playwright MCP server 試本機 server:它讓 Claude 開一個瀏覽器去瀏覽、點擊和讀取網頁,不需要帳戶;因為經 npx 執行,所以要 Node.js 18 或以上。
claude mcp add playwright -- npx -y @playwright/mcp@latest
- 沒有
--transport,因為本機 server 預設用 stdio。 --之後的全部內容,就是 Claude Code 用來啟動 server 的指令。-y叫npx毋須詢問就安裝套件。
第一次執行 claude mcp list 可能因 npx 仲下載緊套件而顯示 ✘ Failed to connect,等一陣再試,下載完成後會轉為 ✔ Connected。之後可以試官方示例提示 Use playwright to open https://example.com and tell me the page title:Playwright 會用你電腦已安裝的 Chrome,並打開瀏覽器視窗讓你看着它操作。官方亦建議可以叫它打開你本機的開發伺服器,檢查改動後頁面是否仍然正常顯示。
-- 分隔符點解咁重要?
對 stdio server 來說,-- 用來分隔 Claude 自己的選項(例如 --transport、--env、--scope)同啟動 server 的指令;-- 之後的內容會原封不動交給 server。漏咗 --,Claude Code 會把 server 的參數(例如 --port)當成自己的選項來解讀。另外,--env 可以接多組 KEY=value;如果 server 名稱緊跟在 --env 後面,CLI 會把名稱當成另一組變數而拒絕,所以要把名稱放在 --env 之前,或者在兩者之間隔另一個選項。官方例子:
claude mcp add example --env API_KEY=your-key -- npx -y @example/mcp-server
別的 app 的設定說明點轉?
MCP server 並非 Claude Code 專用,不少 server 只提供 Claude Desktop 或 Cursor 的設定。官方建議在說明中找三樣東西:網址(遠端,用 --transport http)、啟動指令(本機,放在 -- 後面),或者一段 mcpServers JSON(用 claude mcp add-json)。用 add-json 時只傳入 mcpServers 裏面那個物件,並留意兩點:有 url 但沒有 type 的項目會被當成 stdio 而失敗,要補上 "type": "http";名稱只可以用英文字母、數字、連字號和底線。官方例子:
claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'
如果你已在 Claude Desktop 設定好 server,可以用 claude mcp add-from-claude-desktop 匯入,但官方註明只適用於 macOS 和 WSL。
步驟 3:揀 scope——local、project 定 user?
claude mcp add 會按 --scope 把設定寫入三個 scope 之一,分存兩個檔案。你毋須親手改這些檔案,但知道位置有助排錯和決定甚麼應該入 Git:
| Scope | 怎樣指定 | 存放位置 | 邊個用到 | 入唔入 Git | 適合 |
|---|---|---|---|---|---|
| local(預設) | 不用加,或 --scope local | ~/.claude.json 內當前項目的條目 | 只有你、只限當前項目 | 否 | 個人試用、帶憑證而不想入版本控制的 server |
| project | --scope project | 項目根目錄的 .mcp.json | 所有 clone 項目的人 | 是,官方建議 commit | 團隊共用的 server(憑證用環境變數) |
| user | --scope user | ~/.claude.json 頂層的 mcpServers | 只有你、你所有項目 | 否 | 你每個項目都會用的個人工具 |
Windows 上 ~/.claude.json 即係 %USERPROFILE%\.claude.json,一般是 C:\Users\YourName\.claude.json。用 claude mcp get <名稱> 可以看到某個 server 放在哪個 scope。留意:MCP 的「local scope」存於你的 home 目錄,同項目內的 .claude/settings.local.json 是兩回事。
Scope 加入後就改唔到
server 的 scope 在加入時已固定;想改,就要先移除再以新 scope 加入。例如把步驟 1 的 server 改成你所有項目通用:
claude mcp remove claude-code-docs --scope local
claude mcp add --scope user --transport http claude-code-docs https://code.claude.com/docs/mcp
同名 server 以邊個為準?
同一個 server 在多處定義時,Claude Code 只會連一次,並使用優先次序最高的定義:local > project > user > plugin 提供的 server > claude.ai connectors。它會用勝出來源的整個設定,不會跨 scope 合併欄位。公司透過 managed settings 的 managedMcpServers 提供的 server,優先於以上所有(要 v2.1.259 或以上)。如果同名 server 在不同 scope 指向不同網址,claude mcp list 和 /mcp 會顯示衝突警告,用 claude mcp remove <名稱> --scope <scope> 刪走不要的一個即可。
手寫 .mcp.json,憑證用環境變數
project scope 的 .mcp.json 最值得親手寫,因為它會 commit 入 repo,等於團隊共用的設定。檔案要放在 repository 根目錄(不是 .claude/ 入面),server 要寫在 mcpServers 之下。憑證不要直接寫入,改用 ${VAR} 或 ${VAR:-預設值} 引用環境變數。下面合併了官方快速入門和 MCP 文件的兩個例子:
{
"mcpServers": {
"claude-code-docs": {
"type": "http",
"url": "https://code.claude.com/docs/mcp"
},
"api-server": {
"type": "http",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
}
}
}
Claude Code 在 session 開始時讀取 .mcp.json,改完要重新開 session。另外有兩點要留意:
- 引用的變數未設定、又沒有預設值時,server 仍會載入,但
claude mcp list會顯示警告,並原樣使用${VAR}字串。 - 在遠端 server 的
url和headers裏,Claude Code 自己的憑證變數(例如ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN)、雲端供應商憑證,以及HTTPS_PROXY、NPM_TOKEN等,一律讀成空值,防止 repo 裏的.mcp.json或 plugin 把你的憑證送去它指定的 server。要傳 token,就用一個自己命名的變數。
project scope 要先批准
第一次在互動 session 遇到 .mcp.json 裏的 server,Claude Code 會要求你批准。官方解釋,這是為了防止你 clone 回來的 repository 未經同意就在你電腦啟動程序。錯過了提示,可以之後在 /mcp 批准;之前拒絕過、想重新選擇,就執行:
claude mcp reset-project-choices
同一道理,clone 回來的 repository 不能自己批准自己的 server:repo 內 .claude/settings.json 寫入的 enableAllProjectMcpServers 或 enabledMcpjsonServers,在你未信任該資料夾之前會被忽略,server 會停留在 ⏸ Pending approval。有一個重要例外,見下文「安全清單」第 5 點。

實戰一:連接 GitHub
1. 建立 fine-grained personal access token
GitHub 的遠端 MCP server 用 personal access token(PAT)認證,以 header 傳入。按 Anthropic 官方例子,到 GitHub 的 token 設定頁建立一個 fine-grained token,只授權你想 Claude 處理的 repository。第一次建議只揀一個測試 repo,權限越少越好。
2. 加入 server
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
把 YOUR_GITHUB_PAT 換成你的 token。注意 claude mcp add 儲存設定時不會驗證憑證,佔位字都會照收,只是之後連唔到。用 /mcp 確認 github 顯示 connected;憑證錯誤會顯示 failed,詳情會包括 server 回傳的 HTTP 狀態,例如 401。這個指令用預設的 local scope,設定存於你自己的 ~/.claude.json;官方亦建議把帶憑證、不想進入版本控制的 server 放在 local scope。
3. 第一次建議用唯讀網址
GitHub 官方文件說明,遠端 server 的每個 toolset 都有獨立網址,在任何網址後面加 /readonly,就只保留讀取類工具。第一次試用,可以把上面指令的網址換成唯讀版(網址取自 GitHub 官方文件,其餘部分與上面 Anthropic 的官方指令相同):
claude mcp add --transport http github https://api.githubcopilot.com/mcp/readonly \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
如果之前已加入同名的 github,要先 claude mcp remove github,否則會出現 already exists。你亦可以只接某個 toolset,例如 issues 的 https://api.githubcopilot.com/mcp/x/issues(同樣可以加 /readonly),或者用 X-MCP-Toolsets header 指定。確定需要寫入操作(例如開 issue、留 PR comment)時,才換回完整網址,並配合下文的權限規則。
4. 示例提示
以下是 Anthropic 官方文件列出的示例提示(實際回覆會因你的 repo 而不同;用唯讀網址時,開 issue 這類寫入操作不會提供):
Review PR #456 and suggest improvementsCreate a new issue for the bug we just foundShow me all open PRs assigned to me
另一個方法:官方 GitHub plugin
Claude Code 官方 marketplace 有 GitHub plugin,內含預先設定的 MCP server。在 session 內執行:
/plugin install github@claude-plugins-official
官方同時提醒,Anthropic 無法控制 plugin 內含的 MCP server、檔案或其他軟件,亦不能核實它們是否如預期運作,安裝前要確認可信。plugin 提供的 server,工具名稱格式是 mcp__plugin_<plugin 名>_<server 名>__<工具名>,寫權限規則時要留意。
token 保管同公司帳戶
- 不要把 PAT 寫入會 commit 的檔案。GitHub 的 Claude 安裝指南建議把 token 放在
.env,並把.env和.mcp.json加入.gitignore;如果要用 project scope 同隊友共享設定,就改用${VAR}引用各人自己的環境變數。 - 公司規則照樣適用。organization 的 PAT 政策和 SSO 規定,同樣適用於你給 Claude 用的 token。按 GitHub 的 PAT 政策文件,organization 可以選擇「Require administrator approval」,要求擁有人逐個批准可存取該 organization 的 fine-grained PAT,而這是預設值;organization 亦可以改為不需批准,所以實際情況要問你公司的 GitHub 管理員。GitHub 亦說明其「MCP servers in Copilot」政策只管 Copilot 編輯器,不管 Claude 這類第三方 host;經 PAT 連接時,管理員要從 PAT 政策入手。
- 要唔要 Copilot 訂閱:GitHub 官方文件說明,GitHub MCP server 開放予所有 GitHub 用戶,不論方案;但個別工具沿用對應 GitHub 功能的要求,功能本身要付費 GitHub 或 Copilot 授權的,相應 MCP 工具亦一樣,例如與 Copilot cloud agent 互動的工具需要付費 Copilot 授權(2026-09-15 核對)。
- add-json 小提示:GitHub 的指南(標為 Windows/CLI 注意事項)提到
claude mcp add-json加 HTTP server 時可能回傳Invalid input,遇到時改用上面的claude mcp add --transport http格式。
實戰二:連接資料庫(DBHub)
官方文件用 DBHub(npm 套件 @bytebase/dbhub)做資料庫例子:它是本機 stdio server,透過 --dsn 連線字串連接關聯式資料庫。官方明確建議連線字串用唯讀資料庫帳戶,令 Claude 執行的查詢不能修改資料:
claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
--dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"
用 /mcp 確認 db 顯示 connected,之後就可以用自然語言查詢。官方示例提示:
What's our total revenue this month?Show me the schema for the orders tableFind customers who haven't made a purchase in 90 days
香港中小企建議做法:先唯讀、先測試數據
- 先接非正式數據。官方例子的主機名只是示意。本站建議先接 staging 或已去識別化的資料庫,確認流程安全才考慮正式數據;這是本站建議,不是官方要求。
- 在資料庫層面設唯讀帳戶。資料庫帳戶本身沒有寫入權限,比在提示中叫 Claude「唔好改資料」可靠得多。
- 用 DBHub 自己的防護。DBHub 文件說明,在設定檔為工具設定
readonly = true,就只容許唯讀操作,由關鍵字分類器和資料庫本身的唯讀模式雙重執行;max_rows則可以限制 SELECT 回傳的行數。這兩項要寫在 DBHub 的 TOML 設定檔([[tools]]),而 DBHub 文件寫明設定檔不能與--dsn同時使用,所以要由上面的--dsn寫法改為設定檔寫法,細節以 DBHub 文件為準。 - 不要亂開網絡模式。官方例子用 stdio,由 Claude Code 在你電腦以子程序啟動;DBHub 文件寫明
--host、--port只在 HTTP 模式使用。改用 HTTP 模式時,--host預設是0.0.0.0(綁定所有網絡介面),而--auth-token預設不設定,即預設不要求認證。本站建議非必要不用 HTTP 模式;真的要用,最少把--host設為只限本機的127.0.0.1,並設定--auth-token。 - 連線字串含密碼。用 local scope 時只存於你的
~/.claude.json;要放入.mcp.json共享,就用${VAR}引用環境變數(stdio server 的args同樣支援展開)。 - 控制結果大小。叫 Claude 先看 schema、加條件和行數限制,避免一次拉大量資料入 context,原因見下文「Context 同用量」。
私隱條例提醒(一般資訊,不是法律意見):把載有客戶或員工個人資料的資料庫、文件接去 AI 工具前,香港《個人資料(私隱)條例》的保障資料原則值得先想清楚。按 私隱專員公署的條例概覽,第 3 原則禁止在未得資料當事人明確和自願同意下,把個人資料用於與收集目的無關的新目的;第 4 原則要求資料使用者採取所有切實可行的步驟,保障所持個人資料免受未獲准許或意外的查閱、處理、刪除、喪失或使用。公署 2025 年 3 月 31 日發布的僱員使用生成式 AI 指引清單,亦建議機構清楚列明可以輸入生成式 AI 工具的資料類型和數量,例如是否包括個人資料。這些原則如何套用到 MCP 連接屬本站理解,實際做法請按公司政策並諮詢專業意見。另外,Anthropic 使用政策禁止未經授權存取系統,以及違反私隱法例(例如非法存取私人資料),並寫明 agent 用途同樣要遵守:只可以連接你獲授權使用的系統和資料。
實戰三:Notion 同其他文件工具
Notion:加網址,再用瀏覽器登入
Notion、Sentry、Linear 等託管服務的 MCP server 用 OAuth:先加入網址,再在瀏覽器登入。官方 MCP 文件的 Notion 例子:
claude mcp add --transport http notion https://mcp.notion.com/mcp
加入後 claude mcp list 會顯示 ! Needs authentication,屬正常。登入有兩個方法:
- 在 session 內:輸入
/mcp,揀notion,按Enter,選 Authenticate,然後在瀏覽器批准。 - 直接在 shell(v2.1.186 起):執行
claude mcp login notion。由 v2.1.191 起,在 SSH 或沒有瀏覽器的環境,它會改為印出授權網址,讓你在本機瀏覽器打開,再把瀏覽器網址列的完整轉址網址貼回;加--no-browser可強制使用這個方式。
認證 token 會安全儲存並自動更新。想撤銷存取,可在 /mcp 選單用 Clear authentication,或執行 claude mcp logout notion;用 claude mcp remove 移除遠端 server 時,Claude Code 亦會一併刪除為它儲存的 OAuth token。瀏覽器沒有自動打開,就複製終端機顯示的網址自己打開。
Gmail、Google Calendar、Microsoft 365:要經 claude.ai connectors
官方文件指出,Microsoft 365、Gmail、Google Calendar 等 Anthropic 託管的 connectors 不支援從 Claude Code 本機做 OAuth,因為上游身份供應商只接受 claude.ai 登記的轉址網址。用 claude mcp add 加這些服務再登入,會出現 is Anthropic-hosted and doesn't support local OAuth。正確做法是到 claude.ai/customize/connectors 連接,之後它們會自動出現在 Claude Code。
claude.ai connectors 幾時會出現喺 Claude Code?
- 要用訂閱帳戶登入:只有當 Claude Code 目前的登入方式是 claude.ai 訂閱帳戶時才會載入;如果
ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN或apiKeyHelper生效,或者用緊 Amazon Bedrock 等第三方供應商,就不會載入。/mcp見不到的話,先用/status確認登入方式。 - Team 和 Enterprise:只有管理員可以加入 connectors。
- 不想載入:在設定寫
"disableClaudeAiConnectors": true,或用ENABLE_CLAUDEAI_MCP_SERVERS=false claude啟動;亦可以在/mcp為個別項目關閉某個 connector。 - 重複時:你自己加的 server 同某個 connector 指向同一網址時,以你自己加的為準,
/mcp會把 connector 標為 hidden。
權限設定:限制 Claude 可以用邊啲 MCP 工具
MCP 工具同 Bash、檔案編輯一樣受權限規則管制。官方強調權限規則由 Claude Code 執行,不是靠模型自覺;在提示或 CLAUDE.md 寫「唔好用某某工具」只會影響 Claude 嘗試做甚麼,不會改變 Claude Code 容許甚麼。可以在 session 內用 /permissions 查看和管理規則,或者寫入 settings.json 的 permissions。寫法如下:
| 規則 | 配對範圍 |
|---|---|
mcp__github | github server 的所有工具 |
mcp__github__* | 同上(萬用字元寫法) |
mcp__github__get_* | github server 以 get_ 開頭的工具(官方例子) |
mcp__<server>__<tool> | 某個 server 的單一工具,例如官方例子 mcp__puppeteer__puppeteer_navigate |
mcp__*(只限 deny/ask) | 所有 server 的所有 MCP 工具 |
三個容易出錯的地方:
- allow 要寫明 server:allow 規則的萬用字元必須寫在明確的
mcp__<server>__之後;"mcp__*"、"*"這類沒有指明 server 的 allow 規則會被略過並顯示警告,不會自動批准任何工具。 - 不能用括號:載入設定檔時,帶括號的
mcp__規則會被略過;想按 MCP 工具的參數封鎖,要用--disallowedTools傳入 deny 規則。 - plugin 工具名稱不同:plugin 的 server 用
mcp__plugin_開頭的名稱(見上文)。實際工具名稱以/mcp列出的為準。
處理敏感項目、想完全停用 MCP 工具時,官方示例設定如下:
{
"permissions": {
"deny": [
"mcp__*"
]
}
}
反過來,想讓步驟 1 文件 server 的全部工具,以及 GitHub server 以 get_ 開頭的工具免問照用,可以按上表寫法(示例)。留意 GitHub 不少讀取工具以 list_、search_ 開頭,這條規則不會涵蓋;實際工具名稱以 /mcp 列出的為準:
{
"permissions": {
"allow": [
"mcp__claude-code-docs",
"mcp__github__get_*"
]
}
}
settings.json 的位置、allow/deny 優先次序和項目規則寫法,詳見 Claude Code 新手教學。
權限模式同 MCP
Pro、Max、Team 方案在終端機開 session,內建預設是 Auto mode:由分類器代你審核操作,大部分動作不會逐一詢問你。不過官方列明幾種例外會改為以 Manual mode 開始,包括安裝或升級後的第一個 session、設定檔把 auto mode 關掉、claude -p,以及 auto mode 在該 session 不可用(詳見 安裝教學的權限模式部分)。接上可以寫入外部系統的 server 之後,這點更加重要:練習時可以用 Shift+Tab 轉到 Manual mode,觀察 Claude 每次打算調用哪個工具,熟悉之後再決定。
如果你自己開發 MCP server,可以在工具的 tools/list 項目把 _meta["anthropic/requiresUserInteraction"] 設為 true:Claude Code 每次調用該工具都會彈出權限提示,即使在 acceptEdits、auto、bypassPermissions 模式亦一樣,而且不提供「don't ask again」(要 v2.1.199 或以上)。這適合授權、同意這類必須由真人確認的工具。
MCP server 安全清單
- 只接信得過的 server。官方安全文件建議自己寫 MCP server,或只用你信任的供應商提供的 server。Anthropic 會按上架準則審核 Anthropic Directory 的 connectors,但不會為任何 MCP server 做安全審核或管理。
- 提防 prompt injection。官方警告,會抓取外部內容的 server 可能令你暴露於 prompt injection 風險,即外來文字試圖改寫 Claude 的指示。官方建議用虛擬機執行腳本和工具調用,尤其是涉及外部網絡服務時。
- 最少權限。GitHub 用只授權指定 repo 的 fine-grained token 和
/readonly網址;資料庫用唯讀帳戶;再用mcp__規則限制可用工具。 - 憑證不入 Git。帶憑證的 server 用 local scope;共享的
.mcp.json用${VAR}。不要把 token 貼到聊天群組或截圖,也不要與人共用帳戶或 token;分享截圖前遮蓋電郵、帳戶名稱、所在地和 IP。 - 小心非互動模式。在
claude -p、Agent SDK 和雲端 session 中,Claude Code 無法顯示.mcp.json的批准提示,會直接載入 project scope server;官方安全文件亦註明,用-p非互動執行時不會做信任驗證。在不熟悉的 repo 跑自動化前,可以用disabledMcpjsonServers封鎖指定 server、用--strict-mcp-config只載入你以--mcp-config傳入的 server,或用--setting-sources排除項目設定。 - 定期清理。不再用的 server 用
claude mcp remove移除,遠端 server 的 OAuth token 會一併刪除;OAuth server 亦可用claude mcp logout或/mcp的 Clear authentication 撤銷。 - 保持更新。MCP 相關改動很頻密(見文首核對日期說明),例如 2.1.268(2026-09-10)修正了
/mcp、claude mcp list/get和 MCP 登入錯誤訊息會顯示由${VAR}解析出來的秘密值的問題。用claude update保持最新版本。 - 只連接你獲授權的系統。Anthropic 使用政策適用於 agent 用途,未經授權存取系統、違反私隱法例都屬禁止。
帳戶和 token 保安可以用 AI 帳戶安全檢查表逐項核對。
公司統一管理:managed-mcp.json 同允許/封鎖清單
IT 管理員可以集中控制員工能用的 MCP server,主要有三種做法:
- 固定清單:部署
managed-mcp.json取得獨佔控制,Claude Code 只載入檔案內的 server,用家不能自行加入;server 清單留空,基本上等於停用 MCP(官方列有少數例外)。檔案位置:macOS 是/Library/Application Support/ClaudeCode/managed-mcp.json,Linux 和 WSL 是/etc/claude-code/managed-mcp.json,Windows 是C:\Program Files\ClaudeCode\managed-mcp.json。 - 核准目錄:用
allowedMcpServers列出核准 server,配合allowManagedMcpServersOnly: true,清單以外一律封鎖。 - 封鎖清單:只用
deniedMcpServers封鎖已知有問題的 server,其餘照用。

Context 同用量:MCP 會唔會食多咗?
有影響,但官方預設的 tool search 令閒置 server 佔用很少。官方文件說明 tool search 預設開啟:session 開始時只載入工具名稱和 server 指示,完整工具定義要到 Claude 需要時才載入,所以多接幾個 server 對 context window 影響有限。不過每個已連接的 server 仍會佔用一些位置,而較大的消耗通常來自工具回傳的大量結果。
- 先量度:用
/context看甚麼在佔用 context;/context all可以看每個已載入的 MCP 工具用多少 token。 - 停用或移除:用
/mcp停用暫時不用的 server,或者乾脆移除。 - 留意輸出上限:MCP 工具輸出超過 10,000 token 會顯示警告;預設上限是 25,000 token,可用
MAX_MCP_OUTPUT_TOKENS環境變數調高。超出上限的結果會存成檔案,對話中只放檔案路徑,Claude 需要時再讀取。 - 有 CLI 就用 CLI:官方指
gh、aws、gcloud、sentry-cli等 CLI 工具比 MCP server 更慳 context,因為不會加入逐個工具的清單。只是查 PR 狀態,讓 Claude 執行gh可能已經足夠。
Pro 和 Max 的用量由 Claude 和 Claude Code 共用,接太多 server、拉太多工具結果,會令 context 變大、用量消耗更快;官方沒有公布 MCP 對用量的具體數字,本站亦不作估算。用量機制見 Claude 用量限制與 Claude Code 共用用量;經常撞上限、考慮 Max 5x 或 20x,先看 Claude Code 方案指南。
常見錯誤排解
先在 session 內用 /mcp,或在 shell 用 claude mcp list 看狀態,再對照下表。/mcp 亦可以直接重連或認證。
| 你看到的情況 | 常見原因 | 解決方法 |
|---|---|---|
/mcp 顯示 No MCP servers configured | 在另一個項目執行了 claude mcp add(local scope 綁定加入時的項目);或改錯了設定檔位置 | 在當前項目重新加入,或用 --scope user;正確的檔案只有 ~/.claude.json 和項目根目錄的 .mcp.json |
| 手寫的 server 從未出現 | 寫在 ~/.claude/mcp.json、~/.claude/.mcp.json、~/.claude/config/mcp.json、%APPDATA%\Claude\mcp.json 或 settings.json 的 mcpServers;或 .mcp.json 放了在 .claude/ 內、用了 VS Code 式的 servers 鍵 | Claude Code 不讀這些位置:項目 server 寫入 repository 根目錄 .mcp.json 的 mcpServers 之下;個人 server 用 claude mcp add --scope user |
has a "url" but no "type" | JSON 項目有 url 但沒有 type,被當成 stdio | 補上 "type": "http"(或 "sse"、"ws") |
✘ Failed to connect 或 ✘ Connection error | server 啟動不到或網址沒有回應;亦可能是設定的 token 被拒 | 先看 claude mcp get <名稱> 的 Issue: 行。HTTP server 用 curl -I <網址> 測試(PowerShell 要用 curl.exe):404/405 代表 server 在線,401/403 代表要認證。stdio server 直接在終端機執行啟動指令,看錯誤訊息 |
| stdio server 啟動失敗,或只在某些資料夾失敗 | 漏了 -- 分隔符,令 server 的參數被當成 Claude Code 的選項;只在某些資料夾失敗,多數是 command/args 用了相對路徑(會按你啟動 Claude Code 的資料夾解讀) | 用 claude mcp get 對比指令,移除後以 -- 重新加入;本機腳本用絕對路徑(npx、uvx 等在 PATH 的程式可以直接用) |
! Needs authentication | server 需要瀏覽器登入或 token | /mcp → Authenticate,或 claude mcp login <名稱>;用 token 的 server 在加入時傳 --header |
⏸ Pending approval | 未批准的 project scope server | 在該項目執行 claude 並批准;拒絕過就執行 claude mcp reset-project-choices |
| 顯示 connected 但 0 個工具 | 多數是缺少必需的環境變數,例如 API key | 用 --env KEY=value 或 .mcp.json 的 env 欄位補上;在 /mcp 選 Reconnect;仍是 0 就用 claude --debug=mcp 啟動,在 ~/.claude/debug/ 的日誌看 server 的 stderr |
| 啟動逾時 | 超過預設 30 秒啟動時限,第一次用 npx 下載較常見 | Mac/Linux:MCP_TIMEOUT=60000 claude;PowerShell:$env:MCP_TIMEOUT = "60000"; claude |
already exists | 同一 scope 已有同名 server | 先 claude mcp remove <名稱>,或換一個名稱;多個 scope 同名時加 --scope 指定刪哪一個 |
改了 .mcp.json 冇反應 | .mcp.json 只在 session 開始時讀取;或格式錯誤的項目被略過 | 重開 session;看 claude mcp list 的 parse 警告,它會指出出錯欄位 |
is Anthropic-hosted and doesn't support local OAuth | 用 claude mcp add 加了 Gmail、Google Calendar、Microsoft 365 等 | claude mcp remove 移除,改到 claude.ai/customize/connectors 連接 |
| 貼上 token 後一直 401 | token 有隱藏的前後空白;或 headers 用了會被讀成空值的憑證變數 | 看 claude mcp list 的空白警告並刪除空白;改用自己命名的環境變數 |
舊教學常見寫法 vs 現行官方文件(2026-09-15 對照)
MCP 文件更新得很快。如果你在其他教學見到以下寫法,請以現行官方文件為準:
| 如果你見到 | 現行官方文件 |
|---|---|
遠端 server 預設用 --transport sse | SSE 已棄用,用 --transport http;v2.1.265 起遇到只支援 SSE 的 server 會自動轉用 |
| scope 叫 project/global | 現時是 local(預設)、project、user 三種 |
編輯 ~/.claude/mcp.json,或在 settings.json 加 mcpServers | Claude Code 不讀這些位置 |
Windows 要用 cmd /c 包住 npx | 現行 MCP 文件沒有這個步驟,並寫明 claude mcp add 在 PowerShell 和 Command Prompt 用法一樣;遇到 stdio 失敗,先按上表排錯 |
OAuth 只可以入 session 用 /mcp | v2.1.186 起可以用 claude mcp login <名稱> |
| 接多幾個 server 就會塞爆 context | tool search 預設開啟,閒置 server 只載入工具名稱和 server 指示;仍要停用不用的 server,並控制工具輸出大小 |
下一步
- 仲未裝 Claude Code:看 Claude Code 安裝教學。
- 第一個項目、CLAUDE.md 和 settings.json 權限規則:看 Claude Code 新手教學。
- 喺 IDE 用:看 Claude Code VS Code 教學。
- 放入 GitHub 工作流程:看 Claude Code GitHub Actions 教學。
- 經常撞到用量上限:看 Claude 用量限制與 Claude Code 共用用量。
如果你仲未有可以用 Claude Code 的方案,可到本站 Claude Code 方案服務頁了解服務內容(Claude Code 包含在 Pro 及以上方案),落單步驟見服務流程。本站與 OpenAI/Anthropic 並無從屬關係;頁面上的港幣價錢是本站獨立服務總價,不是 Anthropic 官方香港價格。下單前請閱讀服務條款,並先了解代充與成品號涉及的憑證、條款和停權風險。任何方式都不會改變文首所述的官方支援地區狀態。
結論
Claude Code 接 MCP,指令本身只有一行:遠端用 claude mcp add --transport http,本機用 claude mcp add <名稱> -- <指令>,再用 claude mcp list 確認真的連上。真正要花心機的是其餘幾步:揀啱 scope,令憑證留在 local scope 或環境變數;GitHub 先用唯讀網址和最少權限的 token,資料庫先用唯讀帳戶和非正式數據;用 mcp__ 規則限制工具;記住 Anthropic 不會替 server 做安全審核,非互動模式亦會略過批准提示。做好這些,MCP 就可以幫你省下大量複製貼上的時間,而不會變成新的保安漏洞。
資料來源與引用
我們附上第一手及官方來源,方便你逐一核實。
- 1.Connect Claude Code to tools via MCP — Anthropic (Claude Code Docs)
- 2.Connect to MCP servers (MCP quickstart) — Anthropic (Claude Code Docs)
- 3.Configure permissions — Anthropic (Claude Code Docs)
- 4.Security — Anthropic (Claude Code Docs)
- 5.Manage MCP access for an organization — Anthropic (Claude Code Docs)
- 6.Debug your configuration — Anthropic (Claude Code Docs)
- 7.Discover and install plugins — Anthropic (Claude Code Docs)
- 8.Manage costs effectively — Anthropic (Claude Code Docs)
- 9.Extend Claude Code (features overview) — Anthropic (Claude Code Docs)
- 10.Claude Code advanced setup — Anthropic (Claude Code Docs)
- 11.Claude Code changelog — Anthropic (Claude Code Docs)
- 12.Claude plans and pricing — Anthropic
- 13.What is the Max plan? — Anthropic Support
- 14.Get started with custom connectors using remote MCP — Anthropic Support
- 15.Anthropic supported countries — Anthropic
- 16.Usage Policy — Anthropic
- 17.Remote GitHub MCP Server — GitHub (github/github-mcp-server)
- 18.Install GitHub MCP Server in Claude applications — GitHub (github/github-mcp-server)
- 19.GitHub MCP Server policies and governance — GitHub (github/github-mcp-server)
- 20.Set up the GitHub MCP server — GitHub Docs
- 21.Setting a personal access token policy for your organization — GitHub Docs
- 22.Permission modes — Anthropic (Claude Code Docs)
- 23.DBHub execute_sql tool — Bytebase (DBHub docs)
- 24.DBHub command-line options — Bytebase (DBHub docs)
- 25.The Personal Data (Privacy) Ordinance at a glance — Office of the Privacy Commissioner for Personal Data, Hong Kong
- 26.Checklist on Guidelines for the Use of Generative AI by Employees (media statement, 31 March 2025) — Office of the Privacy Commissioner for Personal Data, Hong Kong
常見問題
Claude 免費版可以用 Claude Code MCP 嗎?
不可以。MCP 是 Claude Code 內的功能,而官方寫明 Claude Code 需要 Pro、Max、Team、Enterprise 或 Console 帳戶,Claude.ai 免費方案不包括 Claude Code。官方 MCP 文件沒有另設方案限制,有 Claude Code 就可以設定。另外要分清:Anthropic 說明 claude.ai、Cowork 和 Claude Desktop 的「自訂 connectors(remote MCP)」免費用戶都可以用,但只限一個;那是聊天 app 的功能,不等於可以用 Claude Code。
用 MCP 會唔會食多咗 Pro/Max 用量?
有影響,但未必如想像中大。現行版本預設開啟 tool search,session 開始時只載入工具名稱和 server 指示;不過每個已連接的 server 仍佔一些 context,大量工具回傳結果亦會令 context 變大。Pro 和 Max 的用量由 Claude 和 Claude Code 共用,官方沒有公布 MCP 對用量的具體數字,本站亦不作估算。可以用 /context 查看佔用、用 /mcp 停用不用的 server,有 gh 這類 CLI 就優先用 CLI。
.mcp.json 應唔應該 commit 入 Git?
要同隊友共用 server,官方做法就是用 project scope 寫入項目根目錄的 .mcp.json 並 commit;隊友 clone 後第一次開 Claude Code 要先批准。前提是檔案內沒有任何 token 或密碼:憑證用 ${VAR} 引用各人自己的環境變數,或者把帶憑證的 server 放在 local scope。GitHub 的 Claude 安裝指南在把 token 寫入設定的例子中,則建議把 .env 和 .mcp.json 都加入 .gitignore;兩者並不矛盾,關鍵是載有 token 的檔案不要 commit。
GitHub token 點設先安全?
按 Anthropic 官方例子,用 fine-grained personal access token,只授權你想 Claude 處理的 repository;第一次試用把網址換成 GitHub 官方的唯讀版 https://api.githubcopilot.com/mcp/readonly。token 不要寫入會 commit 的檔案,亦不要與人共用;公司 organization 的 PAT 政策和 SSO 規定同樣適用。另外 claude mcp add 儲存設定時不會驗證 token,要用 /mcp 確認真的連得上。
可以把公司客戶資料庫直接接去 Claude Code 嗎?
技術上可以,但不建議第一步就接正式客戶數據。官方例子本身已要求用唯讀資料庫帳戶;本站建議再加兩層:先接 staging 或已去識別化的資料庫,並用 DBHub 的 readonly 和 max_rows 設定。涉及個人資料時,要考慮《個人資料(私隱)條例》第 3 原則(不可在未得明確和自願同意下改作無關用途)和第 4 原則(保障資料免受未獲准許查閱),以及私隱專員公署的生成式 AI 僱員指引。本文只屬一般資訊,不是法律意見。
claude.ai connectors 同 claude mcp add 有咩分別?
claude mcp add 是在 Claude Code 本機登記 server,設定存於你的 ~/.claude.json 或項目的 .mcp.json。claude.ai connectors 則在 claude.ai/customize/connectors 加入,只要你用 claude.ai 訂閱帳戶登入 Claude Code,就會自動出現在 /mcp;如果 ANTHROPIC_API_KEY 等 API 憑證或第三方供應商生效,就不會載入。Gmail、Google Calendar、Microsoft 365 等 Anthropic 託管的 connectors 不支援從 Claude Code 本機登入,只可以經 claude.ai 連接。Team 和 Enterprise 只有管理員可以加 connectors。
香港可以用 Claude Code MCP 嗎?
Claude Code 的官方系統要求把所在地列為 Anthropic 支援國家之一。截至 2026 年 9 月 15 日,Anthropic 官方支援國家/地區名單未列出香港。本文只介紹官方文件中的 MCP 設定方法,不提供任何繞過地區限制的方法;請先閱讀本站的 Claude 香港訂閱指南,並留意官方名單更新。
本文遵循我們的 編輯準則.

關於作者
HK Learn AI 編輯部
HK Learn AI 編輯部負責研究、查證同編寫每一篇內容,並引用官方及第一手來源。
此主題相關文章

Jev Choice、Score、Noul 教學:選項、評級與是非機率點樣設計
以客服和故障評級例子拆解 Choice、Score、Noul:選項覆蓋、rubric、加權分數、否定句與批次獨立性,避免輸出可解析卻語意錯誤。

Jev API 教學:用 JavaScript 發出第一個 TypeSafe 請求、讀取答案與處理錯誤
用 Node.js 與 fetch 呼叫 Jev:完整 model/state/questions 示例,讀取 Choice、Noul 和 usage,處理 401、422、429、529,並固定模型版本。

Claude Code GitHub Actions 教學:@claude 修 issue、PR 自動審查,訂閱 token 定 API key 點揀
按 Anthropic 現行官方文件(2026 年 9 月 15 日核對)設定 Claude Code GitHub Actions:用 /install-github-app 快速設定,或手動安裝 Claude GitHub App、加 Secret、放 workflow,再留言 @claude 改 code 及開 PR 自動審查。另有訂閱 token 與 API key 之選、成本、安全設定同排錯。文首附支援地區狀態。