MCP 架構組件

MCP 架構組件

Model Context Protocol (MCP) 建立在客戶端-服務器架構上,該架構支援 AI 模型與外部系統之間的結構化通信。
MCP 架構組件

客戶端-服務器架構

Model Context Protocol (MCP) 建立在客戶端-服務器架構上,該架構支援 AI 模型與外部系統之間的結構化通信。

三大核心組件

MCP 架構由三個主要組件組成,每個組件都有明確定義的角色和責任:

MCP 三大核心組件

1. 主機 (Host)

使用者直接使用的 AI 應用程式,如 ChatGPT 或 Cursor。負責處理使用者請求、介面呈現和整體協調。

  • 🎯 主要責任:用戶交互界面、請求路由、結果呈現
  • 🔄 特性:可同時管理多個客戶端連接

2. 客戶端 (Client)

主機內的組件,負責與服務器通信。一個客戶端只連接一個服務器,但主機可有多個客戶端。

  • 🔗 主要責任:協議谈判、消息傳輸、連接管理
  • ⚙️ 特性:1:1 關係(一個客戶端對一個服務器)

3. 服務器 (Server)

提供外部功能的程式,如搜尋引擎、數據庫連接或檔案操作等。可在本地或遠端運行。

  • 🔧 主要責任:執行具體功能、返回結果、管理狀態
  • 🌐 特性:獨立部署,支援多個客戶端連接
MCP 服務器架構

MCP 通信流程

下面展示了 MCP 組件之間的通信流程:

  1. 👤 使用者向 AI 應用提交問題或請求
  2. 🧠 主機判斷使用者意圖,確定需要哪些外部功能
  3. 📞 主機呼叫客戶端連接到適當的服務器
  4. ⚙️ 客戶端請求服務器執行特定功能
  5. 🏃 服務器執行功能(如搜尋、計算、呼叫 API 等)
  6. 📦 結果返回給客戶端
  7. 🔄 客戶端將結果傳送回主機
  8. 🎉 主機將結果整合到回應中呈現給使用者
MCP 通信流程

總結

MCP 的架構設計提供了明確的責任分離:Host 負責統籌協調,Client 負責通信協議,Server 負責具體功能。這種模塊化設計使得整個系統具有優秀的可擴展性和維護性。

這樣的設計有助於:

  • 提高系統的可擴展性和靈活性
  • 簡化開發和維護流程
  • 促進生態系統的協作和互操作性

參考資料

1 Model Context Protocol Specification. “Specification — Model Context Protocol.” https://modelcontextprotocol.io/specification/2025-03-26

2 OpenAI Agents SDK. “Model Context Protocol (MCP).” https://openai.github.io/openai-agents-python/mcp/

3 Phil Schmid. “Model Context Protocol (MCP) — An Overview.” https://www.philschmid.de/mcp-introduction

4 Anthropic API Docs. “Model Context Protocol (MCP).” https://docs.anthropic.com/en/docs/mcp

5 Wikipedia. “Model Context Protocol.” https://en.wikipedia.org/wiki/Model_Context_Protocol

6 Anthropic API Docs. “Model Context Protocol (MCP) — Use Claude Code as an MCP Server.” https://docs.anthropic.com/en/docs/claude-code/mcp

7 GitHub. “Specification and Documentation for the Model Context Protocol.” https://github.com/modelcontextprotocol/modelcontextprotocol