Skip to content

MCP Specification · 2026-07-28 · zh-TW

規範概觀

Specification · Overview

MCP 2026-07-28 的角色、核心功能、extension,以及安全、信任與使用者控制原則。

Model Context Protocol(MCP)是一套開放協定,讓 LLM 應用程式能以標準化方式整合外部資料來源與工具。無論是 AI IDE、對話介面或自訂 AI workflow,MCP 都提供一致的方法,讓應用程式把模型需要的上下文與能力接進來。

本規範定義 MCP 的 authoritative protocol requirements;協定訊息與資料結構則以對應版本的 TypeScript schema 定義為準。實作指南與教學則屬於規範之外的補充資料。

BCP 14 規範關鍵字

只有當 MUSTMUST NOTREQUIREDSHALLSHALL NOTSHOULDSHOULD NOTRECOMMENDEDNOT RECOMMENDEDMAYOPTIONAL 以全大寫出現時,才具有 BCP 14(RFC 2119 / RFC 8174)的規範性語意。

概觀(Overview)

MCP 提供標準方式,讓應用程式可以:

  • 與 language model 分享上下文資訊。
  • 向 AI system 暴露工具與能力。
  • 建立可組合的 integration 與 workflow。

協定使用 JSON-RPC 2.0 訊息,在下列角色之間通訊:

  • Hosts(主機應用程式):啟動連線並承載 LLM 應用程式。
  • Clients(用戶端):位於 Host 內、與特定 MCP Server 通訊的連接器。
  • Servers(伺服器):提供上下文與能力的服務。

MCP 的設計受到 Language Server Protocol(LSP)啟發:LSP 以共通介面把程式語言能力接進各種開發工具;MCP 則以類似方式,把額外上下文與工具接進 AI application ecosystem。

核心內容(Key Details)

基礎協定(Base Protocol)

  • JSON-RPC 訊息格式。
  • 無狀態、自包含的 request。
  • 每次 request 的 capability negotiation。

功能(Features)

Server 可以向 client 提供:

  • Resources(資源):供使用者或 AI model 使用的上下文與資料。
  • Prompts(提示詞):給使用者選擇的訊息範本與 workflow。
  • Tools(工具):供 AI model 執行的函式。

Client 可以向 server 提供:

  • Elicitation(資訊徵詢):讓 server 在處理 request 時要求額外的使用者資訊。

其他通用能力(Additional Utilities)

  • Configuration
  • 進度追蹤
  • 取消
  • 錯誤回報

擴充功能(Extensions)

Core protocol 之外,MCP 還定義選用 extension,用來加入模組化、專門化或實驗性的功能。Extension 必須由雙方明確支援,並透過 capability negotiation 啟用。

上游概觀文字的版本注意事項

固定 snapshot 的英文概觀仍寫有「negotiated during initialization」,但 2026-07-28 的 normative Base Protocol 已移除 initialize handshake,extension negotiation 改由每次 request 的 capabilities 表達。本翻譯此處依 normative versioning 規則敘述,避免把已移除的 initialization 行為重新帶回本版本。

官方與社群 extension 的例子包括:

  • Tasks:長時間操作的 asynchronous execution,支援 polling、mid-flight input 與 durable handles。
  • Skills over MCP:供 agent workflow 發現與使用的結構化 instructions。
  • MCP Apps:在對話中呈現 chart、form、video player 等互動式 UI。

安全、信任與使用者控制(Security and Trust & Safety)

MCP 可以連接任意資料存取與程式執行路徑,因此實作者必須把安全與信任邊界視為核心設計問題。

使用者同意與控制(User Consent and Control)

  • 使用者應清楚理解並明確同意資料存取與操作。
  • 使用者應保有對資料分享與實際執行動作的控制權。
  • 實作者應提供清楚的 UI,讓使用者檢視並授權活動。

資料隱私(Data Privacy)

  • Host 在把使用者資料暴露給 server 前,應取得明確同意。
  • Host 不應在未經同意的情況下,把 resource data 傳送到其他位置。
  • 使用者資料應受到適當的 access control 保護。

工具安全(Tool Safety)

  • Tool 代表任意程式執行能力,必須以相應程度的風險意識處理。
  • 例如 tool annotation 等行為描述,在 server 不受信任時也應視為不可信資訊。
  • Host 在執行 tool 前應取得使用者的明確同意,並讓使用者理解操作內容。

實作指引(Implementation Guidelines)

MCP 本身無法在 protocol layer 強制執行所有上述安全原則;實作者 SHOULD(應該)

  1. 在應用程式中建立健全的 consent 與 authorization flow。
  2. 提供清楚的 security-implication 文件。
  3. 實作適當的 access control 與資料保護。
  4. 在 integration 中遵循安全最佳實務。
  5. 在功能設計時納入 privacy impact。