
客戶端-服務器架構
Model Context Protocol (MCP) 建立在客戶端-服務器架構上,該架構支援 AI 模型與外部系統之間的結構化通信。
三大核心組件
MCP 架構由三個主要組件組成,每個組件都有明確定義的角色和責任:

1. 主機 (Host)
使用者直接使用的 AI 應用程式,如 ChatGPT 或 Cursor。負責處理使用者請求、介面呈現和整體協調。
- 🎯 主要責任:用戶交互界面、請求路由、結果呈現
- 🔄 特性:可同時管理多個客戶端連接
2. 客戶端 (Client)
主機內的組件,負責與服務器通信。一個客戶端只連接一個服務器,但主機可有多個客戶端。
- 🔗 主要責任:協議谈判、消息傳輸、連接管理
- ⚙️ 特性:1:1 關係(一個客戶端對一個服務器)
3. 服務器 (Server)
提供外部功能的程式,如搜尋引擎、數據庫連接或檔案操作等。可在本地或遠端運行。
- 🔧 主要責任:執行具體功能、返回結果、管理狀態
- 🌐 特性:獨立部署,支援多個客戶端連接

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

總結
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