国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

從源碼看MCP Java SDK,這里面究竟定義了啥樣的協(xié)議

開發(fā) 前端
這個(gè)協(xié)議設(shè)計(jì)遵循了 JSON-RPC 2.0 規(guī)范,并在此基礎(chǔ)上定義了特定的方法和數(shù)據(jù)結(jié)構(gòu),主要包括:基礎(chǔ)通信協(xié)議 (初始化、心跳)工具管理 (發(fā)現(xiàn)、調(diào)用)資源管理 (列表、讀取、訂閱)提示模板管理 (列表、獲取)日志系統(tǒng) (級(jí)別設(shè)置、消息通知)變更通知機(jī)制 (工具、資源、提示模板的變更通知)。

整體架構(gòu)

MCP SDK 采用分層架構(gòu),主要分為以下幾層:

1. 核心規(guī)范層 (spec 包)

io.modelcontextprotocol.spec
├── McpSchema.java          // 協(xié)議數(shù)據(jù)模型定義
├── McpSession.java         // 會(huì)話接口定義  
├── McpTransport.java       // 傳輸層抽象接口
├── ClientMcpTransport.java // 客戶端傳輸接口
├── ServerMcpTransport.java // 服務(wù)端傳輸接口
├── DefaultMcpSession.java  // 默認(rèn)會(huì)話實(shí)現(xiàn)
└── McpError.java          // 錯(cuò)誤處理

2. 客戶端實(shí)現(xiàn)層 (client 包)

io.modelcontextprotocol.client
├── McpClient.java         // 客戶端工廠類
├── McpAsyncClient.java    // 異步客戶端實(shí)現(xiàn)
├── McpSyncClient.java     // 同步客戶端實(shí)現(xiàn)
└── McpClientFeatures.java // 客戶端功能配置

3. 服務(wù)端實(shí)現(xiàn)層 (server 包)

io.modelcontextprotocol.server
├── McpServer.java         // 服務(wù)端工廠類
├── McpAsyncServer.java    // 異步服務(wù)端實(shí)現(xiàn)
├── McpSyncServer.java     // 同步服務(wù)端實(shí)現(xiàn)
└── McpServerFeatures.java // 服務(wù)端功能配置

4. 傳輸實(shí)現(xiàn)層 (transport 包)

io.modelcontextprotocol.client.transport
├── StdioClientTransport.java        // 標(biāo)準(zhǔn)輸入輸出傳輸
├── HttpClientSseClientTransport.java // HTTP SSE 客戶端傳輸
├── FlowSseClient.java               // SSE 流式客戶端
└── ServerParameters.java            // 服務(wù)器參數(shù)配置

io.modelcontextprotocol.server.transport
├── StdioServerTransport.java        // 標(biāo)準(zhǔn)輸入輸出傳輸
└── HttpServletSseServerTransport.java // HTTP SSE 服務(wù)端傳輸

主要特性

  1. 雙模式支持:
  • 同步 API (McpSyncClient/McpSyncServer)
  • 異步 API (McpAsyncClient/McpAsyncServer)
  1. 核心功能:
  • 工具調(diào)用 (Tools)

  • 資源訪問 (Resources)

  • 提示模板 (Prompts)

  • 日志系統(tǒng) (Logging)

  • 根目錄管理 (Roots)

  • AI 采樣支持 (Sampling)

  1. 傳輸實(shí)現(xiàn):

  • 標(biāo)準(zhǔn)輸入輸出 (Stdio)

  • HTTP SSE (Server-Sent Events)

  • WebFlux SSE

  • WebMVC SSE

  1. 設(shè)計(jì)模式:

  • 工廠模式 (McpClient/McpServer)

  • 構(gòu)建器模式 (各種 Builder)

  • 裝飾器模式 (同步包裝異步)

  • 觀察者模式 (事件通知)

關(guān)鍵交互流程

  • 初始化流程:
Client/Server -> Transport -> Session -> 協(xié)議版本協(xié)商 -> 能力協(xié)商
  • 消息處理流程:
請(qǐng)求/響應(yīng): 生成ID -> 序列化 -> 傳輸 -> 反序列化 -> 處理
通知: 序列化 -> 傳輸 -> 反序列化 -> 處理

