国产日韩欧美-97在线观看免费-亚洲欧洲日韩-亚洲free性xxxx护士白浆-国产精品网站在线观看-日韩有码一区-日本大片在线观看-欧美精品一区二区性色a+v-97在线精品-亚洲久草视频-天天操人人爽-你懂的国产精品-国产国语对白-就去干成人网-亚洲美女色视频

?? MCP生態(tài)

MCP協(xié)議是什么?JSON-RPC統(tǒng)一AI工具集成標(biāo)準(zhǔn)詳解

發(fā)布時(shí)間:2026-04-16 分類: MCP生態(tài)
摘要:MCP:一個(gè)“意外”統(tǒng)一AI工具的協(xié)議零侵入式集成AI Agent 開發(fā)者常被平臺(tái)兼容性卡住:VS Code 擴(kuò)展要學(xué) LSP 和 Extension API,Chrome 插件得寫 manifest.json 和 content script,本地工具又要搞 CLI 或 IPC。每個(gè)平臺(tái)都像一道墻。MCP(Machina Communication Protocol)沒打算當(dāng)救世主。它只是...

封面

MCP:一個(gè)“意外”統(tǒng)一AI工具的協(xié)議

零侵入式集成

AI Agent 開發(fā)者常被平臺(tái)兼容性卡住:VS Code 擴(kuò)展要學(xué) LSP 和 Extension API,Chrome 插件得寫 manifest.json 和 content script,本地工具又要搞 CLI 或 IPC。每個(gè)平臺(tái)都像一道墻。

MCP(Machina Communication Protocol)沒打算當(dāng)救世主。它只是定義了一組極簡的 JSON-RPC 調(diào)用約定——list-toolscall-toolnotify,加上一個(gè) HTTP 或 stdio 傳輸層。結(jié)果 VS Code 的 mcp-server 擴(kuò)展、Chrome 的 mcp-client 插件、還有 curl 命令行工具,都直接認(rèn)它。沒人牽頭制定標(biāo)準(zhǔn),但大家不約而同地往同一個(gè)接口上靠。

這不是“設(shè)計(jì)出來的統(tǒng)一”,是開發(fā)者用腳投票投出來的事實(shí)協(xié)議。

技術(shù)價(jià)值

零侵入,真零侵入

你不需要改 VS Code 源碼,也不用給 Chrome 提 PR。只要啟動(dòng)一個(gè)進(jìn)程監(jiān)聽 /mcp 端點(diǎn)(或通過 stdin/stdout),返回符合 MCP 規(guī)范的 JSON 響應(yīng),VS Code 就能發(fā)現(xiàn)你的工具、調(diào)用它、接收它的結(jié)果。

比如在 VS Code 里想讓 AI Agent 讀取當(dāng)前文件內(nèi)容,不用碰任何編輯器內(nèi)部 API。你只管在 MCP Server 里實(shí)現(xiàn)一個(gè) read-file 工具:

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/mcp', methods=['POST'])
def mcp_endpoint():
    req = request.json
    if req['method'] == 'list-tools':
        return jsonify({
            'tools': [{
                'name': 'read-file',
                'description': 'Read contents of a file by path',
                'input_schema': {'type': 'object', 'properties': {'path': {'type': 'string'}}}
            }]
        })
    elif req['method'] == 'call-tool' and req['params']['name'] == 'read-file':
        path = req['params']['input']['path']
        try:
            with open(path) as f:
                content = f.read()
            return jsonify({'result': content})
        except Exception as e:
            return jsonify({'error': str(e)})

if __name__ == '__main__':
    app.run(port=5000)

VS Code 自動(dòng)把“當(dāng)前文件路徑”塞進(jìn) input,你只負(fù)責(zé)讀文件、返回內(nèi)容。編輯器邏輯、UI、權(quán)限模型——全由 VS Code 自己處理。

跨平臺(tái)不是口號(hào),是默認(rèn)行為

MCP 不綁定操作系統(tǒng)、不綁定 GUI 工具包、不依賴 Node.js 或 Python 運(yùn)行時(shí)。它只規(guī)定消息格式和傳輸方式。

所以:

  • 你在 macOS 上用 Rust 寫的 MCP Server,Chrome 插件能調(diào);
  • 你在 Linux 上跑的 Python Server,VS Code for Windows 能連;
  • 你在 CI 里用 Bash 腳本模擬 MCP Server,curl 就能測試交互。

Firefox、Neovim、Obsidian、甚至本地 CLI 工具,只要愿意發(fā) HTTP POST 或讀寫管道,就能接入。沒有“適配層”,只有“照做”。

Server 端輕到可以扔進(jìn)任意進(jìn)程

