# Remote MCP 服務概述

> 本文件旨在協助已對模型情境協定 (MCP) 有基礎概念的讀者，深入探討 **Remote MCP 雲端服務**。

## 1. 為何選擇 Remote MCP 服務？

相較於傳統自行架設工具整合服務，Remote MCP 服務提供了顯著的優勢：

| 考量面向       | 傳統自行架設方案                      | Remote MCP 雲端服務                              |
| ---------- | ----------------------------- | -------------------------------------------- |
| **基礎設施**   | 需自行部署、維護及擴展後端服務               | 由雲端供應商專業託管，保障高可用性、自動擴展及安全合規。                 |
| **身份驗證**   | 身份驗證與授權流程 (如 OAuth) 需自行開發與維護。 | 供應商通常提供 **託管式驗證 (Managed Auth)** 及安全的憑證儲存服務。 |
| **工具生態**   | 可用工具集較為受限，擴充新工具需自行開發整合。       | 通常已整合上百至數千種現成的工具與 Actions，大幅加速開發進程。          |
| **維護與相容性** | 需自行處理工具版本升級、API 相容性等問題。       | 平台方持續更新並維護相容性，客戶端應用通常無需修改程式碼即可受益。            |

常見應用場景：

* **個人任務助理**：直接呼叫 GitHub、Slack、Linear 等開發者常用服務，實現程式碼生成、問題追蹤、自動合併請求 (Pull Request) 等功能。
* **智慧客服與工單系統整合**：AI 客服透過 Remote MCP 即時查詢客戶資料、在 Zendesk 或 Salesforce Service Cloud 等系統中建立或更新工單、甚至執行退款等客戶服務操作。
* **自動化行銷活動執行**：行銷人員可透過自然語言指示 AI，使其經由 Remote MCP 操作 HubSpot 等行銷自動化平台，例如：新增潛在客戶名單、發送個性化行銷郵件、或動態調整廣告投放策略。
* **Google Workspace 自動化**：AI 助理透過 Remote MCP 讀取/撰寫 Gmail 郵件、管理 Google Calendar 日程、在 Google Drive 中搜尋/管理文件、或在 Google Sheets 中讀取/更新數據，實現個人或團隊的辦公自動化。

***

## 2. Remote MCP 服務的典型架構

```mermaid
flowchart TD
    Agent["LLM / AI 助理"]
    Server["Remote MCP 伺服器 (雲端託管)"]
    SDK["客戶端 SDK"]
    Vault["憑證保險庫 (Credentials Vault)"]
    Runner["工具執行器 (Tool Runner) & 連接器 (Connectors)"]

    Agent -- "WebSocket / SSE (串流會話)" --- Server
    Agent -. "JSON Tool Schema & 驗證資訊" .- Server

    SDK -- "HTTPS (安全請求)" --> Vault
    Vault -- "gRPC / 安全通道" --> Runner
    Server --> Vault
    Server --> Runner
```

### 2.1 客戶端 / AI 助理 SDK (Client / Agent SDK)

* 提供標準化介面，讓 LLM 或 AI 助理能透過 API (例如 `GET /tools`) 動態獲取可用的工具清單及其功能定義 (Schema)。
* 通常會封裝請求重試機制、超時控制、以及基於 JSON Schema 的輸入輸出驗證等通用邏輯，以簡化應用層的開發複雜度並提升穩健性。

### 2.2 串流會話層 (Streaming Session Layer)

* 多採用 **伺服器推送事件 (Server-Sent Events, SSE)** 或 **WebSocket** 技術建立持久的串流會話：
  * **雙向串流 (Bidirectional streams)**：允許 AI 助理在單次對話生命週期中，進行多次、連續的工具呼叫 (Tool Calling)，實現更自然的互動體驗。
  * 此架構對無伺服器運算 (Serverless, 例如 AWS Lambda, Google Cloud Functions) 環境友善，易於實現服務的水平擴展。

### 2.3 驗證與憑證保險庫 (Auth & Credentials Vault)

