基礎協議

協議版本: 草案

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

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

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

協議層

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

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

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

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

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

認證

MCP 為 HTTP+SSE 傳輸提供了授權 框架。使用 HTTP+SSE 傳輸的實現應該遵循此規範,而使用 STDIO 傳輸的實現不應該 遵循此規範,而應從環境中檢索憑據。

此外,客戶端和服務器可以協商自己的自定義身份驗證和授權策略。

要進一步討論和貢獻 MCP 認證機制的演變,請加入我們的 GitHub 討論 幫助塑造協議的未來!

架構

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

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