MCP Server 不是框架,不是 SDK,不是中間件。它就是一個(gè)能收 JSON、能回 JSON 的端點(diǎn)。你可以用 Go 的 net/http、Rust 的 axum、Node 的 express,甚至用 socat 搭個(gè)管道代理。

輕量意味著:

  • 啟動(dòng)快(毫秒級(jí));
  • 內(nèi)存占用低(幾十 KB);
  • 可嵌入已有服務(wù)(比如你的 LangChain 應(yīng)用進(jìn)程里直接起一個(gè) /mcp 路由);
  • 出問題好排查(日志就一行 Received call-tool: read-file)。

對(duì)開發(fā)者的實(shí)際意義

快速驗(yàn)證想法,不寫膠水代碼

你想試試“AI 自動(dòng)重構(gòu)函數(shù)”?不用先啃 VS Code 文檔三個(gè)月。寫一個(gè) MCP Server,暴露 refactor-function 工具,輸入 AST 節(jié)點(diǎn)范圍,輸出新代碼字符串。VS Code 自動(dòng)把光標(biāo)位置、當(dāng)前文件內(nèi)容傳給你。核心邏輯寫完,集成就完成了。

創(chuàng)業(yè)者不用從零建生態(tài)

Chrome Web Store 有 3 億月活用戶,VS Code Marketplace 有 6 萬擴(kuò)展。MCP 讓你能直接站在這些用戶基礎(chǔ)上起步。

比如做“網(wǎng)頁數(shù)據(jù)提取 Agent”:

  • 用戶裝 Chrome MCP 插件(官方維護(hù),一次安裝,永久可用);
  • 你只發(fā)布自己的 MCP Server(Docker 鏡像 or 一鍵安裝腳本);
  • 用戶打開插件設(shè)置,填入 http://localhost:5000/mcp
  • 之后所有網(wǎng)頁操作請(qǐng)求,都走你的 Server。

沒有應(yīng)用商店審核,不依賴平臺(tái)分成,用戶數(shù)據(jù)不出瀏覽器,你只管優(yōu)化提取邏輯。

真實(shí)場景

代碼編輯器里的“隱形協(xié)作者”

  • AI 實(shí)時(shí)掃描整個(gè) workspace,發(fā)現(xiàn)未使用的 import,觸發(fā) remove-import 工具;
  • 你選中一段代碼按快捷鍵,Agent 調(diào)用 explain-code 工具,結(jié)果直接渲染在編輯器注釋里;
  • 提交前自動(dòng)運(yùn)行 lint-diff 工具,只檢查本次修改的行。

所有動(dòng)作都通過 MCP 調(diào)用,編輯器負(fù)責(zé) UI、光標(biāo)、文件系統(tǒng)權(quán)限;你只提供語義能力。

瀏覽器里的“確定性自動(dòng)化”

不是 Selenium 那種靠 selector 硬拖的自動(dòng)化。MCP 允許 Agent 直接操作瀏覽器上下文:

  • get-page-dom 返回結(jié)構(gòu)化 DOM 樹(不是 HTML 字符串);
  • fill-form 接收字段名和值,由瀏覽器插件精準(zhǔn)填充;
  • download-attachment 返回二進(jìn)制流,Agent 可直接保存或解析。

銀行登錄、發(fā)票下載、競品價(jià)格爬取——規(guī)則明確的操作,成功率接近 100%。

一條 Server,多端復(fù)用

你寫一個(gè)基于 Llama 3 的本地知識(shí)庫 Agent,暴露 query-knowledge-base 工具。

  • VS Code 插件調(diào)它,查項(xiàng)目文檔;
  • Chrome 插件調(diào)它,查公司內(nèi)部 Wiki;
  • 終端里 curl -X POST http://localhost:5000/mcp -d '{"method":"query-knowledge-base","params":{"query":"如何配置 SSO?"}}' 也能查。

Server 邏輯一份,部署一次,所有前端共享。

下一步,現(xiàn)在就能做

  1. 看懂協(xié)議:讀 MCP Specprotocol.md,重點(diǎn)看 list-toolscall-tool 的 JSON 結(jié)構(gòu);
  2. 跑通最小閉環(huán):用上面那段 Flask 代碼,加一個(gè) echo 工具,用 curl 調(diào)通;
  3. 連上 VS Code:裝 MCP for VS Code 擴(kuò)展,指向你的 Server;
  4. 換語言重寫一次:用 Rust(axum)或 Go(net/http)實(shí)現(xiàn)同樣功能,體會(huì)無依賴的輕量;
  5. 加一個(gè)真實(shí)工具:比如 git-diff-summary,用 git diff --staged 解析出變更點(diǎn),返回自然語言摘要。
返回首頁