成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MCP協(xié)議底層原理分析——基于JSON-RPC2.0的傳輸協(xié)議 原創(chuàng)

發(fā)布于 2025-7-10 10:05
瀏覽
0收藏

“ 網(wǎng)絡(luò)協(xié)議的本質(zhì)是一種有固定格式的規(guī)則約束。”

最近在研究MCP協(xié)議,由于之前深入了解過網(wǎng)絡(luò)協(xié)議這一塊,比如說TCP/IP,HTTP等,所以對MCP協(xié)議就比較好奇,于是就深入了解了一下。

剛開始了解MCP協(xié)議的時候就很奇怪一件事情,不管是TCP/IP協(xié)議,還是HTTP協(xié)議,都會有一個固定的報文格式;但在MCP的官方文檔中并沒有看到這個報文格式。只是簡單介紹了其幾個核心組件——hosts,client和server等。

所以就很好奇,MCP協(xié)議沒有一個固定的格式,那它服務(wù)端和客戶端是怎么通訊的,數(shù)據(jù)怎么解析的。

MCP協(xié)議的深入了解

從本質(zhì)上來說,網(wǎng)絡(luò)協(xié)議就是一種規(guī)則,只不過這個規(guī)則有固定的格式;就類似于我們發(fā)快遞,發(fā)郵件一樣,需要有收件人姓名,地址,電話等;而TCP/IP和HTTP這種網(wǎng)絡(luò)協(xié)議就是嚴格按照這種規(guī)則設(shè)計的。

但在MCP協(xié)議中,這種規(guī)則好像并不存在;所以這些問題只能從MCP的官方文檔中尋找答案。

思考一個問題,MCP協(xié)議是怎么進行數(shù)據(jù)傳輸?shù)模簿褪钦f在智能體中使用MCP協(xié)議,那數(shù)據(jù)怎么從智能體傳輸?shù)組CP服務(wù)端?它的數(shù)據(jù)格式是什么樣的,客戶端應(yīng)該怎么封裝請求數(shù)據(jù),服務(wù)端應(yīng)該怎么解析數(shù)據(jù)?

從官方文檔中我們了解到,MCP協(xié)議是整體建立在JSON-RPC2.0的基礎(chǔ)之上;JSON-RPC2.0是一種輕量級無狀態(tài)的遠程調(diào)用協(xié)議,簡單來說就是一種數(shù)據(jù)格式。而MCP使用JSON-RPC2.0作為協(xié)議層進行通訊,傳輸層可以使用http,sse,Streamable http等流式協(xié)議,以及本地開發(fā)測試使用的stdio協(xié)議。

而且,用戶可以根據(jù)自己的需求自定義傳輸層協(xié)議,只需要上層使用JSON-RPC2.0格式即可;也就是說MCP對傳輸層協(xié)議是無感的。

MCP協(xié)議底層原理分析——基于JSON-RPC2.0的傳輸協(xié)議-AI.x社區(qū)

這樣做的好處就是,MCP協(xié)議完全屏蔽了底層網(wǎng)絡(luò)協(xié)議的復(fù)雜性,開發(fā)者只需要關(guān)注應(yīng)用層的協(xié)議即可,需要說明的是這里的應(yīng)用層和TCP/IP網(wǎng)絡(luò)模型中的應(yīng)用層不是一個概念,在TCP/IP網(wǎng)絡(luò)模型中HTTP協(xié)議屬于應(yīng)用層協(xié)議。

看到這里大家可能有疑問了,你這也沒講MCP協(xié)議的格式是什么樣啊,或者為什么MCP協(xié)議沒有固定格式。

其實,這里就是MCP協(xié)議比較強大的一個地方,MCP協(xié)議并不像傳統(tǒng)的網(wǎng)絡(luò)協(xié)議那樣,嚴格約束協(xié)議的格式規(guī)則,而是提供了很大的靈活性;在使用JSON-RPC2.0屏蔽底層協(xié)議的基礎(chǔ)之上;開發(fā)者可以在JSON-RPC2.0的基礎(chǔ)之上,去自定義自己的MCP報文格式,只不過需要開發(fā)者自己實現(xiàn)服務(wù)端和客戶端的報文解析功能;而MCP官方已經(jīng)封裝了一套基于JSON-RPC2.0的數(shù)據(jù)報文格式。

對我們普通開發(fā)者來說,只需要直接拿過來用就行了,而不用關(guān)心其底層的實現(xiàn)原理。MCP官方通過schema的方式抽象出MCP協(xié)議的格式對象,這樣在上層應(yīng)用中就可以直接獲取到結(jié)構(gòu)化的數(shù)據(jù)。

MCP協(xié)議底層原理分析——基于JSON-RPC2.0的傳輸協(xié)議-AI.x社區(qū)


# JSON RPC的請求格式
{
  jsonrpc: "2.0";
  id: string | number;
  method: string;
  params?: {
    [key: string]: unknown;
  };
}


# JSON-RPC的響應(yīng)格式
{
  jsonrpc: "2.0";
  id: string | number;
  result?: {
    [key: string]: unknown;
  }
  error?: {
    code: number;
    message: string;
    data?: unknown;
  }
}


MCP官方文檔地址


??https://modelcontextprotocol.io/introduction??

?

本文轉(zhuǎn)載自??AI探索時代??? 作者:DFires

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責任
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 龙珠z国语版在线观看 | 国产精品一区二区三区久久 | 日本一二三区电影 | 成人国产午夜在线观看 | 伊伊综合网| 四虎首页 | 免费一级欧美在线观看视频 | 久久精品国产一区二区电影 | 国产精品夜间视频香蕉 | 亚洲一区二区三区在线视频 | 国产精品色一区二区三区 | 自拍偷拍精品 | 91在线看| 亚洲精品久久久一区二区三区 | 成人av观看 | 久久99精品久久久久久狂牛 | 欧美亚洲国产成人 | www.久| 日韩中文字幕在线观看 | 毛片在线免费播放 | 欧美一区二区三区大片 | 色嗨嗨| 色偷偷888欧美精品久久久 | 欧美中文字幕一区二区三区亚洲 | 免费a大片 | 日日操夜夜操天天操 | 成年免费在线观看 | 97超碰站 | 欧美日韩电影一区二区 | 日韩在线观看网站 | 亚洲精品成人在线 | 在线欧美亚洲 | 久久国产一区二区三区 | 国产精品久久久久久久久久久久 | 国产福利91精品 | 蜜桃一区二区三区 | 亚洲成av人片在线观看 | 亚洲一区二区三区在线播放 | 91精品国产色综合久久 | 一级毛片免费完整视频 | 奇米超碰|