但是有了 MCP,它就可以通過調(diào)用工具來回答這個(gè)問題了:

2、MCP 架構(gòu)設(shè)計(jì)剖析

從宏觀上看,有以下幾個(gè)組件:

在這個(gè)例子中,MCP 客戶端和 MCP 服務(wù)器都存在于用戶的桌面上。桌面 Claude 應(yīng)用是 MCP 客戶端的宿主,也就是說 MCP 客戶端是內(nèi)置在應(yīng)用里的。

第一、MCP 服務(wù)器提供了兩個(gè)工具來返回實(shí)時(shí)信息

對于每個(gè)工具,MCP 都會(huì)調(diào)用相應(yīng)的 Weather API 接口,這些接口就是普通的 HTTP 接口,類似這里的的 API:https://api.weather.gov。

第二、幕后發(fā)生了以下幾步

  1. Claude 桌面應(yīng)用獲取可用工具列表,比如:get_alertsget_forecast
  2. Claude 桌面應(yīng)用把用戶的問題發(fā)送給 Claude LLM。
  3. Claude LLM 分析可用的工具,并決定使用哪些。
  4. Claude 桌面應(yīng)用通過 MCP 服務(wù)器執(zhí)行選定的工具。
  5. Weather API 返回實(shí)時(shí)信息。
  6. 結(jié)果被發(fā)送回 Claude LLM。
  7. Claude LLM 組織自然語言的回答,Claude 桌面應(yīng)用顯示最終答案。

3、MCP 案例落地實(shí)現(xiàn)

為了理解這些組件是如何協(xié)同工作的,我們用了一個(gè)請求圖。請注意,這個(gè)圖已經(jīng)簡化了,省略了一些協(xié)議細(xì)節(jié)。

第一步:MCP 客戶端從 MCP 服務(wù)器獲取可用工具列表

MCP 客戶端與服務(wù)器建立連接并獲取可用工具。這些工具存儲(chǔ)在會(huì)話中,結(jié)構(gòu)如下:

工具名稱、描述和參數(shù)等所有信息都在服務(wù)器端定義。MCP 服務(wù)器的 Python 代碼如下:

第二步:Claude 桌面應(yīng)用把問題發(fā)送給 Claude LLM

工具調(diào)用實(shí)際上是 Claude LLM 支持的功能,并不是 MCP 引入的新特性。根據(jù)官方 Claude LLM 文檔:

如果你在 API 請求中包含 tools,大模型可能會(huì)返回 tool_use 內(nèi)容塊,表示大模型對這些工具的使用。然后你可以使用大模型生成的工具輸入運(yùn)行這些工具,還可以選擇將結(jié)果通過 tool_result 內(nèi)容塊返回給大模型。

上面的工具結(jié)構(gòu)會(huì)被添加到發(fā)送給 Claude LLM 的查詢中。Python 示例代碼如下:

第三步:Claude LLM 分析可用工具并決定使用哪些

有了這些工具,LLM 會(huì)判斷哪個(gè)工具適合用戶的查詢。在這個(gè)例子中,它識(shí)別出對于“紐約現(xiàn)在的天氣是什么?”這個(gè)問題,需要調(diào)用 get_forecast。

由于這個(gè)工具需要兩個(gè)參數(shù):latitude(緯度)和 longitude(經(jīng)度),LLM 知道它需要提供紐約的坐標(biāo),這些坐標(biāo)它從訓(xùn)練數(shù)據(jù)中已經(jīng)知道了。

LLM 會(huì)返回類似以下內(nèi)容:

第四步:Claude 桌面應(yīng)用通過 MCP 服務(wù)器執(zhí)行選定的工具

Claude 桌面應(yīng)用會(huì)利用協(xié)議去查詢天氣 API。由于協(xié)議設(shè)計(jì),請求會(huì)依次經(jīng)過 Claude 桌面應(yīng)用、MCP 客戶端和 MCP 服務(wù)器。

第五步:Weather API 返回實(shí)時(shí)信息

Weather API 的響應(yīng)會(huì)按相反的順序返回,首先到達(dá) MCP 服務(wù)器,然后是 MCP 客戶端,最后到達(dá) Claude 桌面應(yīng)用。返回的內(nèi)容看起來像這樣:

第六步:結(jié)果被發(fā)送回 Claude LLM

Claude 桌面應(yīng)用會(huì)把原始查詢“紐約現(xiàn)在的天氣是什么?”以及第五步中的天氣預(yù)報(bào)內(nèi)容一起發(fā)送給 Claude LLM。

第七步:Claude LLM 組織自然語言回答,Claude 桌面應(yīng)用顯示最終答案

Claude LLM 組織自然語言回答,Claude 桌面應(yīng)用顯示最終答案?;谔峁┑念A(yù)報(bào)數(shù)據(jù),LLM 創(chuàng)建了一個(gè)友好的回答,然后在桌面應(yīng)用上顯示:

以上就是實(shí)時(shí)天氣查詢案例的整個(gè)流程!正如你所看到的,這是一個(gè)標(biāo)準(zhǔn)化和簡化 LLM 與外部工具或資源協(xié)作的機(jī)制。

4、為什么需要 MCP ?

MCP 是如此簡單,以至于你幾乎不需要它來協(xié)調(diào)工具調(diào)用。然而,它有助于標(biāo)準(zhǔn)化資源,社區(qū)已經(jīng)迅速開發(fā)了許多有用的 MCP 服務(wù)器。有幾百個(gè)現(xiàn)成的服務(wù)器可供使用,比如:GitHub、Jira、Slack、Cloudflare、Blender 等等,而且這個(gè)列表還在不斷增長。你可以簡單地將它們添加到你的 Claude 桌面應(yīng)用或任何宿主(比如:IDE 或聊天客戶端)中,以擴(kuò)展其功能!

除了這個(gè)簡單例子中使用的工具或函數(shù),MCP 還支持其他功能:

5、最后的話

MCP 生態(tài)系統(tǒng)還很新,但它確實(shí)引起了很大的關(guān)注。隨著開發(fā)者們紛紛用它來構(gòu)建創(chuàng)新的應(yīng)用程序,它會(huì)進(jìn)一步成熟。

雖然 MCP 顯著增強(qiáng)了 AI 的能力,但它也帶來了新的安全威脅,我們在另一篇文章中再討論安全問題。

文章轉(zhuǎn)載自: MCP 企業(yè)級(jí)落地案例架構(gòu)設(shè)計(jì)和落地實(shí)戰(zhàn)

上一篇:

構(gòu)建 MCP 服務(wù)端并將其無縫接入 LangGraph

下一篇:

2025 跨境電商獨(dú)立站 API 終極指南:PayPal、Stripe 收款 + 順豐、DHL 發(fā)貨一鍵整合
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場景實(shí)測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對比試用API 限時(shí)免費(fèi)