資源管理流程:

發(fā)現(xiàn) -> URI模板解析 -> 訪問控制 -> 內(nèi)容獲取

這種分層架構(gòu)使得代碼結(jié)構(gòu)清晰,各層職責(zé)明確,同時(shí)提供了良好的擴(kuò)展性和可維護(hù)性。

讓我來分析一下 McpSchema.java 中定義的 MCP 協(xié)議內(nèi)容:

1. 協(xié)議基本信息

public static final String LATEST_PROTOCOL_VERSION = "2024-11-05";  // 最新協(xié)議版本
public static final String JSONRPC_VERSION = "2.0";                 // 使用 JSON-RPC 2.0

2. 協(xié)議方法定義

生命周期方法

// 生命周期相關(guān)
METHOD_INITIALIZE = "initialize"                    // 初始化
METHOD_NOTIFICATION_INITIALIZED = "notifications/initialized"  // 初始化完成通知
METHOD_PING = "ping"                               // 心跳檢測

工具相關(guān)方法

// 工具相關(guān)
METHOD_TOOLS_LIST = "tools/list"                   // 列出可用工具
METHOD_TOOLS_CALL = "tools/call"                   // 調(diào)用工具
METHOD_NOTIFICATION_TOOLS_LIST_CHANGED = "notifications/tools/list_changed"  // 工具列表變更通知

資源相關(guān)方法

// 資源相關(guān)
METHOD_RESOURCES_LIST = "resources/list"           // 列出資源
METHOD_RESOURCES_READ = "resources/read"           // 讀取資源
METHOD_RESOURCES_TEMPLATES_LIST = "resources/templates/list"  // 列出資源模板
METHOD_RESOURCES_SUBSCRIBE = "resources/subscribe"    // 訂閱資源
METHOD_RESOURCES_UNSUBSCRIBE = "resources/unsubscribe"  // 取消訂閱
METHOD_NOTIFICATION_RESOURCES_LIST_CHANGED = "notifications/resources/list_changed"  // 資源列表變更通知

Prompt 相關(guān)方法

// Prompt相關(guān)
METHOD_PROMPT_LIST = "prompts/list"                // 列出提示模板
METHOD_PROMPT_GET = "prompts/get"                  // 獲取提示模板
METHOD_NOTIFICATION_PROMPTS_LIST_CHANGED = "notifications/prompts/list_changed"  // 提示模板列表變更通知

日志相關(guān)方法

// 日志相關(guān)
METHOD_LOGGING_SET_LEVEL = "logging/setLevel"      // 設(shè)置日志級(jí)別
METHOD_NOTIFICATION_MESSAGE = "notifications/message"  // 日志消息通知

3. 主要數(shù)據(jù)結(jié)構(gòu)

客戶端能力

public record ClientCapabilities(
    Experimental experimental,        // 實(shí)驗(yàn)性功能
    RootCapabilities roots,          // 根目錄能力
    Sampling sampling                // 采樣能力
)

服務(wù)器能力

public record ServerCapabilities(
    Experimental experimental,       // 實(shí)驗(yàn)性功能
    LoggingCapabilities logging,     // 日志能力
    PromptCapabilities prompts,      // 提示模板能力
    ResourceCapabilities resources,  // 資源能力
    ToolCapabilities tools          // 工具能力
)

內(nèi)容類型

sealed interface Content {
    TextContent      // 文本內(nèi)容
    ImageContent     // 圖片內(nèi)容
    EmbeddedResource // 嵌入資源
}

根目錄定義

public record Root(
    String uri,   // 根目錄URI (必須以 file:// 開頭)
    String name   // 根目錄名稱(可選)
)

4. 消息格式

JSON-RPC 消息

// 請(qǐng)求消息
public record JSONRPCRequest(
    String jsonrpc,    // JSON-RPC 版本
    String method,     // 方法名
    String id,        // 請(qǐng)求ID
    Object params     // 參數(shù)
)

// 響應(yīng)消息
public record JSONRPCResponse(
    String jsonrpc,    // JSON-RPC 版本
    String id,        // 請(qǐng)求ID
    Object result,    // 響應(yīng)結(jié)果
    JSONRPCError error // 錯(cuò)誤信息
)