* 使用者通常僅需在受信任的環境 (如瀏覽器) 中完成一次 OAuth 2.0 授權流程，其更新權杖 (Refresh Token) 便會經過加密後，安全地儲存於憑證保險庫中。
* 憑證保險庫會為每次會話或請求產生具備嚴格時效性的 **會話權杖 (Session Token)** 或 **已簽署的 JWT (Signed JWT)**，供工具執行器在限定時間內代表使用者存取外部服務。

### 2.4 工具註冊表與 Schema 儲存庫 (Tool Registry & Schema Store)

* 採用 **OpenAPI 規格或 JSON Schema** 等標準格式，來精確描述每個工具 (Action) 的預期輸入參數、資料結構與輸出結果格式。
* 支援工具定義的 **版本控管** (例如 `v1.2.0`, `v2-beta`)，確保在工具功能迭代時，仍能對舊版本客戶端保持向下相容性。
* 部分先進平台更提供 **針對 AI 優化的 Schema** (例如：自動移除對 LLM 而言非必要的選填欄位、提供更豐富的上下文範例)，以提升 LLM 理解工具功能與使用方式的效率。

### 2.5 執行協調器 (Execution Orchestrator)

* 作為核心的調度中心，執行協調器負責根據工具的 Schema 解析傳入的參數，並智能路由請求至對應的 **連接器 (Connector)** 或 **執行器 (Runner)**。
* 通常整合 **斷路器 (Circuit-Breaker)** 設計模式：當偵測到外部 API 連線異常或超時，能自動執行指數退避 (Exponential Backoff) 重試策略，或快速失敗並回傳明確的錯誤狀態 (例如 HTTP 50x)，以避免資源連鎖耗盡並提升系統韌性。

### 2.6 可觀測性與治理 (Observability & Governance)

* **分散式追蹤 (Distributed Tracing)**：每次工具呼叫都會生成唯一的追蹤 ID (Trace ID)，便於追蹤橫跨多個微服務的完整呼叫鏈路，簡化問題排查與性能分析。
* **配額與速率限制 (Quota & Rate-Limit)**：可依據租戶、個別使用者或特定工具層級，設定精細的請求配額與頻率限制 (例如 每秒查詢次數 QPS, 每分鐘呼叫次數 RPM)，防止服務濫用。
* **審計日誌 (Audit Log)**：詳細記錄工具呼叫的關鍵資訊，如時間戳、來源、參數摘要、執行結果與狀態等，以滿足企業的合規性要求與安全審查需求。

### 2.7 多租戶隔離 (Multi-Tenant Isolation)

* 目標 SaaS 服務的存取權杖 (Access Token) 會與特定的工作空間實體 (Workspace Entity) 或租戶標識嚴格綁定，並實施嚴謹的存取控制策略，以防止跨租戶的資料未授權存取與潛在洩漏風險。
* 部分平台支援 **客戶自備金鑰 (Bring-Your-Own-Key, BYOK)** 的加密方式，允許企業使用自行管理的加密金鑰對敏感資料進行加密，從而增強資料主權與控制權。

***

## 3. 典型工作流程 (Sequence Diagram)

<figure><img src="/files/o5i6caIHC1S0EkIZZolQ" alt=""><figcaption><p>工作流程圖</p></figcaption></figure>

