MCP不止工具調用!MCP聯合創建者:絕大多數人用法都太初級!曝MCP五大原語、高階玩法:豐富人機交互體驗 原創
編輯 | 云昭
出品 | 51CTO技術棧(微信號:blog51cto)
上周末,Anthropic 一口氣放出了很多內部核心貢獻工程師的分享。此前小編分享了??他們內部的 ClaudeCode 的最佳實踐指南??,今天一不留神,發現他們把 MCP 協議的設計哲學、開發技巧、未來計劃也同步放了出來。
如今,沒有哪家大廠不擁抱 MCP。不止國內的阿里、字節、騰訊、百度、京東,即便是國外的即便是 Anthropic 死對頭的 OpenAI 也表示全面支持 MCP 協議。
所以,這次 Anthropic 將內部分享放出來,可以說是又“哥們兒”了一把。
這次的分享者是,David Soria Parra,是他們 AI 技術團隊成員,同時也是MCP 的聯合創建者。
“MCP 服務將不再只是本地 Docker 容器,而是一個網站。Web 化才是 MCP 未來的關鍵。”
“大多數人使用MCP都太簡單了,它不止是工具調用,它還可以做很多豐富人機交互體驗的部分。”
在“Code w/ Claude” 分享中,David 詳細解構了 MCP 的五大原語鑰匙:Prompt、Resource、Sampling、Roots、Tool,每一個原語背后都是一個潛力巨大的交互魔法,并進一步闡述了 MCP 團隊正在計劃開展的工作,比如構建復雜的 MCP 鏈式調用等。
總之,MCP 協議的設計哲學、原語組合方式、Web 化趨勢,包括一些掛件的技術細節,比如:如何鑒權、如何Scaling等等,以及未來它可能帶來的革命性變革,全都在這場分享里了。
圖片
如果大家正在構建自己的 AI 應用,或者正在研究 MCP,這篇內容,值得你收藏細看。
話不多說,分享的原文整理如下。
1.聯合創建者:大多數人都沒有用好MCP
大家好,我叫 David,是 Anthropic 的一名技術工程師,同時也是 MCP 協議的聯合創建者之一。今天我想和大家分享一些關于這個協議的深入內容,特別是它的更多可能性。
圖片
目前,大多數人使用 MCP 協議主要是為了調用工具(Tool Calls),但實際上它的能力遠不止于此。我的目標是向你展示 MCP 協議還能做什么,以及你如何用它構建更豐富的人機交互體驗,尤其是超越傳統工具調用的那部分。
圖片
我會先介紹一些我們稱為“原語(primitives)”的概念,也就是 MCP 協議中服務器向客戶端暴露信息的基本方式。之后,我會分享一些鮮為人知但非常實用的協議能力,最后再談談 MCP 的未來發展方向,尤其是如何將它引入 Web 世界。
2.Prompt:被忽視的“預設模版”
我們先從一種鮮有人知的 MCP 原語說起:Prompt。
這里的 Prompt 并不是我們通常理解的“提示詞”,在 MCP 中,它是一種由服務器預設的 AI 交互模版,用戶可以直接將這些文本模版添加進上下文窗口,從而引導 AI 如何與你的 MCP 服務交互。
圖片
主要有兩個用途:
- 作為使用示例:你作為 MCP 服務器的開發者最了解它的用法,因此提供 Prompt 給用戶,是一個傳達最佳使用方式的好方法。
- 動態能力:Prompt 本質上是可以執行的代碼,因此不僅是靜態文案,而是動態模版。你可以讓它根據上下文或參數實時生成內容。
舉個例子,我在 Z 編輯器中使用 MCP Prompt 從 GitHub 拉取我提交的 PR 評論,并把它們注入到上下文窗口中,這樣我就能直接讓模型幫助我修改代碼或處理評審反饋。
這與 Tool 的最大區別在于:Prompt 是用戶主動觸發的行為,而 Tool 是模型決定何時調用的行為。
進一步地,Prompt 還能支持“補全”。比如,當用戶觸發某個 Prompt 時,彈出列表讓他選擇具體的 Pull Request,這是一個通過參數動態構造 Prompt 的方式。
圖片
這其實很簡單,在 TypeScript 中用不到幾行代碼就能實現,而且大多數時候 Claude Code + Claude 4 模型本身就能幫你自動完成。
圖片
3.Resource:上下文之外的資源暴露
第二個原語是 Resource,資源。
與 Prompt 更偏向文本片段不同,Resource 是暴露給客戶端的原始內容或數據,比如文件、數據庫結構、網頁等等。
圖片
它的作用:
- 用戶可以選擇將其添加進上下文,和 Prompt 類似;
- 應用層還能基于它進行額外處理,比如構建 Embedding 并進行 RAG(檢索增強生成)。
舉個例子,我在 Cloud Desktop 中“暴露”了一份 PostgreSQL 數據庫的 Schema,并將其作為文件資源加載進來,接著 Claude 自動為我繪制了一張可視化數據庫結構圖。
圖片
Resource 給應用端提供了非常大的擴展空間。
4.Tool:模型主導的行為調用
第三個原語是大家最熟悉的——Tool,也就是工具調用。大多數人開發 MCP 服務就是為了暴露 Tool,讓模型可以主動調用某個動作,比如查詢數據庫、執行腳本等。
圖片
這是你第一次看到模型“自動做一件你寫好的事”時最有魔力的時刻。Tool 是由模型驅動觸發的行為。
5.Interaction Model:三者的協作邏輯
現在我們已經有了三種原語(Prompt、Resource、Tool),但你可能會問:我該什么時候用哪個?
圖片
這就需要引入 MCP 中一個被低估的設計:交互模型(Interaction Model)。
圖片
它描述的是:
- Prompt 是用戶主導的(例如 Slash 命令);
- Resource 是應用主導的(自動加載或推薦);
- Tool 是模型主導的(由 AI 自動決定何時調用)。
一個完善的 AI 應用,就應該協調好這三者的關系,從而在用戶、應用、模型三者之間建立更豐富的交互鏈條。
圖片
6.Sampling:讓模型調用“由客戶端控制”
接下來介紹一個更高級但目前支持較少的原語:Sampling。
假設你做了一個 MCP 服務器,功能是總結 Issue Tracker 的對話。你可能想調用 Claude 來生成摘要,但此時有個問題:你不知道客戶端用的是哪種模型,也沒有用戶的 API Key。
Sampling 提供了解法:讓服務器向客戶端發起一個“請求補全”的調用,由客戶端選定模型并返回結果。好處是:
- 用戶完全掌控成本、安全、隱私;
- 多個 MCP 服務可以串聯,通過 Sampling 遞歸地請求模型補全,構建復雜的鏈式調用(Chain of MCP Servers)。(這里是個重點)
圖片
圖片
雖然目前還不太被廣泛支持,但我們計劃在今年為官方產品引入 Sampling 能力。
7.Roots:獲取客戶端環境信息
另一個很少被提到但很實用的原語是:Roots。
比如你想做一個 MCP Git 工具,幫用戶在 VS Code 中操作 Git 命令。你需要知道:當前打開的項目路徑是啥?Roots 就是讓 MCP 服務可以向客戶端(如 VS Code)詢問這些環境信息,從而限定操作范圍,避免誤操作。
圖片
8.五大原語總結
所以 MCP 協議目前包含五個核心原語:
- Prompt(用戶主動)
- Resource(應用主動)
- Tool(模型主動)
- Sampling(客戶端協助補全)
- Roots(客戶端環境交互)
如何將它們組合,是構建強大 AI 服務體驗的關鍵。
圖片
9.MCP 的未來:Web 化
目前超過一萬個 MCP 服務都運行在本地環境中。但我們認為 MCP 的未來在 Web。
圖片
Web 化 MCP 服務意味著:
- MCP 服務將不再是本地 Docker 容器,而是一個網站;
- 客戶端直接連接網站暴露的 MCP 接口進行交互。
為實現這一點,我們必須解決兩個核心問題:
圖片
1) 鑒權(Authorization)
我們采用 OAuth 2.1 協議,讓用戶通過 Web 登錄授權后,將其私有數據安全暴露給 MCP 服務。
這不僅讓服務更可信(你信的是官網而非陌生開發者),也便于企業集成,例如通過 Azure AD、Okta 等單點登錄系統完成企業內部 MCP 服務部署。
圖片
圖片
2)擴展性(Scaling)
為此我們新增了 可流式傳輸的 HTTP 模式(Streamable HTTP)。你可以:
- 直接同步返回 JSON(像普通 REST API);
- 或者開啟流式通道,先返回部分信息,再動態推送更多內容。
這使得 MCP 服務具備現代 API 所需的擴展性,能支持大規模并發。
圖片
圖片
這里小編多提一嘴,MCP 的 Web 化目前也是一個前沿的研究方向,除了協議層面的流式傳輸模式外,小編注意到已經有一些創業公司開始著手打造一種 MCP 的 Web UI,目標是“標準化模型和工具如何在客戶端應用中請求展示豐富 HTML 界面的方式”。聽起來,這種方式和 iOS 或 Android 開發者在 App 中嵌入 WebView 類似。大家可以關注一下。
10.即將上線的功能
我們接下來會推出:
- 異步任務支持:為 Agent 執行長時間任務奠定基礎;
- 用戶交互請求(Elicitation):服務端可主動向用戶請求輸入;
- 官方注冊中心:一個用于發布和發現 MCP 服務的統一平臺;
- 多模態能力:如流式多模態輸出;
- 新語言 SDK 支持:如 Ruby(由 Shopify 捐贈)和 Go(由 Google 團隊開發)。
圖片
MCP不止tool calls而是豐富交互體驗的系統協議
從去年11月誕生以來,到今年年初的爆火,再到各大互聯網巨頭的積極擁抱。發展至今,MCP 協議已經遠不止是一個“工具調用協議”,它更像是一整套讓 LLM 與客戶端構建豐富交互體驗的系統協議。
好了,今天這篇文章分享就到這里了,如果你也正在使用 MCP 工具,或者正在開發 MCP Server,歡迎評論去交流。
參考鏈接:https://www.youtube.com/watch?v=HNzH5Us1Rvg&t=432s
本文轉載自??51CTO技術棧??,作者:云昭

