// 通知消息
public record JSONRPCNotification(
    String jsonrpc,    // JSON-RPC 版本
    String method,     // 方法名
    Object params     // 參數(shù)
)

這個(gè)協(xié)議設(shè)計(jì)遵循了 JSON-RPC 2.0 規(guī)范,并在此基礎(chǔ)上定義了特定的方法和數(shù)據(jù)結(jié)構(gòu),主要包括:

  1. 基礎(chǔ)通信協(xié)議 (初始化、心跳)
  2. 工具管理 (發(fā)現(xiàn)、調(diào)用)
  3. 資源管理 (列表、讀取、訂閱)
  4. 提示模板管理 (列表、獲取)
  5. 日志系統(tǒng) (級(jí)別設(shè)置、消息通知)
  6. 變更通知機(jī)制 (工具、資源、提示模板的變更通知)

這種設(shè)計(jì)使得 AI 模型能夠通過標(biāo)準(zhǔn)化的接口與外部工具和資源進(jìn)行交互。

責(zé)任編輯:武曉燕 來源: 海燕技術(shù)棧
相關(guān)推薦

2014-11-05 10:08:50

2025-03-31 00:00:00

MCPAPI服務(wù)器通信

2025-06-30 09:26:47

2020-05-15 10:16:43

HttpHttps網(wǎng)絡(luò)協(xié)議

2021-07-14 09:48:15

Linux源碼Epoll

2021-07-15 14:27:47

LinuxSocketClose

2019-07-15 09:45:00

華為鴻蒙開發(fā)

2025-05-08 00:00:00

2019-05-10 10:13:10

Windows 功能系統(tǒng)

2022-02-23 12:56:45

框架開發(fā)

2019-05-08 15:02:11

Android 10安卓谷歌

2025-04-27 07:53:47

2021-03-10 08:20:54

設(shè)計(jì)模式OkHttp

2021-10-06 16:21:32

類型對(duì)象Typescript

2021-06-10 09:52:33

LinuxTCPAccept

2020-10-10 07:00:16

LinuxSocketTCP

2017-04-05 20:00:32

ChromeObjectJS代碼

2025-02-25 14:07:25

2025-11-04 01:33:00

MCPAPIAI

2018-02-02 15:48:47

