十張圖帶您極簡認(rèn)識(shí) MCP「可視化指南」
圖片
簡單來說,MCP 就像 AI 應(yīng)用的 USB-C 端口。
一句話通俗解釋:
MCP就像是一個(gè)“超級連接器”,可以看作強(qiáng)大的拓展塢,能讓聊天機(jī)器人和外面的各種數(shù)據(jù)(比如數(shù)據(jù)庫、文件等)輕松“牽手”,讓它們更好地一起工作,就像讓機(jī)器人有了更多“知識(shí)庫”和“工具箱”。
正如 USB-C 提供了一種將設(shè)備連接到各種配件的標(biāo)準(zhǔn)化方式一樣,MCP 也標(biāo)準(zhǔn)化了AI 應(yīng)用程序連接到不同數(shù)據(jù)源和工具的方式。
圖片
接下來,深入了解一下,請看下面這張圖!
圖片
MCP架構(gòu)由三個(gè)核心組件組成:MCP主機(jī)、MCP客戶端和MCP服務(wù)器。這些組件協(xié)同工作,確保AI應(yīng)用、外部工具和數(shù)據(jù)處理系統(tǒng)之間的安全通信。
1、MCPHost(AI應(yīng)用環(huán)境):如Claude Desktop、Cursor等,運(yùn)行MCP客戶端并管理外部工具交互,提供執(zhí)行AI任務(wù)的環(huán)境。
2、MCP Client(中介層):處理與MCP服務(wù)器的通信,查詢工具功能,管理請求/響應(yīng)及通知。
圖片
3、MCPServer(工具提供方):提供工具、資源和提示的核心功能,支持外部操作、數(shù)據(jù)訪問和預(yù)定義模板。
- 工具(Tools):調(diào)用外部API(如天氣數(shù)據(jù)、情感分析)。
- 資源(Resources):提供結(jié)構(gòu)化/非結(jié)構(gòu)化數(shù)據(jù)(如數(shù)據(jù)庫、云存儲(chǔ))。
- 提示(Prompts):預(yù)定義模板優(yōu)化AI響應(yīng)(如客服話術(shù)、標(biāo)注任務(wù))。
圖片
了解客戶端-服務(wù)器通信對于構(gòu)建您自己的 MCP 客戶端-服務(wù)器至關(guān)重要。
首先,我們來理解一下上面這張圖:
1、客戶端發(fā)送初始請求以學(xué)習(xí)服務(wù)器功能。
2、然后,服務(wù)器使用其功能詳細(xì)信息進(jìn)行響應(yīng)。
3、例如,Weather API 服務(wù)器在被調(diào)用時(shí),可以使用可用的 “tools”、“prompts templates” 和任何其他資源供客戶端使用。
一旦此交換完成,Client 確認(rèn)連接成功并繼續(xù)進(jìn)一步的消息交換。
在傳統(tǒng)的 API 設(shè)置中:
1)如果 API 最初需要兩個(gè)參數(shù)(例如, 天氣服務(wù)的位置
和日期
),則用戶會(huì)集成他們的應(yīng)用程序以使用這些確切參數(shù)發(fā)送請求。
圖片
2)稍后,如果決定添加第三個(gè)必需參數(shù)(例如, 攝氏度或華氏度等溫度單位的單位),則 API 的協(xié)定會(huì)發(fā)生變化。
圖片
3)這意味著 API 的所有用戶都必須更新其代碼以包含新參數(shù)。如果他們不更新,他們的請求可能會(huì)失敗、返回錯(cuò)誤或提供不完整的結(jié)果。
圖片
MCP 的設(shè)計(jì)解決了這個(gè)問題
(1)MCP 引入了一種動(dòng)態(tài)且靈活的方法,與傳統(tǒng) API 形成鮮明對比。
(2)例如,當(dāng)客戶端(例如,像 Claude Desktop 這樣的 AI 應(yīng)用程序)連接到 MCP 服務(wù)器(例如,您的天氣服務(wù))時(shí),它會(huì)發(fā)送一個(gè)初始請求來了解服務(wù)器的功能。
(3)服務(wù)器將響應(yīng)有關(guān)其可用工具、資源、提示和參數(shù)的詳細(xì)信息。例如,如果您的天氣 API 最初支持位置
和日期
,則服務(wù)器會(huì)將這些作為其功能的一部分進(jìn)行傳達(dá)。
圖片
(4)如果稍后添加 unit
參數(shù),則 MCP 服務(wù)器可以在下次交換期間動(dòng)態(tài)更新其功能描述??蛻舳瞬恍枰獙?shù)進(jìn)行硬編碼或預(yù)定義,它只需查詢服務(wù)器的當(dāng)前功能并相應(yīng)地進(jìn)行調(diào)整。
圖片
(5)這樣,客戶端就可以使用更新的功能(例如,在其請求中包含 unit)動(dòng)態(tài)調(diào)整其行為,而無需重寫或重新部署代碼。
我們希望這可以很好地闡明了 MCP 的作用。