For the complete documentation index, see llms.txt. This page is also available as Markdown.

MCP(Model Context Protocol)

MCP(Model Context Protocol)是什麼:AI 應用連接外部工具與資料來源的開放協定,運作原理、核心價值,以及在 MaiAgent 用 MCP 工具接 MCP Server。

MCP 相關頁面怎麼讀:先看本頁的概念 → 在 Agent 掛上 MCP 工具的後台操作,見使用者手冊的建立 MCP 工具 → 自家系統要做成 MCP Server,見自架 MCP Server 接入規格;改用 Composio、Zapier 等託管服務,見Remote MCP 服務概述 → 反方向,讓 Claude、Cursor 等 AI 工具操作 MaiAgent,見MaiAgent MCP。

MCP 是什麼?

MCP,全名為 Model Context Protocol,中文為模型上下文協定,是 AI 應用程式連接外部工具與資料來源的開放協定。支援 MCP 的應用程式,不論背後使用 Anthropic Claude、OpenAI GPT 或 Google Gemini 等哪一種大型語言模型,都能用同一套規則連接 MCP 伺服器提供的工具。

MCP 能協助什麼?

透過 MCP,LLM 除了回答問題,還可以取得外部資料、操作外部系統:

即時連接外部資料源

  • 存取資料庫

  • 讀取檔案系統

  • 串接雲端服務

主動調用工具

  • 執行程式碼

  • 操作應用程式


MCP 的運作原理

MCP 的運作原理如下圖所示,分為:

區塊
說明

使用者端 (Frontend)

使用者透過 UI 或 SDK 發出指令

AI 模型層

LLM 依工具定義決定要呼叫的工具與參數,由應用程式中的 MCP Client 轉成 MCP 請求送出

協定層 (MCP)

以 JSON-RPC 2.0 傳遞訊息,以 JSON Schema 描述工具參數,並定義 stdio 與 Streamable HTTP 等傳輸方式 JSON-RPC 2.0 是一種通訊協定,要傳遞的資訊將以 JSON 格式定義「請求與回應」的結構,讓 LLM 能使用相同的語言與各種程式溝通。

MCP Servers

接收模型請求並與實際工具或資料系統互動 除了自行架設 MCP Servers 服務外,您也可以透過 Remote MCP 服務,串聯 LLM 與其他服務。

外部系統

各種真實世界的資源:資料庫、API、Git、檔案系統等

MCP 運作流程圖示

透過這樣的流程,應用程式只要實作一次 MCP Client,就能連接各種 MCP 伺服器提供的工具。

MCP 使用案例

案例一:透過 MCP 整理 Google Drive 檔案—文件搜尋及摘要

透過自然語言告知 LLM 任務內容:

幫我找出 Google Drive 中所有關於『2024 年度預算』的文件,並整理成摘要報告

LLM 依需求判斷要呼叫的 MCP 工具,例如 search_files。以下工具名稱與結果皆為示意。

MCP 運作流程:

AI 實際執行動作:

  1. 🔍 搜尋包含「2024年度預算」關鍵字的文件

  2. 📄 讀取找到的 5 個文件內容

  3. 🧠 分析各文件重點

  4. 📊 生成統整摘要報告

  5. 💡 提供預算分析建議

使用者得到的結果:


案例二:透過 MCP 串聯 Google Sheet、Slack—排程產生每周報表,傳送至群組

LLM 可以透過 MCP 串聯多個外部服務工具,流程如下圖所示:

透過排程服務每週觸發 LLM 執行相同查詢任務內容:

LLM 依需求判斷要呼叫的 MCP 工具,例如 search_sheet、query_sheet(示意)。在 MaiAgent 可用代理排程定期觸發 Agent 執行這類任務。

Agent 每週處理流程:

  1. 🔍 搜尋「銷售資料」試算表

  2. 📄 讀取試算表數值內容

  3. 📊 根據需求生成統整摘要報告,如:平均營收、同期比較成長幅度等

  4. 💡 自動發送彙整結果至 Slack 頻道內


MCP 的核心價值

🧠 LLM 提供智慧

  • 理解自然語言

  • 推理與決策

  • 知識整合

  • 創意生成

  • 異常偵測

  • 預測分析

📡 MCP 提供能力

  • 連接各種工具

  • 執行實際操作

  • 跨系統整合

  • 標準化通訊

