基礎協議

協議版本: 2024-11-05

MCP 客戶端和服務器之間的所有消息必須遵循 JSON-RPC 2.0 規範。協議定義了三種基本類型的消息:

類型描述要求
請求發送以啟動操作的消息必須包含唯一 ID 和方法名
響應對請求的回覆消息必須包含與請求相同的 ID
通知無需回覆的單向消息不得包含 ID

響應進一步分為成功結果錯誤。結果可以遵循任何 JSON 對象結構,而錯誤至少必須包含錯誤代碼和消息。

協議層

模型上下文協議由幾個共同工作的關鍵組件組成:

  • 基礎協議:核心 JSON-RPC 消息類型
  • 生命週期管理:連接初始化、能力協商和會話控制
  • 服務器功能:服務器公開的資源、提示和工具
  • 客戶端功能:客戶端提供的採樣和根目錄列表
  • 工具:日誌記錄和參數補全等橫切關注點

所有實現必須支持基礎協議和生命週期管理組件。其他組件可以根據應用程序的特定需求實現。

這些協議層建立了明確的關注點分離,同時實現了客戶端和服務器之間的豐富交互。模塊化設計允許實現恰好支持所需的功能。

有關不同組件的更多詳細信息,請參閱以下頁面:

認證

認證和授權目前不是 MCP 核心規範的一部分,但我們正在考慮在未來引入它們的方法。加入我們的 GitHub 討論,幫助塑造協議的未來!

客戶端和服務器可以協商自己的自定義認證和授權策略。

模式

協議的完整規範定義為 TypeScript 模式。這是所有協議消息和結構的真實來源。

還有一個 JSON 模式,它是從 TypeScript 真實來源自動生成的,用於各種自動化工具。