模型上下文協議 (MCP)
了解如何在 Claude Code 中設定 MCP。
模型上下文協議 (MCP) 是一個開放協議,讓大型語言模型能夠存取外部工具和資料來源。有關 MCP 的更多詳細資訊,請參閱 MCP 文件。
使用第三方 MCP 伺服器需自行承擔風險。請確保您信任這些 MCP 伺服器,並在使用與網際網路通訊的 MCP 伺服器時特別小心, 因為這些可能會讓您面臨提示注入風險。
設定 MCP 伺服器
新增 MCP stdio 伺服器
新增 MCP SSE 伺服器
新增 MCP HTTP 伺服器
管理您的 MCP 伺服器
提示:
- 使用
-s
或--scope
旗標來指定設定儲存的位置:local
(預設):僅在目前專案中對您可用(在舊版本中稱為project
)project
:透過.mcp.json
檔案與專案中的每個人共享user
:在所有專案中對您可用(在舊版本中稱為global
)
- 使用
-e
或--env
旗標設定環境變數(例如,-e KEY=value
) - 使用 MCP_TIMEOUT 環境變數設定 MCP 伺服器啟動逾時(例如,
MCP_TIMEOUT=10000 claude
設定 10 秒逾時) - 隨時使用 Claude Code 中的
/mcp
指令檢查 MCP 伺服器狀態 - MCP 遵循用戶端-伺服器架構,其中 Claude Code(用戶端)可以連接到多個專門的伺服器
- Claude Code 支援 SSE(伺服器傳送事件)和可串流的 HTTP 伺服器以進行即時通訊
- 使用
/mcp
與需要 OAuth 2.0 驗證的遠端伺服器進行驗證
了解 MCP 伺服器範圍
MCP 伺服器可以在三個不同的範圍層級進行設定,每個層級都有不同的目的來管理伺服器可存取性和共享。了解這些範圍有助於您確定為特定需求設定伺服器的最佳方式。
範圍階層和優先順序
MCP 伺服器設定遵循明確的優先順序階層。當相同名稱的伺服器存在於多個範圍時,系統會優先考慮本地範圍的伺服器,然後是專案範圍的伺服器,最後是使用者範圍的伺服器,以此方式解決衝突。這種設計確保個人設定可以在需要時覆蓋共享設定。
本地範圍
本地範圍的伺服器代表預設設定層級,並儲存在您的專案特定使用者設定中。這些伺服器對您保持私有,只有在目前專案目錄中工作時才能存取。此範圍適用於個人開發伺服器、實驗性設定或包含不應共享的敏感憑證的伺服器。
專案範圍
專案範圍的伺服器透過將設定儲存在專案根目錄的 .mcp.json
檔案中來實現團隊協作。此檔案設計為可檢入版本控制,確保所有團隊成員都能存取相同的 MCP 工具和服務。當您新增專案範圍的伺服器時,Claude Code 會自動建立或更新此檔案,並使用適當的設定結構。
產生的 .mcp.json
檔案遵循標準化格式:
基於安全考量,Claude Code 在使用來自 .mcp.json
檔案的專案範圍伺服器之前會提示批准。如果您需要重設這些批准選擇,請使用 claude mcp reset-project-choices
指令。
使用者範圍
使用者範圍的伺服器提供跨專案可存取性,使它們在您機器上的所有專案中都可用,同時對您的使用者帳戶保持私有。此範圍適用於個人實用程式伺服器、開發工具或您在不同專案中經常使用的服務。
選擇正確的範圍
根據以下條件選擇您的範圍:
- 本地範圍:個人伺服器、實驗性設定或特定於一個專案的敏感憑證
- 專案範圍:團隊共享的伺服器、專案特定工具或協作所需的服務
- 使用者範圍:多個專案中需要的個人實用程式、開發工具或經常使用的服務
與遠端 MCP 伺服器進行驗證
許多遠端 MCP 伺服器需要驗證。Claude Code 支援 OAuth 2.0 驗證流程,以安全地連接到這些伺服器。
新增需要驗證的遠端伺服器
使用 /mcp 指令進行驗證
在 Claude Code 中,使用 /mcp
指令來管理驗證:
這會開啟一個互動式選單,您可以:
- 檢視所有伺服器的連接狀態
- 與需要 OAuth 的伺服器進行驗證
- 清除現有驗證
- 檢視伺服器功能
完成 OAuth 流程
當您為伺服器選擇「驗證」時:
- 您的瀏覽器會自動開啟到 OAuth 提供者
- 在瀏覽器中完成驗證
- Claude Code 接收並安全地儲存存取權杖
- 伺服器連接變為活躍狀態
提示:
- 驗證權杖會安全地儲存並自動重新整理
- 在
/mcp
選單中使用「清除驗證」來撤銷存取權限 - 如果您的瀏覽器沒有自動開啟,請複製提供的 URL
- OAuth 驗證適用於 SSE 和 HTTP 傳輸
連接到 Postgres MCP 伺服器
假設您想要讓 Claude 對 PostgreSQL 資料庫具有唯讀存取權限,以進行查詢和架構檢查。
新增 Postgres MCP 伺服器
使用 Claude 查詢您的資料庫
提示:
- Postgres MCP 伺服器為了安全提供唯讀存取權限
- Claude 可以幫助您探索資料庫結構並執行分析查詢
- 您可以使用此功能快速了解不熟悉專案中的資料庫架構
- 確保您的連接字串使用具有最低必要權限的適當憑證
從 JSON 設定新增 MCP 伺服器
假設您有一個單一 MCP 伺服器的 JSON 設定,您想要將其新增到 Claude Code。
從 JSON 新增 MCP 伺服器
驗證伺服器已新增
提示:
- 確保 JSON 在您的 shell 中正確跳脫
- JSON 必須符合 MCP 伺服器設定架構
- 您可以使用
-s global
將伺服器新增到您的全域設定而不是專案特定設定
從 Claude Desktop 匯入 MCP 伺服器
假設您已經在 Claude Desktop 中設定了 MCP 伺服器,並希望在 Claude Code 中使用相同的伺服器,而無需手動重新設定它們。
從 Claude Desktop 匯入伺服器
選擇要匯入的伺服器
執行指令後,您會看到一個互動式對話框,讓您選擇要匯入的伺服器。
驗證伺服器已匯入
提示:
- 此功能僅適用於 macOS 和 Windows 子系統 Linux (WSL)
- 它會從這些平台上的標準位置讀取 Claude Desktop 設定檔
- 使用
-s global
旗標將伺服器新增到您的全域設定 - 匯入的伺服器將具有與 Claude Desktop 中相同的名稱
- 如果已存在相同名稱的伺服器,它們將獲得數字後綴(例如,
server_1
)
將 Claude Code 用作 MCP 伺服器
假設您想要將 Claude Code 本身用作其他應用程式可以連接的 MCP 伺服器,為它們提供 Claude 的工具和功能。
將 Claude 啟動為 MCP 伺服器
從其他應用程式連接
您可以從任何 MCP 用戶端連接到 Claude Code MCP 伺服器,例如 Claude Desktop。如果您使用 Claude Desktop,您可以使用此設定新增 Claude Code MCP 伺服器:
提示:
- 伺服器提供對 Claude 工具的存取權限,如 View、Edit、LS 等
- 在 Claude Desktop 中,嘗試要求 Claude 讀取目錄中的檔案、進行編輯等
- 請注意,此 MCP 伺服器只是將 Claude Code 的工具公開給您的 MCP 用戶端,因此您自己的用戶端負責為個別工具呼叫實作使用者確認
使用 MCP 資源
MCP 伺服器可以公開資源,您可以使用 @ 提及來參考這些資源,類似於您參考檔案的方式。
參考 MCP 資源
列出可用資源
在您的提示中輸入 @
以查看來自所有已連接 MCP 伺服器的可用資源。資源會與檔案一起出現在自動完成選單中。
參考特定資源
使用格式 @server:protocol://resource/path
來參考資源:
多個資源參考
您可以在單一提示中參考多個資源:
提示:
- 資源在被參考時會自動擷取並作為附件包含
- 資源路徑在 @ 提及自動完成中可進行模糊搜尋
- 當伺服器支援時,Claude Code 會自動提供工具來列出和讀取 MCP 資源
- 資源可以包含 MCP 伺服器提供的任何類型內容(文字、JSON、結構化資料等)
將 MCP 提示用作斜線指令
MCP 伺服器可以公開提示,這些提示在 Claude Code 中會變成可用的斜線指令。
執行 MCP 提示
發現可用提示
輸入 /
以查看所有可用指令,包括來自 MCP 伺服器的指令。MCP 提示以格式 /mcp__servername__promptname
出現。
執行不帶參數的提示
執行帶參數的提示
許多提示接受參數。在指令後以空格分隔傳遞它們:
提示:
- MCP 提示會從已連接的伺服器動態發現
- 參數會根據提示定義的參數進行解析
- 提示結果會直接注入到對話中
- 伺服器和提示名稱會正規化(空格變成底線)