MCP 連接器與開發工具流程示意

← INSIGHTS & PERSPECTIVES | 生成式AI

Claude Code MCP scope 如何選擇 Local、Project 與 User

說明 Claude Code MCP 三種 scope 的儲存位置、共享範圍、優先順序與安全使用情境。

Claude Code MCP scope 決定 MCP server 設定存在哪裡、會在哪些專案載入、以及是否會被團隊共享。一般原則是:敏感金鑰用 Local,團隊共用工具用 Project,個人跨專案常用工具用 User。

Claude Code MCP scope 是什麼?

Claude Code MCP scope 是 MCP server 設定的作用範圍。Claude Code 目前支援 Local、Project、User 三種主要 scope,並依優先順序處理同名 server。

MCP 是 Model Context Protocol,用來讓 Claude Code 連接外部工具、資料庫、API 或本機程式。Claude Code 官方文件說明,MCP server 可讓 Claude Code 直接讀取與操作工具,而不是靠使用者複製貼上資料。

三種 scope 的差異如下:

Scope載入範圍是否團隊共享適合情境
Local目前專案個人實驗、敏感金鑰、本機私人工具
Project目前專案是,透過 `.mcp.json`團隊共用 server、CI 工具、共用資料源
User所有專案個人跨專案常用工具

Local scope 適合什麼?

Local scope 適合只想在目前專案自己使用的 MCP server。Local scope 不適合放入版本控制,尤其適合含有個人 token 或本機路徑的設定。

新增 local server 可以使用預設 scope,或明確指定 `--scope local`:

```bash

claude mcp add my-private-server /path/to/server

claude mcp add my-private-server --scope local /path/to/server

```

Local scope 的優點是安全與彈性。開發者可以測試新的 MCP server、連接私人工具,或暫時覆蓋 Project scope 的同名 server,而不影響團隊其他人。

Project scope 適合什麼?

Project scope 適合整個團隊都需要的 MCP server。Project scope 會寫入專案根目錄的 `.mcp.json`,因此可以被版本控制與 code review。

新增 project server:

```bash

claude mcp add shared-server --scope project /path/to/server

```

`.mcp.json` 常見格式如下:

```json

{

"mcpServers": {

"shared-server": {

"command": "/path/to/server",

"args": [],

"env": {}

}

}

}

```

Project scope 要特別注意安全。Claude Code 啟用 `.mcp.json` 內容前會要求使用者批准,因為 project server 可能執行本機 command 或連接外部服務。

User scope 適合什麼?

User scope 適合個人跨專案都會使用的 MCP server。User scope 不會跟團隊共享,但會在同一個使用者的所有專案中可用。

新增 user server:

```bash

claude mcp add my-user-server --scope user /path/to/server

```

User scope 常見用途包括個人筆記工具、常用 API connector、跨專案搜尋工具或本機開發輔助 server。若工具只屬於某個 repo,通常不要放在 User scope,否則容易在不相關專案中載入。

同名 MCP server 的優先順序怎麼判斷?

Claude Code 遇到同名 MCP server 時,會依 Local、Project、User 的順序選擇最高優先設定。Local scope 可以暫時覆蓋團隊設定。

官方文件列出的優先順序包含:

  1. Local scope
  2. Project scope
  3. User scope
  4. Plugin-provided servers
  5. claude.ai connectors

這個規則對排錯很重要。如果 `.mcp.json` 看起來正確,但 Claude Code 連到另一個 endpoint,應先檢查 Local 或 User scope 是否有同名 server。

`.mcp.json` 可以怎麼處理環境變數?

`.mcp.json` 支援環境變數展開,適合讓團隊共享結構但保留個別環境差異。敏感值應放在環境變數,不應直接提交到 repo。

常見語法:

語法說明
`${VAR}`插入環境變數 `VAR` 的值
`${VAR:-default}`沒有 `VAR` 時使用 `default`

範例:

```json

{

"mcpServers": {

"api-server": {

"type": "http",

"url": "${API_BASE_URL:-https://api.example.com}/mcp",

"headers": {

"Authorization": "Bearer ${API_KEY}"

}

}

}

}

```

如果必要環境變數沒有設定,也沒有 default,Claude Code 啟動時會解析失敗。

常見問題

QClaude Code MCP 的 Local scope 會被 commit 嗎?

Local scope 不應被 commit。Local scope 適合個人設定、測試 server 與敏感金鑰。

Q團隊共用 MCP server 應該用哪個 scope?

團隊共用 MCP server 應該用 Project scope,並把 `.mcp.json` 放入版本控制。敏感 token 仍應使用環境變數。

QUser scope 和 Local scope 差在哪裡?

User scope 會在個人所有專案中載入,Local scope 只在目前專案載入。跨專案常用工具用 User,專案專用或敏感設定用 Local。

Q同名 server 為什麼沒有使用 `.mcp.json` 的設定?

最常見原因是 Local scope 或 User scope 有同名 server。Claude Code 會優先採用 Local,再採用 Project,最後才是 User。

Q`.mcp.json` 可以放 API key 嗎?

`.mcp.json` 不建議直接放 API key。比較好的做法是使用 `${API_KEY}` 環境變數展開,並在每位開發者本機或 secret manager 中設定值。

參考資料

  • Claude Code Docs, Connect Claude Code to tools via MCP: <https://code.claude.com/docs/en/mcp>
  • Model Context Protocol: <https://modelcontextprotocol.io/>

最後更新

本文最後更新於 2026-08-27,內容依 Claude Code MCP 官方文件校對 scope 名稱與優先順序。

延伸閱讀

關於作者 {#author}

Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。

首次發布:2025-07-23