- 這就是MCP
- 艾逗筆(@idoubi)
- 956字
- 2025-08-07 17:41:58
1.1.1 主機-客戶端-服務器
1. MCP主機
MCP主機(有時簡稱主機[1])是MCP的中心樞紐,它既是用戶與大模型直接交互的終端,又是協調外部資源的調度中心。
主機具有雙重客戶端的屬性。
作為與大模型交互的客戶端:接收用戶輸入并請求大模型生成回答。所有支持MCP的AI應用(主要包括AI對話助手、智能體、AI編輯器),都可以看作主機。
作為服務協調的MCP客戶端:主機創建并管理多個客戶端實例(與服務器一一對應)。在請求大模型生成回答的過程中,主機可以通過客戶端實例請求外掛的服務器獲取額外的數據或者執行特定的任務。主機把從外掛的服務器獲取的數據或者執行任務的結果,作為上下文補充給大模型,讓大模型生成更加符合用戶需求的回答。
2. MCP服務器
MCP服務器(有時簡稱服務器)是MCP的核心組件,主要負責對接外部數據或服務,并通過標準的數據格式將響應內容發送給MCP客戶端。
我們可以將MCP服務器理解為外部數據或服務的一個代理網關,所有的數據交互都通過該代理網關進行。
比如,高德地圖(作為數據或服務提供方)開放了其路程規劃的API:在MCP出來之前,AI應用需要通過編碼的方式,自行對接高德地圖API;有了MCP之后,高德地圖就可以實現一個MCP服務器,并通過它暴露自己的能力,而支持MCP的AI應用可以直接集成此MCP服務器,不需要額外的對接工作。
3. MCP客戶端
MCP客戶端(有時簡稱客戶端)是MCP主機與MCP服務器之間的橋梁。客戶端“寄生”于主機中,由主機創建并進行調度,客戶端與服務器進行連接,從而實現與外部數據或服務的交互。
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架構圖
- 精通COBOL:大型機商業編程技術詳解(修訂版)
- 軟件需求與可視化模型(微軟技術叢書)
- 大數據處理系統:Hadoop源代碼情景分析
- 深度學習訓練營 21天實戰TensorFlow+Keras+scikit-learn
- 嵌入式系統開發之道:菜鳥成長日志與項目經理的私房菜
- Android深度探索(卷1):HAL與驅動開發
- Cadence系統級封裝設計:Allegro SiP/APD設計指南
- 深度學習:21天實戰Caffe
- Android應用安全防護和逆向分析
- 微服務架構原理與開發實戰
- 程序員度量:改善軟件團隊的分析學
- Unity手機游戲開發:從搭建到發布上線全流程實戰
- 基于Pro/Engineer Wildfire的直齒圓錐齒輪虛擬設計與制造
- 多面體編譯理論與深度學習實踐
- 內容理解:技術、算法與實踐