LLM 負責理解需求與決定下一步,MCP 負責以標準方式連接工具;兩者搭配,LLM 才能在對話中查資料、執行操作。MCP 協定規範的是連線與授權流程;連上的工具實際能做什麼,取決於 MCP 伺服器的實作,以及授權給它的帳號有哪些權限。


在 MaiAgent 使用 MCP

MaiAgent 是 MCP Client:在後台建立 MCP 工具、填入伺服器網址並綁定到 Agent 後,Agent 就能呼叫伺服器提供的工具。反方向讓 Claude、Cursor 等 AI 工具操作 MaiAgent,見 MaiAgent MCP。

支援的傳輸方式

MaiAgent 只連線遠端的 MCP 伺服器,依網址判斷傳輸方式:路徑結尾為 /sse、路徑中含 /sse/,或 query string 帶 transport=sse 時走 SSE,其餘一律走 Streamable HTTP。

傳輸方式
說明
MaiAgent 是否支援

Streamable HTTP

MCP 規格的標準傳輸:每則訊息以 HTTP POST 送到單一端點,回應可以是 JSON 或串流

✅

SSE(HTTP with SSE)

2024-11-05 版規格的傳輸方式,以 Server-Sent Events 串流伺服器訊息

✅

stdio

MCP 規格的標準傳輸:由用戶端在本機啟動伺服器程序(例如 npx),透過標準輸入輸出通訊

❌

WebSocket 等自訂傳輸

不在 MCP 規格的標準傳輸中

❌

不支援 stdio,是因為平台不會在伺服器上啟動 npx、node 等本機指令。只提供 stdio 版本的 MCP 伺服器,需要改用服務商的遠端版本,或自行部署成 HTTP 服務。自架 MCP Server 的傳輸方式、URL 與驗證要求詳見 自架 MCP Server 接入規格。

圖形介面快速整合

MaiAgent 提供圖形化介面,不需撰寫程式碼即可接入遠端 MCP 伺服器:在後台新增 MCP 工具時,只要填入伺服器網址與驗證方式(固定金鑰填在標頭,或選擇 OAuth 連接器),再從伺服器回傳的工具清單選擇允許 Agent 使用的工具。

如何建立 MCP 工具,請參考:使用者手冊—建立 MCP 工具

平台的處理方式

  • 工具範圍:只有 MCP 工具「允許的工具 (JSON 數組)」中開啟的工具會交給模型;伺服器新增的工具不會自動開放。

  • 逾時與重試:MCP session 的讀取逾時為 30 秒;連線中斷等暫時性錯誤只對重送也安全的工具自動重試。

  • 紀錄:每次呼叫都會寫入工具執行紀錄,可在 AgentOps → 工具執行紀錄 查詢。

  • 連線驗證:直接填網址的 MCP 工具在儲存時就會連線伺服器並取回工具清單,連不上會顯示「MCP 工具驗證失敗」,不會存成半套;OAuth 連接器的工具則在完成授權後取回清單。操作見使用者手冊 建立 MCP 工具。

排查 unhandled errors in a TaskGroup

工具執行紀錄的錯誤訊息出現 unhandled errors in a TaskGroup (1 sub-exception) 時,這不是一種獨立的錯誤:MCP 用戶端把 session 跑在非同步工作群組裡,連線中斷、讀取逾時、伺服器關閉連線等傳輸層錯誤會被包成這個外層訊息,真正的原因在括號後的 sub-exception。排查順序:

  1. 到 AgentOps → 工具執行紀錄 打開該筆紀錄,看 errorMessage 的完整內容與 status(timeout 代表 30 秒內沒有回應)。

  2. 傳輸層錯誤平台會自動重試;重試後仍失敗,先確認伺服器網址可從公網連線、協定(SSE/Streamable HTTP)與伺服器一致、標頭或 OAuth 授權仍有效。

  3. 若 sub-exception 是伺服器回的應用錯誤(例如工具回報參數不合法),平台不會重試;請用同一組參數直接呼叫您的 MCP 伺服器重現。

  4. 在工具設定頁重新「取得工具清單」能成功,代表連線與認證正常,問題多在該工具執行時的逾時或伺服器端錯誤。

使用 Composio、Zapier 等託管服務時的注意事項,見 Remote MCP 服務概述。

最後更新於

這有幫助嗎?