載入中

我們將建構一個基於 CLI 的聊天機器人,以更好地理解 MCP 客戶端與伺服器如何協同運作。這個實作專案將讓您獲得 MCP 架構兩端的實務經驗。

設定完成後,您應該能夠做到兩件事:說出客戶端做什麼、伺服器做什麼,以及判斷某個回覆是透過工具取得,還是直接來自模型。

我們要建構什麼

我們的聊天機器人將允許使用者透過命令列介面與一組文件互動。該系統由兩個主要元件組成:

  • 一個處理使用者互動的 MCP 客戶端
  • 一個管理文件操作的自訂 MCP 伺服器

伺服器將提供兩個基本工具:一個用於讀取文件內容,另一個用於更新文件內容。為簡化起見,所有文件都將儲存在記憶體中——不需要資料庫。

重要架構說明

在實際專案中,您通常只會實作 MCP 客戶端或 MCP 伺服器,而不是兩者都實作。您可能會建立:

  • 一個 MCP 伺服器,用於將您的服務公開給其他開發者
  • 一個 MCP 客戶端,用於連接到現有的 MCP 伺服器

我們在這個專案中同時建構這兩個元件,純粹是出於教學目的——以理解它們如何溝通並協同運作。

專案設定

從本課程結尾的下載區段下載 cli_project.zip,並將其解壓縮到您偏好的開發目錄中。在專案資料夾中開啟您的程式碼編輯器。

該專案包含一份詳盡的 README 檔案,其中有設定說明。請依照以下步驟操作:

  1. 將您的 Anthropic API 金鑰加入 .env 檔案
  2. 使用 UV(建議)或 pip 安裝相依套件
  3. 執行入門應用程式以確認一切正常運作

執行應用程式

在終端機中導覽至您的專案目錄。您會看到主要的專案檔案,包括 main.py、mcp_client.py 和 mcp_server.py。

若要啟動應用程式,請使用以下其中一個指令:

bash
# 若使用 UV(建議)
uv run main.py

# 若使用標準 Python
python main.py

當應用程式成功啟動後,您會看到一個聊天提示。

親自檢查基準。 輸入一個您可以一眼驗證的問題,例如「1+1 等於多少?」。不要只滿足於有回覆出現:請確認答案確實是 2。一個正確的回覆證明了您的 API 金鑰、相依套件以及聊天迴圈都正常運作。

接著輸入第二個問題,例如「文件裡寫了什麼?」。無論回覆是什麼,它都不可能來自文件工具,因為您還沒有建構它們。這個回覆是模型自行回答的結果。請注意,一旦該元件存在後,哪個元件將負責這項工作:伺服器管理文件操作,而客戶端處理您這一側的對話。

這項檢查背後的習慣是:讓您驗證的謹慎程度與出錯的代價相匹配。在這裡,一個有問題的設定會讓您後續建立在其上的每一課都付出代價;而檢查只需要兩個問題的成本。

一項值得保留的檢查

值得延續到這個專案之外的行為是:每當您為一個 API 專案新增一層——無論是工具、資料來源,還是 MCP 伺服器——在建構下一層之前,先向正在運作的系統提出一個您已經知道答案的問題。一個您已驗證過的基準,才是您唯一能夠用來除錯的基準。

完成基本設定後,我們就準備好開始實作 MCP 功能,並探索客戶端與伺服器如何透過 Model Context Protocol 進行溝通。

下載項目

  • Starter project (cli_project.zip)

    The chatbot project you build on for the rest of this section.

    下載
  • Completed project (cli_project_COMPLETE.zip)

    The finished version, for checking your work.

    下載