Logo

新人日誌

首頁關於我部落格

新人日誌

Logo

網站會不定期發佈技術筆記、職場心得相關的內容,歡迎關注本站!

網站
首頁關於我部落格
部落格
分類系列文

© 新人日誌. All rights reserved. 2020-present.

MCP 入門(中):Host、Client、Server 三大角色與運作架構解析

最後更新:2025年12月2日架構

上一篇我們聊了 MCP 是什麼、為什麼會出現。這篇要來拆解 MCP 架構裡最重要的三個角色:Host、Client、Server。

別被這些英文名詞嚇到,其實概念很簡單。這篇會用白話的方式,讓你一次搞懂它們各自在幹嘛、怎麼合作。

搞懂這三個角色,你就掌握了 MCP 的核心邏輯!

整體運作流程

flowchart LR
    subgraph HOST[MCP HOST]
        C1[MCP Client]
        C2[MCP Client]
        C3[MCP Client]
    end

    MCP[MCP<br/>協議]

    C1 --- MCP
    C2 --- MCP
    C3 --- MCP

    MCP --- S1[MCP Server]
    MCP --- S2[MCP Server]
    MCP --- S3[MCP Server]

    S1 -->|TCP| DB[(MySQL)]
    S2 -->|NFS| FS[File System]
    S3 -->|HTTPS| NET[Internet]

重點是中間那個「MCP 協議」——不管是什麼工具、什麼 AI,大家都講同一種語言,溝通起來就順暢多了。

Host:執行 AI 並管理工具連線的程式

它是誰?

Host 是負責執行 AI 模型、並管理所有 MCP Client 連線的程式。

常見例子

  • Claude Desktop App(桌面版 Claude)
  • Claude Code CLI(命令列的 AI 編程工具)
  • Cursor、Windsurf 這類內建 AI 的編輯器
  • 你自己開發的 AI 應用

補充:Host 不一定是你看到的介面

舉個例子,如果你在 VSCode 的終端機裡執行 Claude Code CLI:

  • Claude Code CLI 才是 Host
  • VSCode 只是提供執行環境
  • 終端機只是顯示介面

關鍵在於:誰在執行 AI、誰在管理工具連線,誰就是 Host。

它負責什麼?

  1. 執行 AI 模型:處理你的問題,產生回應
  2. 協調工具呼叫:決定什麼時候該叫外部工具來幫忙
  3. 管理 Client 連線:可以同時維護多個 Client,連接不同的 Server

Host 本身不會直接操作外部工具,而是透過 Client 去呼叫 Server 來完成任務。

Client:Host 和 Server 之間的通訊模組

它是誰?

Client 是 Host 內部負責「對外溝通」的元件。

當 Host 需要使用某個外部工具時,不會自己直接去連線,而是交給 Client 來處理。Client 負責跟 Server 建立連線、傳送請求、接收回應。

你在使用 AI 應用時不會直接看到 Client,它是在背後運作的程式邏輯。

它負責什麼?

  1. 建立並維護連線:跟特定的 Server 建立連線,並保持這條連線暢通
  2. 雙向轉換格式:
  • 發送時:把 Host 的請求轉成 MCP 格式,送給 Server
  • 接收時:把 Server 的 MCP 回應轉成 Host 能理解的格式
  1. 記錄 Server 的能力:連線時會先詢問這個 Server 能做哪些事,之後 Host 才知道可以呼叫什麼工具

重要觀念:一對一連線

一個 Client 只會連接一個 Server。

如果 Host 需要用到三種不同的工具,它就會建立三個 Client,各自負責一個 Server 的連線。

flowchart LR
    subgraph HOST[Claude Code CLI - Host]
        CA[Client A]
        CB[Client B]
        CC[Client C]
    end

    CA --> S1[chrome-mcp<br/>瀏覽器工具]
    CB --> S2[github-mcp<br/>GitHub 工具]
    CC --> S3[slack-mcp<br/>Slack 工具]

那「多個 Client」是什麼意思?

這裡說的多個 Client,是指多個 Client 實例(instance)。

它們都是同一套程式邏輯,只是各自負責一條連線。這些都是 Host 自動處理的,你不用管。

