官术网_书友最值得收藏!

1.1.1 主機-客戶端-服務器

aa 1. MCP主機

MCP主機(有時簡稱主機[1])是MCP的中心樞紐,它既是用戶與大模型直接交互的終端,又是協調外部資源的調度中心。

主機具有雙重客戶端的屬性。

aa 作為與大模型交互的客戶端:接收用戶輸入并請求大模型生成回答。所有支持MCP的AI應用(主要包括AI對話助手、智能體、AI編輯器),都可以看作主機。

aa 作為服務協調的MCP客戶端:主機創建并管理多個客戶端實例(與服務器一一對應)。在請求大模型生成回答的過程中,主機可以通過客戶端實例請求外掛的服務器獲取額外的數據或者執行特定的任務。主機把從外掛的服務器獲取的數據或者執行任務的結果,作為上下文補充給大模型,讓大模型生成更加符合用戶需求的回答。

aa 2. MCP服務器

MCP服務器(有時簡稱服務器)是MCP的核心組件,主要負責對接外部數據或服務,并通過標準的數據格式將響應內容發送給MCP客戶端。

我們可以將MCP服務器理解為外部數據或服務的一個代理網關,所有的數據交互都通過該代理網關進行。

比如,高德地圖(作為數據或服務提供方)開放了其路程規劃的API:在MCP出來之前,AI應用需要通過編碼的方式,自行對接高德地圖API;有了MCP之后,高德地圖就可以實現一個MCP服務器,并通過它暴露自己的能力,而支持MCP的AI應用可以直接集成此MCP服務器,不需要額外的對接工作。

aa 3. MCP客戶端

MCP客戶端(有時簡稱客戶端)是MCP主機與MCP服務器之間的橋梁。客戶端“寄生”于主機中,由主機創建并進行調度,客戶端與服務器進行連接,從而實現與外部數據或服務的交互。

cc MCP是基于經典的C/S(客戶端-服務器)架構設計的。MCP客戶端是相對于MCP服務器的概念,請注意,本書先介紹的是MCP服務器,然后是MCP客戶端,目的就是想體現“有了連接服務器的需求,主機才創建了客戶端實例”。不過出于表述習慣,我們依然稱其為“主機-客戶端-服務器”架構。MCP主機要想調用一個外部的MCP服務器,就需要創建一個MCP客戶端,才能進行彼此的連接,MCP客戶端與MCP服務器是一一對應的。

而MCP主機本身是把大模型作為交互對象的客戶端,我們稱之為“大模型客戶端”。盡管在某些場景中,我們容易混淆“大模型客戶端”和“MCP客戶端”,但在系統架構層面,兩者應該明確區分——“大模型客戶端”是面向用戶(用戶可見)的AI應用[2],“MCP客戶端”是由MCP主機創建的進程。

官方給出的MCP架構如圖1-2所示(關于MCP架構的相關內容,我們還會在第2章深入講解)。

圖1-2 MCP架構圖

主站蜘蛛池模板: 浮山县| 宾川县| 大足县| 彭水| 教育| 文登市| 舒兰市| 梁河县| 宁陕县| 寿宁县| 麟游县| 改则县| 左贡县| 田阳县| 会同县| 洞口县| 平和县| 冀州市| 桃园县| 德庆县| 宁德市| 娱乐| 宣汉县| 新丰县| 苏尼特左旗| 亚东县| 红安县| 石楼县| 且末县| 葫芦岛市| 万荣县| 竹溪县| 台东市| 惠水县| 忻州市| 锡林郭勒盟| 南乐县| 林州市| 精河县| 澎湖县| 顺义区|