在前面的程式碼中,我們:
- 匯入了所需的函式庫
- 建立了一個客戶端實例,並使用 stdio 作為傳輸方式連接
- 列出提示、資源和工具,並全部調用它們
這樣就完成了一個能與 MCP Server 通訊的客戶端。
接下來,我們會在練習部分花時間逐段解析程式碼,並說明每個部分的運作原理。
如前所述,讓我們慢慢來解釋程式碼,如果你願意,也可以跟著一起寫。
讓我們先匯入需要的函式庫,我們會需要引用客戶端以及我們選擇的傳輸協議 stdio。stdio 是一種用於在本機執行的協議。SSE 是未來章節會介紹的另一種傳輸協議,但目前我們先使用 stdio。
讓我們繼續下一步。
接著進入實例化。
我們需要建立傳輸實例,還有客戶端實例:
現在我們有一個能連接的客戶端,只要程式執行就會連上。不過目前還沒有列出伺服器的功能,接下來讓我們來實現這部分:
太好了,現在我們已經取得所有功能。那麼問題是,什麼時候使用它們呢?這個客戶端相當簡單,意思是我們需要明確呼叫功能才能使用。在下一章,我們會建立一個更進階的客戶端,它可以存取自己的大型語言模型(LLM)。不過現在,讓我們看看如何調用伺服器上的功能:
要調用功能,我們必須確保指定正確的參數,有些情況還需要指定要調用的名稱。
在終端機輸入以下指令來執行客戶端:
在這個作業中,你將運用所學來建立自己的客戶端。
這裡有一個伺服器,你可以透過客戶端程式碼呼叫它,試著為伺服器新增更多功能,讓它變得更有趣。
本章關於客戶端的重點如下:
- 客戶端可用來發現並調用伺服器上的功能。
- 客戶端可以在啟動自身時啟動伺服器(如本章所示),也能連接已在執行的伺服器。
- 客戶端是測試伺服器功能的好方法,除了前一章提到的 Inspector 工具之外。
- 下一章:使用 LLM 建立客戶端
免責聲明:
本文件乃使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們致力於確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議採用專業人工翻譯。我們不對因使用本翻譯而引致的任何誤解或錯誤詮釋承擔責任。