Model Context Protocol (MCP) 讓 Claude Code 使用超越其內建工具集的工具,例如搜尋問題追蹤器、查詢資料庫或控制網頁瀏覽器。這些工具來自 MCP 伺服器,可在您的機器上執行或作為託管服務運行。 本指南將逐步引導您透過 Claude Code CLI 端對端連接一個 MCP 伺服器。完成後,您將擁有一個已連接且正在回應的伺服器、知道其設定在磁碟上的位置,以及知道如何修復最常見的連接錯誤。Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
您也可以從其他介面新增 MCP 伺服器,包括桌面應用程式、VS Code 和網頁版。請參閱從其他介面連接。
開始之前
確保您擁有:- 已安裝並驗證 Claude Code
- 在專案目錄中開啟的終端機。任何目錄都可以,包括空目錄。
新增並驗證伺服器
下面的範例連接到 Claude Code 文件 MCP 伺服器,這是一個託管伺服器,具有對 Claude Code 文件的全文搜尋功能。它不需要驗證或任何特殊設定,因此它非常適合作為測試設定流程的第一個伺服器。 步驟對任何伺服器都相同:新增它、檢查連接狀態,然後在工作階段中使用它,最後可選擇清理步驟。某些伺服器會新增一個步驟,例如瀏覽器登入,如 其他 MCP 伺服器範例 所示。如需更多伺服器連接,請瀏覽 Anthropic 目錄。新增 MCP 伺服器
向 Claude Code 註冊伺服器。在您的終端機中執行此命令,而不是在 命令的各部分:
claude 工作階段內:您在啟動對話之前設定伺服器。claude mcp add:向 Claude Code 註冊伺服器。--transport http:伺服器託管在 URL 上,而不是作為本機程序執行。claude-code-docs:您自己建立的名稱。將同一伺服器稱為docs會完全相同。Claude Code 使用您選擇的任何名稱在 Claude 的輸出中標記伺服器的工具,並在claude mcp remove等命令中引用伺服器。https://code.claude.com/docs/mcp:伺服器託管的 URL。
Added HTTP MCP server claude-code-docs with URL: https://code.claude.com/docs/mcp to local config。local config 部分表示伺服器已向您註冊,在此專案中:如果您在不同的專案中啟動 Claude Code,此伺服器在那裡不活躍。若要為所有專案註冊一次伺服器,請在使用者範圍新增它,詳見變更伺服器範圍。檢查連接狀態
確認伺服器出現在您的伺服器清單中並檢查其狀態:伺服器出現時帶有狀態指示器:
| 狀態 | 含義 |
|---|---|
✓ Connected | 準備就緒。這是您應該為 claude-code-docs 看到的 |
! Needs authentication | 伺服器可到達但需要瀏覽器登入,或使用 --header 傳遞的令牌。請參閱連接需要登入的伺服器 |
✗ Failed to connect | 伺服器未回應。請參閱疑難排解 |
✗ Connection error | 連接嘗試拋出錯誤。請參閱疑難排解 |
⏸ Pending approval | 您尚未批准的專案範圍伺服器。請參閱直接編輯 .mcp.json |
使用伺服器
啟動工作階段並要求 Claude 按名稱使用新伺服器:Claude 第一次呼叫伺服器時,它會要求使用新工具的許可。批准它以繼續。Claude 輸出中的工具呼叫會標記伺服器名稱,這是您確認答案來自 MCP 伺服器而不是 Claude 內建知識的方式。
您通常不需要在提示中命名伺服器,因為 Claude 會自動選擇相關工具。在此命名它可保證演示透過新伺服器而不是另一個工具(例如網頁擷取)進行,該工具可能回答相同問題。
移除伺服器
此步驟是可選的。當您完成實驗時,您可以移除伺服器:
每個已連接的伺服器在 Claude 的內容視窗中佔用一些空間,因為其工具名稱和伺服器指令會載入到每個工作階段中。移除您不再使用的伺服器可保持該空間空閒。
伺服器的儲存位置
claude mcp add 命令將伺服器的詳細資訊寫入設定檔。預設情況下,它在 local 範圍註冊伺服器:僅限您私人使用,僅在目前專案中活躍。傳遞 --scope user 以為所有專案註冊一次,或傳遞 --scope project 以與隊友共享。變更伺服器範圍會逐步說明兩者。
claude mcp add 在每個 shell 中的工作方式相同,包括 PowerShell 和命令提示字元。在 claude 工作階段內,使用 /mcp 命令檢查和管理您已新增的伺服器。- 新增本機伺服器:在您的機器上執行程式,而不是連接到 URL。
- 直接編輯
.mcp.json:自己寫入 JSON 項目,而不是使用命令。 - 連接需要登入的伺服器:新增需要瀏覽器登入才能使其工具工作的託管伺服器。
在磁碟上找到您的設定
範圍表中的每個檔案對伺服器項目使用相同的 JSON 格式。根據--scope 旗標,跨兩個檔案儲存三個範圍之一。您不需要直接編輯這些檔案,但知道它們的位置有助於除錯和版本控制。
| 範圍 | 檔案 | 可用於 |
|---|---|---|
local | ~/.claude.json,在此專案的項目下 | 僅限您,僅限此專案。預設值 |
project | 您的專案根目錄中的 .mcp.json | 複製專案的所有人 |
user | ~/.claude.json,在頂層 mcpServers 鍵下 | 僅限您,所有專案 |
~/.claude.json 解析為 %USERPROFILE%\.claude.json,通常為 C:\Users\YourName\.claude.json。如果您已設定 CLAUDE_CONFIG_DIR,Claude Code 會改為從該目錄內讀取 .claude.json。
執行 claude mcp get claude-code-docs 以查看哪個範圍保存伺服器的定義。如需當同一伺服器在多個範圍中定義時範圍如何互動,請參閱 MCP 安裝範圍。
變更伺服器範圍
伺服器的範圍在您新增時是固定的,因此變更範圍意味著移除項目並在新範圍重新新增。下面兩種情況都從移除第一個逐步說明中的本機項目開始,因此伺服器只有一個定義。如果您已在該逐步說明結束時移除它,請跳過此命令:在所有專案中使用伺服器
在user 範圍重新新增伺服器,使其在您開啟的每個專案中活躍,仍然僅限您私人使用:
與您的團隊共享伺服器
在project 範圍重新新增伺服器,它寫入專案根目錄中的 .mcp.json:
.mcp.json 提交到版本控制。複製儲存庫並啟動 Claude Code 的隊友會看到批准伺服器的提示,然後它也會為他們連接。
其他 MCP 伺服器範例
第一個逐步說明使用了無需任何登入即可連接的託管伺服器。下面的範例涵蓋其他兩種常見形式,具有相同的新增、檢查、使用流程。新增本機伺服器
本機 stdio 伺服器是 Claude Code 在您的機器上作為子程序啟動的程式,而不是它透過 URL 到達的服務。將其用於需要存取本機資源(例如瀏覽器、您的檔案系統或資料庫通訊端)的工具。 Playwright MCP 伺服器是一個很好的嘗試:它為 Claude 提供可以導航、點擊和讀取的瀏覽器,並且不需要帳戶。它透過npx 執行,因此需要 Node.js 18 或更高版本。
新增 Playwright 伺服器
向伺服器註冊 Claude Code 應執行以啟動它的命令:此命令與託管範例在三個方面不同:
- 沒有
--transport旗標,因為本機伺服器使用預設stdio傳輸。 --分隔符之後的所有內容都是 Claude Code 執行以啟動伺服器的命令。-y告訴npx安裝套件而不提示。
@playwright/mcp@latest 之後附加 --browser 和瀏覽器名稱,例如 --browser firefox。連接需要登入的伺服器
Sentry、Linear 和 Notion 等託管服務在 OAuth 後面執行其 MCP 伺服器:您新增伺服器的 URL,然後透過瀏覽器登入。 下面的步驟使用 Sentry 作為範例。若要連接不同的服務,請替換其 URL,您可以在 Anthropic 目錄或服務的文件中找到。新增伺服器
add 命令與文件伺服器相同,使用 Sentry 的 URL:claude mcp list 顯示伺服器為 ! Needs authentication。這是預期的:下一步完成登入。在瀏覽器中驗證
啟動 Claude Code 工作階段並開啟 MCP 面板:從清單中選擇
sentry,按 Enter,然後選擇 Authenticate。您的瀏覽器開啟到 Sentry 的登入頁面。在那裡批准連接。回到 Claude Code,伺服器的狀態變為已連接。如果登入失敗或瀏覽器未開啟,請參閱疑難排解。--header "Authorization: Bearer <token>" 取得令牌。請參閱 GitHub 範例以取得已完成的版本。
直接編輯 .mcp.json
範圍表中的每個檔案對伺服器項目使用相同的 JSON 格式。本節編輯.mcp.json,即專案範圍檔案。它最值得手寫,因為它被簽入儲存庫,在那裡它也充當您團隊的設定即程式碼。
在您的專案根目錄中建立 .mcp.json。下面的範例定義本指南中的兩個伺服器,透過 HTTP 到達的託管文件伺服器和作為本機 stdio 程序的 Playwright 伺服器:
- 對於 HTTP 伺服器,
url是 Claude Code 連接到的端點。 - 對於 stdio 伺服器,
command和args是它執行的程式。
.mcp.json。
Claude Code 第一次看到專案範圍伺服器時,它會要求您批准它。提示存在是為了讓您複製的儲存庫無法在您同意的情況下在您的機器上啟動程序。批准提示,或如果您錯過了,執行 /mcp 稍後批准。
批准後,執行 /mcp 並檢查伺服器是否顯示為已連接。如果其中一個顯示錯誤,請參閱疑難排解。
從其他介面連接
本指南使用claude mcp CLI 命令,但每個 Claude Code 介面都可以連接到 MCP 伺服器:
- Claude Code 桌面應用程式:透過連接器 UI 新增伺服器。
- Claude Desktop 聊天應用程式:與 Claude Code 不同的應用程式。若要將其
claude_desktop_config.json中的伺服器複製到 CLI,請在 macOS 或 WSL 上執行claude mcp add-from-claude-desktop。 - VS Code:請參閱使用 MCP 連接到外部工具。
- 網頁上的 Claude Code:從您的儲存庫讀取
.mcp.json。請參閱直接編輯 .mcp.json。 - Claude.ai:您在 claude.ai/customize/connectors 新增的連接器在您使用該帳戶登入時自動載入 CLI。請參閱從 Claude.ai 使用 MCP 伺服器。
疑難排解
如果伺服器未連接,請在工作階段內使用/mcp 或從您的 shell 使用 claude mcp list 檢查其狀態,然後匹配下面的症狀。/mcp 面板也讓您無需離開工作階段即可重新連接或驗證。
/mcp 顯示 No MCP servers configured
/mcp 顯示 No MCP servers configured
Claude Code 未找到目前目錄的任何伺服器。最常見的原因:
- 您從不同的專案執行了
claude mcp add。本機範圍伺服器與您新增它們的專案相關聯:儲存庫根目錄,或如果您不在 git 儲存庫中,則為確切目錄。從您現在所在的專案重新新增伺服器,或使用--scope user新增它,使其不與專案相關聯。 - 您在錯誤的路徑編輯了設定檔。正確的檔案是
~/.claude.json和<project>/.mcp.json。Claude Code 不讀取~/.claude/config/mcp.json、~/.claude/mcp.json或%APPDATA%\Claude\mcp.json等路徑。
狀態顯示 Failed to connect 或 Connection error
狀態顯示 Failed to connect 或 Connection error
兩種狀態都表示伺服器未啟動或 URL 未回應。它們也可能出現在期望令牌而不是連接需要登入的伺服器中涵蓋的瀏覽器登入的 HTTP 伺服器。對於 HTTP 伺服器,確認 URL 可從您的機器到達:在 PowerShell 中,使用 接下來發生的情況告訴您問題在哪裡:
curl.exe 而不是 curl,以便請求進入真實 curl 二進位檔而不是 Invoke-WebRequest 別名。回應告訴您您有哪種問題:404或405:伺服器已啟動。許多 MCP 端點僅回答 POST 請求,因此這仍然確認 URL 可從您的機器到達。401或403:伺服器已啟動,您需要驗證。使用連接需要登入的伺服器中的瀏覽器登入,或對於接受令牌的伺服器(例如 GitHub 的),使用claude mcp add命令上的--header "Authorization: Bearer <token>"傳遞它。- 完全沒有回應:檢查 URL 和您的網路。
- 命令啟動並等待輸入:伺服器本身有效。執行
claude mcp get <name>並確認那裡顯示的命令與您剛執行的相符。如果顯示的命令與您輸入的不同,您可能省略了伺服器命令前的--分隔符。移除伺服器並使用--重新新增。如果您手寫了.mcp.json,檢查其語法和位置。 - 命令錯誤:訊息命名缺少的內容,例如 Node.js 或瀏覽器。
連接在啟動時逾時
連接在啟動時逾時
伺服器花費的時間超過預設 30 秒啟動逾時。stdio 伺服器的第一次執行在 在 PowerShell 中,在同一行上的命令前設定變數:
npx 下載套件時可能很慢。使用 MCP_TIMEOUT 環境變數(以毫秒為單位)增加限制:伺服器已存在
伺服器已存在
您已在同一範圍新增了具有該名稱的伺服器。要麼先移除現有項目,要麼選擇不同的名稱:如果名稱存在於多個範圍,
remove 報告 exists in multiple scopes。傳遞 --scope 以選擇要刪除的副本,例如 claude mcp remove claude-code-docs --scope local。伺服器連接但沒有工具出現
伺服器連接但沒有工具出現
在工作階段內執行
/mcp 並選擇伺服器以查看其工具清單。如果清單為空,伺服器已啟動但未註冊任何工具,這通常意味著它缺少必需的環境變數,例如 API 金鑰。使用 claude mcp add 上的 --env KEY=value 傳遞變數,或在伺服器的 .mcp.json 項目的 env 欄位中傳遞。伺服器的文件列出它需要的變數。.mcp.json 的變更不生效
.mcp.json 的變更不生效
Claude Code 在工作階段啟動時讀取
.mcp.json。編輯檔案後退出並重新啟動工作階段。如果您的伺服器仍未出現,執行 /mcp 並尋找解析警告。Claude Code 跳過格式不正確的項目並在那裡顯示有問題的欄位。如果您之前在提示時拒絕了伺服器,重設專案批准:OAuth 登入失敗或瀏覽器未開啟
OAuth 登入失敗或瀏覽器未開啟
執行
/mcp,選擇伺服器,然後再次選擇 Authenticate。如果瀏覽器未自動開啟,複製終端機中顯示的 URL 並手動開啟。請參閱使用遠端 MCP 伺服器驗證以取得固定回呼連接埠和預先配置的認證。後續步驟
連接一個伺服器後,探索 MCP 啟用的其餘功能:- 尋找更多 MCP 伺服器在 Anthropic 目錄中
- 與您的團隊共享伺服器使用安裝範圍
- 為組織管理 MCP 存取使用受管設定和原則控制
- 在提示中參考 MCP 資源使用 @ 提及
- 從
/功能表執行 MCP 提示作為命令 - 使用 MCP SDK 建立您自己的伺服器