目錄
🏗? MCP 架構全解析:Host、Client 與 Server 的協同機制
📌 引言
🧩 核心架構組件
1. Host(主機)
2. Client(客戶端)
3. Server(服務器)
🔧 三大核心能力
1. Tools(工具)
2. Resources(資源)
3. Prompts(提示)
🔄 通信機制
🧠 工作流程示例
🚀 應用場景
🏗? MCP 架構全解析:Host、Client 與 Server 的協同機制
📌 引言
在人工智能應用日益復雜的今天,如何高效地將大型語言模型(LLM)與外部數據源和工具集成,成為了開發者面臨的重要挑戰。模型上下文協議(MCP)應運而生,提供了一種標準化的方式,簡化了這一集成過程。
🧩 核心架構組件
MCP 采用了典型的客戶端-服務器架構,主要包括以下三個核心組件: (Model Context Protocol)
1. Host(主機)
Host 是運行 MCP 客戶端的應用程序,通常是用戶直接交互的界面,如 Claude Desktop、集成開發環境(IDE)或其他 AI 工具。它負責管理 MCP 客戶端的生命周期,并協調與服務器的通信。
2. Client(客戶端)
Client 嵌入在 Host 中,負責與 MCP Server 建立連接并進行通信。每個 Client 與一個 Server 建立一對一的連接,處理能力協商,并在自身和服務器之間協調消息傳遞。 (MCP 核心概念 -- Resources(上),官方原文分析 - 知乎, 模型上下文協議MCP - AiFly - 博客園)
3. Server(服務器)
Server 是外部程序,通過標準 API 向 AI 模型暴露工具、資源和提示。它連接內部或外部資源,按照 MCP 協議對外提供服務。
🔧 三大核心能力
MCP Server 可以提供以下三種類型的標準能力:
1. Tools(工具)
Tools 是模型可調用的函數或服務,用于執行特定任務。例如,模型可以調用一個天氣查詢工具,獲取指定城市的天氣信息。
2. Resources(資源)
Resources 是供模型讀取的數據源,如文件數據或 API 響應內容。它們為模型提供了豐富的上下文信息,增強了模型的理解能力。
3. Prompts(提示)
Prompts 是預定義的模板,用于指導模型生成特定內容。它們可以接受動態參數,包含資源上下文,鏈式多個交互,引導特定工作流程,并作為用戶界面元素(如斜杠命令)呈現。 (Prompts - Model Context Protocol)
🔄 通信機制
MCP 支持兩種通信機制:
-
標準輸入輸出(stdio):適用于本地通信,客戶端通過啟動 Server 子進程,通過標準輸入輸出進行消息交換。
-
HTTP + SSE(Server-Sent Events):適用于遠程通信,客戶端通過 HTTP POST 發送請求,Server 通過 SSE 推送響應。
消息傳輸采用 JSON-RPC 2.0 格式,支持請求(Request)、結果(Result)、錯誤(Error)和通知(Notification)等消息類型。
🧠 工作流程示例
以下是 MCP 的典型工作流程:
-
初始化:Host 應用啟動時,創建 MCP Client,并與 Server 進行能力協商。 (Model Context Protocol (MCP) an overview - Philschmid)
-
能力發現:Client 請求 Server 提供的 Tools、Resources 和 Prompts,Server 返回相應的列表和描述。 (Model Context Protocol (MCP) an overview - Philschmid)
-
上下文提供:Host 應用將資源和提示提供給用戶,或將工具解析為 LLM 兼容的格式,如 JSON 函數調用。 (Model Context Protocol (MCP) an overview - Philschmid)
-
調用執行:如果 LLM 需要使用某個工具(例如,根據用戶請求“獲取 X 倉庫的未解決問題”),Host 指示 Client 向相應的 Server 發送調用請求。 (Model Context Protocol (MCP) an overview - Philschmid)
-
結果返回:Server 執行請求的操作(例如,調用 GitHub API 獲取問題列表),并將結果返回給 Client。 (Model Context Protocol (MCP) an overview - Philschmid)
-
響應生成:Client 將結果傳遞給 Host,Host 將其納入 LLM 的上下文中,生成最終的響應。 (Model Context Protocol (MCP) an overview - Philschmid)
🚀 應用場景
MCP 的標準化設計使其在多個領域具有廣泛的應用前景,包括:
-
企業數據集成:通過 MCP,AI 模型可以訪問企業內部的數據庫和工具,實現智能化的數據分析和業務決策支持。
-
智能助手開發:構建功能豐富的 AI 助手,能夠根據用戶的需求調用不同的工具和資源,提供個性化的服務。
-
跨平臺應用:MCP 的標準化設計使得 AI 應用可以在不同的平臺和環境中部署,提升了系統的靈活性和可移植性。