ChromeDNS解析
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产一区二区三区四区三区四| 亚洲天堂精品视频| 一个色综合网| 免费黄色片在线观看| 日韩av黄色| 91美女片黄在线观看| 亚洲小视频在线| 国产精品99久久99久久久二8| 91久久中文字幕| 欧美日韩视频在线一区二区观看视频| 成人在线黄色| 国产成人丝袜美腿| 日韩免费电影| 国产一区二区区别| 精品亚洲夜色av98在线观看| 免费在线超碰| 亚洲国产精品一区二区久久 | 神马午夜久久| 欧美第一页在线| 国产美女精品视频免费播放软件| 日韩一区二区三区国产| 韩国精品视频在线观看| 日韩美女av在线| 91制片在线观看| 亚洲清纯自拍| 国产精品国产三级国产aⅴ9色| 欧美亚洲色图校园春色| 青青精品视频播放| 国产一区二区精品久| 成人精品视频99在线观看免费| 天堂美国久久| 91久久精品美女高潮| 极品av少妇一区二区| 欧美一级日本a级v片| 久久99精品国产麻豆婷婷| 亚洲爆乳无码精品aaa片蜜桃| 成人h动漫精品一区二区| 人妻精品无码一区二区三区 | 成人精品在线视频| 国产精品视频黄色| 国产精品久久久久四虎| 色老板视频在线观看| 福利二区91精品bt7086| 137大胆人体在线观看| 亚洲国产一区二区三区四区| 欧美jizz18| 欧美在线观看网站| 一区在线视频观看| 国产女教师bbwbbwbbw| 亚洲国产激情av| 小草在线视频在线免费视频| 欧美不卡激情三级在线观看| 国产精品视频一| 一区二区三区福利| 日韩成人手机在线| 中文字幕日韩一区| 久草福利在线视频| 亚洲美女性视频| 最新亚洲精品| 欧美日韩在线精品| 久久这里只精品最新地址| 猛男欧美办公室激情在线| 狠狠做六月爱婷婷综合aⅴ| 国产精品私拍pans大尺度在线| 国产欧美日韩一区二区三区在线| 中文字幕在线乱| 亚洲日本成人在线观看| 超碰电影在线播放| 久久久久久国产精品三级玉女聊斋 | 亚洲视频一区二区三区| 精品女人视频| 中文字幕欧美日韩一区| 888av在线| 九九热视频这里只有精品| 韩国自拍一区| 国产成人无码a区在线观看视频| 欧美日韩午夜剧场| 国产成人77亚洲精品www| 51精品国产人成在线观看| 99天天综合性| 麻豆网在线观看| 日本久久91av| 精品一区二区在线播放| 一个人看的www久久| 天堂美国久久| chinese少妇国语对白| 欧美日韩五月天| 凹凸成人在线| 国产日产欧美一区二区| 色婷婷综合久久久久中文一区二区 | 中文字幕一区二区三区蜜月| 蜜桃av综合| 欧美另类在线播放| 日韩影院免费视频| 中文字幕在线视频免费观看| 中文字幕欧美在线| 奶水喷射视频一区| 中日韩一区二区三区| 欧美区二区三区| 麻豆精品在线播放| 国产大片在线免费观看| 欧美在线免费观看| 成人毛片老司机大片| av在线导航| 91成人理论电影| 丁香花在线观看完整版电影| 国产精品欧美日韩| 2021国产精品久久精品| 中文字幕乱码在线播放| 日本一区网站| 欧美午夜影院一区| 综合av在线| 黄色直播在线| 国外成人在线视频| 91网上在线视频| 欧美极品影院| 天天人人精品| 欧美大奶一区二区| 最新黄色av网站| 欧美精品三级日韩久久| 中文字幕一区二区精品区| 精品一二三四| 国产日本欧美一区| 欧美日韩免费观看中文| 91精品国产自产在线观看永久∴| 黄页免费在线观看| 91精品免费视频| 欧美日韩国产区| 亚洲aaa级| 亚洲男人天天操| 日韩高清不卡一区二区| 久草中文在线观看| 欧美裸体网站| 精品国产一区二区三区忘忧草| 久久综合图片| 欧美a级在线观看| 路边理发店露脸熟妇泻火| 亚洲国产天堂久久国产91| 久久精品国产在热久久| 天堂电影一区| 日韩精品一区二区三区四| 一区二区三区日韩在线| 91网站在线观看视频| 视频二区欧美毛片免费观看| 一本一本久久a久久精品综合小说| 国产精一品亚洲二区在线视频| 朝桐光一区二区| av免费网站观看| 秋霞午夜一区二区| 日本韩国一区二区| 母乳一区在线观看| 在线女人免费视频| 成人小视频在线观看免费| 久久福利视频导航| 亚洲免费观看高清完整版在线| 午夜激情久久| 国产美女情趣调教h一区二区| 国产在线拍揄自揄拍无码| 久久免费高清| 97精品国产99久久久久久免费| 九一精品在线观看| 成人日韩av在线| 精品久久久久香蕉网| 99在线热播精品免费| 一呦二呦三呦国产精品| 91露出在线| 久久成人福利视频| 国产精品va在线播放| 日韩午夜精品视频| wwwwxxxxx欧美| 亚洲区综合中文字幕日日| 91精品久久久久久久久久另类| 日韩一区二区三区免费看 | 麻豆精品av| 麻豆成人在线| 日本成人在线不卡视频| 亚洲新声在线观看| 99久久99热这里只有精品| 国产精品美女久久久久av超清| 色美美综合视频| 免费高清成人在线| 中文字幕一区二区三区四区久久| 天堂аⅴ在线最新版在线 | 亚洲a一级视频| 亚洲精品国产成人| 中文字幕日本乱码精品影院| 青青草综合网| 国产直播在线| 国产午夜精品全部视频播放 | 555www色欧美视频| 成人福利视频在线看| 欧美aaaa视频| 成人黄色免费短视频| 一二三区在线| 日韩欧美一区二| 成人高清在线观看| 国产做受69高潮| 婷婷久久一区| 日本久久二区| 免费观看成人高潮|