iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
生成式 AI

一塊一塊拼湊的 AI 樂高世界之旅系列 第 23

[Day 22] MCP 架構解析 - 模型、伺服端、客戶端的協作藍圖

  • 分享至 

  • xImage
  •  

前言

如果說 MCP 是一種讓 AI 工具之間能「說同一種語言」的標準,那麼要真正理解它,不能只看協議層。
在 Stdio 與 StreamHTTP 的底下,MCP 有一個極具巧思的架構設計,讓「AI 模型、伺服端、客戶端」能以模組化方式協作——就像網際網路時代的瀏覽器與網站、伺服器的分工邏輯一樣。

今天,我們要拆解這三個角色:Model(模型端)、Server(伺服端)、Client(客戶端),
看看它們如何共同構成 MCP 的生態骨架。

Client:AI 的「前端使用者介面」

在 MCP 世界裡,Client 是最貼近使用者的一層。
它負責與人互動、接收輸入、呈現輸出——但真正的邏輯與工具操作,往往在背後的 Server 完成。

以 ChatGPT 為例,當你在對話中輸入一個指令(例如「幫我分析這個 JSON」),
ChatGPT 作為 MCP Client,會根據上下文判斷這是否屬於某個外部工具能處理的任務。
若是,它就會透過 MCP 協定呼叫一個對應的 Server,將需求轉譯成 JSON-RPC 格式的請求,再等待回傳結果。

Client 的職責不只是「傳遞」資料,更重要的是「上下文封裝與轉譯」——
讓模型能理解人類語意,並轉化成 MCP Server 可以執行的結構化任務。
它是整個架構中「人與 AI 工具之間」的橋樑。

Server:AI 的「工具執行引擎」

如果把 Client 比喻成前端,那 MCP 的 Server 就是後端。
它是實際執行邏輯、處理資料、回傳結果的那一層。

MCP Server 通常是一個可以獨立運作的應用程式——
它可以是 Python、Node.js、Rust 任意語言撰寫,只要遵循 MCP 的通訊協定(Stdio 或 StreamHTTP)即可。

Server 負責定義「有哪些可呼叫的工具(tools)」與「這些工具能處理什麼任務」。
每個工具都像是一個微服務,例如:

  • analyze_code:接收一段程式碼,回傳語法診斷結果

  • translate_text:將輸入內容翻譯成指定語言

  • search_doc:在本地資料庫中搜尋技術文件

這些工具都會在 Server 的設定檔(如 manifest.json 或 config.json)中註冊,
讓 MCP Client 能自動發現(discover)並呼叫它們。

從設計哲學來看,MCP Server 代表了**AI 工具化(Toolization)**的概念。
每一個 MCP Server 都是可以被任意模型使用的「通用模組」,
而模型不再需要內建所有功能,只要學會如何呼叫這些 MCP Server,就能動態擴展能力。

Model:AI 的「智慧中樞」

在 MCP 架構中,Model 是整個流程的智慧核心。
它負責理解語意、決策策略,並判斷什麼任務該交由哪個 MCP Server 處理。

例如,當使用者說:「幫我根據這段 PDF 內容生成會議摘要」,
模型的任務不是直接處理 PDF,而是推理出要:

  1. 呼叫文件分析工具(pdf_reader)取得文本;

  2. 呼叫摘要工具(summarizer)生成報告;

  3. 回傳結果給使用者。

在這個過程中,模型就像是指揮者,而 MCP Server 是樂團的樂手。
它們共同依靠協定保持節奏一致。

而這正是 MCP 最革命性的地方:模型不再只是「生成內容」,而是能「調用外部工具、執行任務、整合上下文」的智能中樞。

Context Provider:隱藏的第四角色

除了這三個主要角色,MCP 還有一個經常被忽略的成員:Context Provider。
它負責提供背景資料(context)給模型,例如:

  • 目前使用者開啟的檔案
  • 系統環境變數
  • 工作目錄內容
  • 專案設定或歷史紀錄

舉例來說,VS Code 的 MCP Client 可以自動將目前專案目錄與開啟檔案的內容傳給模型,
讓 AI 在回答時能理解「我現在在哪個專案、這段程式屬於哪個模組」,從而提供更準確的建議。

這樣的設計讓 MCP 超越了單純的 API 互動,
變成一個能真正「理解工作上下文」的智慧框架。

三層架構的協作流程

  1. 使用者在 Client 輸入指令:ChatGPT 或 VS Code AI Assistant 接收輸入。
  2. Model 理解意圖並規劃任務:決定要呼叫哪個 MCP Server 的哪個 tool。
  3. Client 發送請求給 Server(Stdio / StreamHTTP):封裝成 JSON-RPC 請求傳輸。
  4. Server 執行任務並回傳結果:例如回傳翻譯文字、程式分析結果、報表摘要。
  5. Client 呈現結果並更新上下文:使用者得到回饋,模型持續學習上下文。

這是一個閉環的智慧互動過程。
MCP 不僅讓 AI 能「執行命令」,更讓它能「理解工作流程」,
而這正是傳統 Plugin 或 API 所做不到的。

為什麼這樣的架構重要?

MCP 的三層架構帶來三個關鍵影響:

  1. 模組化與可擴展性:不同開發者能各自開發 MCP Server,形成生態系。
  2. 語意與執行分離:模型專注於理解與決策,Server 專注於執行與資料。
  3. 上下文一致性:Context Provider 確保模型始終知道自己「在哪裡、在做什麼」。

結語

MCP 的世界不只是讓模型變聰明,而是讓整個應用環境都能聰明地協作。
Client 是門面、Model 是大腦、Server 是手腳,而 Context 則是記憶與感知。

這樣的分工讓 AI 不再像單一應用,而更像是一個「智慧網絡」。
當越來越多開發者開始撰寫自己的 MCP Server,
MCP 將成為 AI 世界的下一個「HTTP」——
連接一切智慧的骨幹,開啟真正的多智能體時代。

下一篇我們會開始進入到實作,敬請期待唷~


上一篇
[Day 22] 深入 MCP 的核心—Stdio 與 StreamHTTP:AI 通訊的新語言
系列文
一塊一塊拼湊的 AI 樂高世界之旅23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言