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 定義為準。實作指南與教學則屬於規範之外的補充資料。
只有當 MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、RECOMMENDED、NOT RECOMMENDED、MAY、OPTIONAL 以全大寫出現時,才具有 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(應該):
- 在應用程式中建立健全的 consent 與 authorization flow。
- 提供清楚的 security-implication 文件。
- 實作適當的 access control 與資料保護。
- 在 integration 中遵循安全最佳實務。
- 在功能設計時納入 privacy impact。