實踐》)
MCP是一個開放協(xié)議用于標(biāo)準(zhǔn)化應(yīng)用程序如何向LLM提供上下文。我們可以將MCP想象成AI應(yīng)用程序的USB-C接口。就像USB-C為設(shè)備連接各種外設(shè)和配件提供標(biāo)準(zhǔn)化方式一樣MCP為AI模型連接不同的數(shù)據(jù)源和工具提供了標(biāo)準(zhǔn)化的方式。1. 架構(gòu)設(shè)計MCP核心采用客戶端?服務(wù)器架構(gòu)見圖9.1主機應(yīng)用可以連接多個服務(wù)器。MCP Hosts如Claude Desktop、IDE或AI工具希望通過MCP訪問數(shù)據(jù)的程序。MCP Clients維護(hù)與服務(wù)器一對一連接的協(xié)議客戶端。MCP Servers輕量級程序通過標(biāo)準(zhǔn)的MCP提供特定能力。本地數(shù)據(jù)源MCP服務(wù)器可安全訪問的計算機文件、數(shù)據(jù)庫和服務(wù)。遠(yuǎn)程服務(wù)MCP服務(wù)器可連接的互聯(lián)網(wǎng)上的外部系統(tǒng)如通過API。2. 協(xié)議機制1通信格式采用JSON-RPC2.0協(xié)議定義統(tǒng)一的“請求?響應(yīng)”格式支持上下文查詢Query、操作執(zhí)行Execute、流式更新Stream等標(biāo)準(zhǔn)動作。2通信方式包括本地通信和遠(yuǎn)程通信。本地通信基于標(biāo)準(zhǔn)輸入輸出STDIO適用于同一設(shè)備內(nèi)的快速交互。遠(yuǎn)程通信通過Server-Sent EventsSSE與HTTP結(jié)合實現(xiàn)跨網(wǎng)絡(luò)的實時數(shù)據(jù)傳輸。圖9.1 MCP客戶端?服務(wù)器架構(gòu)3安全機制內(nèi)置權(quán)限管理和加密傳輸支持范圍訪問控制如僅允許檢索數(shù)據(jù)但禁止修改并通過OAuth 2.1實現(xiàn)身份認(rèn)證。3. 核心特性1動態(tài)實時交互支持“拉取觸發(fā)”雙向通信例如智能體在調(diào)整會議日程時可實時同步修改并通知相關(guān)方。2異構(gòu)系統(tǒng)兼容通過輕量級Server作為橋梁可無縫連接本地文件、企業(yè)數(shù)據(jù)庫、云端Slack等不同數(shù)據(jù)源。3模塊化設(shè)計將AI系統(tǒng)拆解為數(shù)據(jù)處理、模型推理等獨立模塊各模塊通過標(biāo)準(zhǔn)化接口實現(xiàn)“即插即用”。