iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
Software Development

AI 驅動的 Code Review:MCP 與 n8n 自動化實踐系列 第 4

[Day 4] MCP 架構解析:Host、Client、Server 關係與三種傳輸模式

  • 分享至 

  • xImage
  •  

MCP 架構解析:Host、Client、Server 關係與三種傳輸模式

前言

昨天我們了解了 MCP 的基本概念和它解決的問題,今天要深入探討 MCP 的架構設計。理解這三個角色的關係與傳輸模式,將有助於我們下一篇進行環境設定時更清楚每個元件的作用。

MCP 三元架構

我的理解心得:
剛開始接觸時,我把 MCP Server 想像成 API Server,它負責獲取外部資源的資料,只是資料交換的格式和協議按照 MCP 標準定義。這樣理解會比較容易入門。

https://ithelp.ithome.com.tw/upload/images/20250907/20121499kB0hW5ebZO.png

三個角色詳細說明

Host(主機應用)

  • 定義:使用 MCP 的主要應用程式
  • 職責:接收使用者請求,呈現 AI 回應結果
  • 實例:Claude Desktop、VSCode、自定義 AI 應用

Client(客戶端)

  • 定義:Host 內部的通訊模組
  • 職責:負責與 MCP Server 建立連線、傳送請求、接收回應
  • 特點:通常內建在 Host 應用中,使用者不會直接接觸

Server(伺服器)

  • 定義:提供特定功能或資源存取的服務
  • 職責:處理來自 Client 的請求,與外部系統互動,回傳標準格式資料
  • 實例:GitLab MCP Server、GitHub MCP Server、檔案系統 MCP Server

三種傳輸模式

MCP 支援三種不同的傳輸模式,適用於不同的部署場景。

Stdio(Standard Input/Output)

  • 機制: Server 透過標準輸入(stdin)和標準輸出(stdout) 與 Client 溝通。
  • 特點:適合 本地執行 的 Server(例如在同一台電腦上跑的程式,不需要額外網路協定,只靠程式輸入輸出通道。延遲低,因為不用透過網路傳輸。
  • 使用情景: 在 VSCode 插件裡直接呼叫本地 MCP Server,我們下一篇的 VSCode 實作就是使用這種方式。

Streaming HTTP

  • 機制: 基於 HTTP/1.1 或 HTTP/2,允許 長時間保持連線,並持續傳輸分段的資料。
  • 特點:支援 即時傳輸,例如 LLM token-by-token 的回覆。
  • 使用情景:跨網路連線,未來我們要介紹的 n8n 方案會使用這種方式。

需要 持續更新 資料的應用(如即時交易數據)。

SSE

  • 機制:使用 HTTP 單向通道,由 Server 主動推送事件資料給 Client。
  • 特點: Client 發出一次 HTTP 請求,Server 就能不斷推送訊息,單向(Server → Client),不像 WebSocket 是雙向。
  • 使用情景 即時通知(像 GitHub Actions log 更新),狀態追蹤(例如 job 執行狀態持續回報)。

小結

今天理解的重點有 2 個:

  • 三角關係: Host、Client、Server 各司其職,透過標準協議互動
  • 傳輸模式: stdio 本機模式於下篇 VS Code 實作,HTTP Streaming 網路模式,適合雲端服務(後續 n8n 實作)

明天預告:
VSCode + MCP 環境建置實戰 - 啟動 gitlab mcp server。


上一篇
[Day 3] 什麼是 MCP?Model Context Protocol 誕生背景與核心概念
系列文
AI 驅動的 Code Review:MCP 與 n8n 自動化實踐4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言