為什麼這樣設計?

每個 Client 專心處理一個 Server 的連線,不會互相干擾,也比較好管理。

補充:Client 是通用的,不需要額外安裝

Client 就是一段「通用的通訊程式碼」,它不在乎對面的 Server 是做什麼的,反正大家都講 MCP 這個語言。

所以你不需要安裝什麼「GitHub Client」或「SQL Client」。只要 Host 支援 MCP,Client 就內建了。

Server:提供特定功能的外部工具

它是誰?

Server 是一個獨立運作的程式,專門提供某種特定功能給 AI 使用。

Server 本身不是 AI,而是 AI 可以呼叫的「工具」。它可能是操作瀏覽器的程式、存取資料庫的程式、或是連接某個網路服務的程式。

常見例子

  • chrome-mcp:讓 AI 可以操控瀏覽器、截圖、填表單
  • github-mcp:讓 AI 可以操作 GitHub,像是建 PR、看程式碼
  • slack-mcp:讓 AI 可以讀取和發送 Slack 訊息
  • database-mcp:讓 AI 可以查詢資料庫
  • filesystem-mcp:讓 AI 可以讀寫本機檔案

它負責什麼?

  1. 接收 Client 的請求:當 Client 發送 MCP 格式的請求過來,Server 負責解讀並執行
  2. 執行實際操作:真正去操作外部服務,例如查資料庫、呼叫 API、操作瀏覽器
  3. 回傳執行結果:把結果用 MCP 格式回傳給 Client

Server 和外部服務的關係

Server 是「中間層」,它一邊用 MCP 協議跟 Client 溝通,另一邊用各種方式跟實際的外部服務溝通:

flowchart LR
    C[Client] <-->|MCP 協議| S[MCP Server]
    S <-->|TCP| DB[(MySQL)]
    S <-->|HTTPS| API[外部 API]
    S <-->|檔案系統| FS[本機檔案]

舉例:database-mcp 怎麼運作?

  • 對 Client:用 MCP 格式溝通
  • 對 MySQL:用 TCP 連線、SQL 語法溝通

這樣 AI 不需要知道怎麼連 MySQL,只要知道怎麼跟 MCP Server 溝通就好。

它的特性

  1. 被動回應:Server 不會主動發送訊息,只有 Client 來請求時才會回應
  2. 功能專一:每個 Server 通常專注做一件事,例如專門操作瀏覽器、專門存取資料庫
  3. 可被多個 Client 連接:同一個 Server 可以同時服務不同的 AI 應用

來看個實際例子

假設你對 Claude 說:「幫我查資料庫裡客戶 A 的資料,然後填到網頁表單裡。」

背後發生了什麼事?

第一步:Host 接收請求

Claude Code CLI 收到你的指令,分析了一下:「嗯,這件事需要查資料庫,還要操作瀏覽器,我得找兩個幫手。」

第二步:派出 Client 去溝通

sequenceDiagram
    participant Host as Claude Code CLI
    participant C1 as Client A
    participant DB as database-mcp
    participant C2 as Client B
    participant Chrome as chrome-mcp

    Host->>C1: 查客戶 A 的資料
    C1->>DB: 請求查詢
    DB-->>C1: 回傳資料(姓名、電話、地址)
    C1-->>Host: 收到資料

    Host->>C2: 把資料填到網頁表單
    C2->>Chrome: 請求填寫表單
    Chrome-->>C2: 完成
    C2-->>Host: 填寫成功

第三步:回報結果

Claude 跟你說:「好了!我已經把客戶 A 的資料填到表單裡了。」

重點整理

整個過程你只下了一個指令,但背後 AI 調度了多個工具協同完成任務。這就是 MCP 架構厲害的地方。

去哪裡找 MCP Server?

了解了 Host、Client、Server 的概念後,你可能會問:「那我要去哪裡找可以用的 MCP Server?」

好消息是,目前已經有很多 MCP Server 目錄網站,讓你可以輕鬆找到需要的工具。

官方資源

Anthropic 官方 GitHub

網址:github.com/modelcontextprotocol/servers

