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