1. **服務發現 (Discovery)**：AI 助理透過標準化 API 從 Remote MCP 服務請求可用的工具列表及其對應的 JSON Schema。
2. **規劃 (Planning)**：大型語言模型 (LLM) 根據當前使用者的意圖和對話上下文，分析並產生執行計畫，決定需要使用一個或多個工具 (Action)。
3. **呼叫 (Invocation)**：AI 助理的 SDK 依照選定工具的 Schema 嚴格格式化所需參數，並透過安全的 API 向 Remote MCP 服務發起工具呼叫請求。
4. **驗證與授權 (Authentication & Authorization)**：Remote MCP 伺服器首先驗證請求中攜帶的API 金鑰的有效性，然後檢查該租戶或使用者是否具備執行此特定工具的授權。
5. **執行 (Execution)**：一旦驗證與授權通過，執行協調器 (Orchestrator) 會將請求以及處理後的參數，分派給註冊的、與目標外部服務對應的連接器 (Connector)。該連接器負責實際與外部服務 (例如 Google Calendar API) 進行互動。
6. **串流回應 (Streaming Response)**：工具執行的結果，可能包含中間狀態更新或最終數據，以 JSON 片段 (chunks) 或完整物件的形式，透過 SSE 或 WebSocket 等串流技術即時回傳給 AI 助理。
7. **後續處理 (Post-Processing)**：AI 助理的 SDK 接收到回應後，會根據工具的 Schema 驗證回應資料的格式與完整性。若驗證失敗、工具執行出錯或結果不符合預期，SDK 可能會觸發自動重試機制 (若適用)，或將錯誤資訊及上下文提交給 LLM 以進行下一步的智能決策 (例如：修正輸入參數、向使用者澄清問題或嘗試其他替代工具)。

***

## 4. Remote MCP 在 MaiAgent 的應用

MaiAgent 平台通過整合 MCP 服務，為其 AI 助理提供了強大的外部工具訪問能力，使 AI 助理能夠無縫地與多種第三方服務互動，顯著提升了工作效率和服務品質。

### 4.1 整合功能與優勢

* **簡化工具配置流程**：MaiAgent 用戶只需提供 Remote MCP 伺服器 URL 並完成身份驗證，無需關心複雜的 API 密鑰管理、OAuth 授權流程或開發連接器代碼。
* **豐富工具生態系統**：透過 Remote MCP 提供商（如 Composio、Zapier MCP 等），MaiAgent 用戶可立即獲取數百種預先整合的工具和服務，包括：
  * **生產力套件**：Google Workspace、Notion、Slack
  * **專案管理**：Jira、Asana、Trello、Monday.com
  * **客戶關係管理**：Salesforce、HubSpot、Zendesk
  * **開發工具**：GitHub、Bitbucket、Linear
* **權限精細管理**：管理員可為每個 AI 助理指定可使用的 MCP 工具集合，確保助理僅能訪問其工作所需的特定服務和功能。

### 4.2 典型使用場景

* **行政助理**：AI 助理可直接管理日程安排（建立/修改/取消會議）、整理郵件收件匣、準備會議摘要，或更新共享文件。
* **客戶支援**：AI 助理能查詢訂單狀態、建立支援工單、更新客戶資料，甚至處理簡單的退款或訂單修改請求。
* **開發團隊協作**：AI 助理可協助創建 Issue、指派任務、更新項目狀態，或從代碼庫中檢索特定資訊。
* **資料分析與報告**：AI 助理能從各種數據源（如 Web Search、Salesforce）獲取外部數據，並生成格式化報告或視覺化圖表。

### 4.3 MaiAgent 特有的安全與隱私保障

* **資料流管控**：MaiAgent 實施嚴格的資料流控制，確保敏感信息僅在授權的工具和助理之間傳輸。
* **活動審計**：所有工具調用都會記錄詳細的審計日誌，包括調用時間、使用者、執行的操作及結果摘要。
* **動態配置調整**：AI 助理管理員可隨時透過 MaiAgent 平台調整或撤銷 AI 助理配置的工具，變更即時生效。

***

### 參考連結

* [Model Context Protocol Spec 0.4](https://modelcontextprotocol.io/specification/2024-11-05)
* [Server‑Sent Events for Tool Calling（Blog, 2024）](https://www.honeycomb.io/blog/mcp-easy-as-1-2-3)
* [Designing OAuth Vault for AI Agents（Whitepaper, 2025 Q1）](https://assets.ctfassets.net/2ntc334xpx65/6gCPuASKatuu1n1bsgaKX1/db160ef1b6a3023260129595f4bd3d41/Auth0_for_GenAI.pdf)
* [CNCF Webinar《LLM × Remote Execution Patterns》](https://www.cncf.io/online-programs/cncf-on-demand-webinar-design-patterns-for-agentic-ai-infoq-webinar/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.maiagent.ai/tech/remote-mcp/remote-mcp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