這是 Anthropic 官方維護的 MCP Server 列表,包含:

  • 官方整合:Google Drive、Slack、GitHub、Git、Postgres、Puppeteer 等
  • 社群貢獻:由開發者社群維護的各種 Server

官方 Server 的品質和穩定性通常比較有保障,適合初學者入門。

第三方市集

mcp.so

網址:mcp.so

目前收錄超過 17,000 個 MCP Server,是規模最大的第三方市集。你可以依照功能分類瀏覽,也可以直接搜尋關鍵字。

MCP Market

網址:mcpmarket.com

提供分類清楚的 MCP Server 目錄,分類包括:

  • Developer Tools(開發工具)
  • Database Management(資料庫管理)
  • Web Scraping(網頁爬蟲)
  • Browser Automation(瀏覽器自動化)
  • Collaboration Tools(協作工具)
  • 以及更多…

PulseMCP

網址:pulsemcp.com

每日更新的 MCP Server 目錄,收錄超過 6,800 個 Server。

Awesome MCP Servers

網址:mcpservers.org

社群維護的精選 MCP Server 列表,有網頁版方便瀏覽,也有對應的 GitHub 儲存庫。

常見的 MCP Server 分類

分類功能常見例子
瀏覽器自動化操控瀏覽器、截圖、填表單Puppeteer、Playwright、Chrome DevTools
資料庫查詢和操作資料庫Postgres、MySQL、MongoDB
檔案系統讀寫本機檔案Filesystem
版本控制操作 Git、GitHubGit、GitHub
雲端儲存存取雲端檔案Google Drive、S3
通訊軟體收發訊息Slack、Discord、Telegram
API 整合連接各種第三方服務Stripe、Notion、Airtable
功能操控瀏覽器、截圖、填表單
常見例子Puppeteer、Playwright、Chrome DevTools
功能查詢和操作資料庫
常見例子Postgres、MySQL、MongoDB
功能讀寫本機檔案
常見例子Filesystem
功能操作 Git、GitHub
常見例子Git、GitHub
功能存取雲端檔案
常見例子Google Drive、S3
功能收發訊息
常見例子Slack、Discord、Telegram
功能連接各種第三方服務
常見例子Stripe、Notion、Airtable

總結

三個角色一句話記住

  • Host:執行 AI 並管理工具連線的程式
  • Client:Host 內部的通訊模組,負責跟特定 Server 溝通
  • Server:提供特定功能的外部工具,被 AI 呼叫來做事

它們的關係

flowchart LR
    subgraph HOST[Host]
        C1[Client]
        C2[Client]
        C3[Client]
    end

    C1 <--> S1[Server]
    C2 <--> S2[Server]
    C3 <--> S3[Server]

MCP 的核心價值

統一了 AI 和工具之間的溝通方式。

  • 工具開發者只要寫一個 MCP Server,所有支援 MCP 的 AI 都能用
  • AI 應用開發者只要支援 MCP,就能接上所有 MCP Server

下一篇預告

了解了架構,下一篇我們要動手實作:

  • 怎麼安裝和設定 MCP Server
  • MCP 訊息格式長什麼樣子
  • 自己寫一個簡單的 MCP Server

有問題歡迎留言,我們下篇見!

目前還沒有留言,成為第一個留言的人吧!

發表留言

留言將在審核後顯示。

架構

目錄

  • 整體運作流程
  • Host:執行 AI 並管理工具連線的程式
  • 它是誰?
  • 它負責什麼?
  • Client:Host 和 Server 之間的通訊模組
  • 它是誰?
  • 它負責什麼?
  • 重要觀念:一對一連線
  • 補充:Client 是通用的,不需要額外安裝
  • Server:提供特定功能的外部工具
  • 它是誰?
  • 它負責什麼?
  • Server 和外部服務的關係
  • 它的特性
  • 來看個實際例子
  • 背後發生了什麼事?
  • 重點整理
  • 去哪裡找 MCP Server?
  • 官方資源
  • 第三方市集
  • 常見的 MCP Server 分類
  • 總結
  • 三個角色一句話記住
  • 它們的關係
  • MCP 的核心價值
  • 下一篇預告