基礎協議
協議版本: 草案
MCP 客戶端和服務器之間的所有消息必須遵循 JSON-RPC 2.0 規範。協議定義了 三種基本類型的消息:
| 類型 | 描述 | 要求 |
|---|---|---|
請求 | 發送以啟動操作的消息 | 必須包括唯一ID和方法名 |
響應 | 作為請求回覆發送的消息 | 必須包括與請求相同的ID |
通知 | 無需回覆的單向消息 | 不得包括ID |
響應進一步分為成功結果或錯誤。 結果可以遵循任何 JSON 對象結構,而錯誤至少必須包括錯誤代碼和消息。
協議層
模型上下文協議由幾個協同工作的關鍵組件組成:
- 基礎協議:核心 JSON-RPC 消息類型
- 生命週期管理:連接初始化、能力協商和會話控制
- 服務器功能:服務器公開的資源、提示和工具
- 客戶端功能:客戶端提供的採樣和根目錄列表
- 實用工具:日誌記錄和參數完成等橫切關注點
所有實現必須支持基礎協議和生命週期管理組件。其他組件可以根據應用程序的特定需求實現。
這些協議層在確立明確關注點分離的同時,支持客戶端和服務器之間的豐富交互。模塊化設計允許實現精確支持所需的功能。
有關不同組件的更多詳細信息,請參閱以下頁面:
認證
MCP 為 HTTP+SSE 傳輸提供了授權 框架。使用 HTTP+SSE 傳輸的實現應該遵循此規範,而使用 STDIO 傳輸的實現不應該 遵循此規範,而應從環境中檢索憑據。
此外,客戶端和服務器可以協商自己的自定義身份驗證和授權策略。
要進一步討論和貢獻 MCP 認證機制的演變,請加入我們的 GitHub 討論 幫助塑造協議的未來!
架構
協議的完整規範定義為 TypeScript 架構。 這是所有協議消息和結構的真實來源。
還有一個 JSON 架構, 它是從 TypeScript 真實源自動生成的,用於各種自動化工具。