前言
隨著 DeepSeek 等大語言模型(LLM)的廣泛應用,如何找到合適的場景,并基于這些大模型構建服務于各行各業的智能體成為關鍵課題。在社區中,支持智能體開發的基礎設施和工具層出不窮,其中,Anthropic 推出的 MCP 在連接 LLM 與多源數據方面表現尤為突出。
本文將通過以下幾個問題,探討 MCP 在推動物聯網智能化轉型方面的潛力與應用前景:
- 能否利用 MCP 為大量設備賦予智能化的能力?
- 在物聯網場景下,MCP 是否存在一些短板?
- 如何通過 MQTT 與 MCP 的深度集成,快速將新舊設備接入 AI 應用生態?
MCP 概覽
MCP(Model Context Prototol)是由 Anthropic 公司在 2024 年 11 月份推出的開放標準協議??,旨在建立 LLM 與外部數據源、工具和服務之間的標準化通信框架,解決數據孤島問題,提升 AI 應用與多源信息的交互效率?。其主要的技術架構與核心組件如下:
- MCP Hosts?:發起請求的 LLM 應用程序(例如 Claude Desktop、IDE 工具等)。
- MCP Clients?:在主機內運行的協議客戶端,與服務器保持 1:1 連接?。
- MCP Servers?:提供上下文、工具和提示信息的輕量級程序,支持本地和遠程資源訪問(如文件、數據庫、API)。
MCP 技術優勢與特性
- 開發簡化?: 一次編寫可多次集成,無需為每個新工具重寫定制代碼?。
- 動態交互?: 支持實時上下文更新與交互,提升響應效率?。
- 安全可控?: 內置訪問控制機制,僅允許 LLM 通過明確定義的接口執行授權操作?。
- 擴展靈活?: 通過新增 MCP Server 即可接入新功能,類似「插件化」擴展?。
MCP 的 AI 應用場景
- 智能 IDE?: 通過 MCP 連接代碼庫、文檔,實現上下文感知的編程輔助?。
- 數據分析?: 安全訪問本地數據庫,執行 SQL 查詢并生成可視化報告?。
- 工作流集成?: 與企業內部系統(如 CRM、ERP)集成,自動執行復雜任務?。
自 MCP 推出以來,與其相關的 Server 服務快速增長。截至目前,https://mcp.so/servers 上共計有 4245 個相關服務,包含數據/數據庫類、云平臺、瀏覽器自動化等多種類型。基于這些服務,各種 Client 應用能夠根據自身需求,輕松連接不同的外部數據源及工具,并利用 AI 的推理能力對工作流進行編排和調度,實現智能化應用的快速開發。
MCP 在 IoT 場景中的應用前景
物聯網設備通過數據上報讓數字世界能夠感知實際物理環境,同時,通過暴露的操作接口,允許人類或數字世界對物理世界的設備進行控制和操作,以滿足用戶的特定需求。當前,大多數物聯網系統主要依賴 MQTT 協議進行交互,而 MCP 架構設計與物聯網的「物模型」概念非常吻合,這種天然的匹配讓 MCP 在物聯網領域大有可為,既能兼容現有 MQTT 系統,又能更好地連接設備和 AI 應用。
物模型介紹
物模型是物理空間中實體(如傳感器、車載裝置、樓宇、工廠等)在云端的數字化表示,它通過屬性、服務和事件三個維度來描述實體的特性、功能及其對外提供的信息,從而完成產品功能的定義。
- 屬性: 設備的實時狀態數據。例如環境監測設備顯示的溫度和濕度、智能設備的開關狀態等。
- 服務: 設備可執行的操作指令。服務調用支持設置輸入參數(執行條件)和輸出參數(執行結果)。例如空調的溫度調節、電機的啟停控制等。
- 事件: 設備主動上報給云端的信息。包含需要被外部感知和處理的信息、告警和故障,支持多參數上報。例如設備故障報警、環境異常預警等。
MCP 提供的能力
- 資源(Resources): 可供客戶端讀取的數據內容,例如 API 返回的數據或文件內容等。
- 工具(Tools): 在用戶批準后,由大型語言模型(LLM)調用的功能模塊。
- 提示詞(Prompts): 預設的模板,以輔助用戶完成特定任務。
對比物模型的三個維度和 MCP 提供的能力,可以看出其對應關系:
物模型的屬性和事件對應 MCP 的資源,為 LLM 理解物理設備提供了元數據和實時的狀態信息;物模型的服務對應 MCP 的工具,允許 LLM 在用戶授權后訪問相關的信息或調用設備功能。
物模型與 MCP 的高度相似性,為構建 AI 時代的物聯網系統提供了可行的結合點:
設備廠商可以提供與設備相關的 MCP 服務,也可以直接將現有的物模型接口(如 HTTP 接口)封裝成 MCP 服務,并提供對應的資源、工具和提示詞;智能手機等終端應用可以根據用戶需求,靈活定義或者編排工作流,自動調用設備的 MCP 服務進行相關操作。
基于 MCP 為 AI 系統提供的設備接入能力,終端用戶得以通過自然語言等方式直接與物理設備進行智能交互。例如:在智能家居場景中,用戶可以使用自然語言和手機 App 對話「我一個小時后到家,把客廳的溫度調整到 25 度,濕度保持在 40」。
- MCP 出現之前,該功能的實現需要開發者針對不同的設備型號和版本進行繁瑣的接口適配。
- MCP 出現之后,諸如 DeepSeek 等 LLM 可以根據用戶的自然語言描述,自動理解設備提供的能力,智能調度相關的 MCP 服務,實現設備控制和管理,無需人工編寫特定規則或代碼,提升了設備之間的互操作性和智能化水平。
MCP 在 IoT 場景中的限制
當前,MCP 協議的設計主要基于標準輸入和輸出 (stdio) 和 HTTP + SSE 兩種方式,前者適合在本地的 MCP Client 與 Server 之間的調用,后者更適合網絡遠程通信。
在 IoT 場景中,理想的實現方式是在設備端部署 MCP Server,由移動應用等客戶端作為 MCP Host 通過 MCP Client 與 MCP Server 進行交互,實現智能編排和調用。然而,在實際應用中存在多種制約:
- HTTP 和 SSE 協議對設備資源要求較高,中低端設備受限于存儲、計算和電力條件難以支持。
- 設備通常部署在移動、野外、工廠等網絡條件較差的環境,現有方案無法保證服務的可靠性。
- 物聯網已經基于 MQTT 建立起完整的生態,引入 SSE 需要額外構建權限訪問控制體系,增加系統負擔。
- 對于僅支持 MQTT 協議的客戶端設備,為使用 MCP 協議需要額外引入對 HTTP 的支持。
- 物聯網設備的規模通常達到數萬至數十萬量級,當前 MCP Client 直連 MCP Server 的設計模式,難以管理大量的設備。
MCP over MQTT 方案構想
為了解決上述問題,EMQ 提出 MCP over MQTT 方案,希望從底層協議上為設備的智能化升級提供幫助。
該方案為不同配置的設備提供差異化支持。
對計算能力受限的設備,提供兩種不同的方案:
- 外置代理方案: 在 EMQX 外部開發和部署 MCP Server,通過 MQTT 協議處理相關的物聯網數據,并通過 MCP over MQTT 協議與 MCP Client 進行交互。
- 內置代理方案: 在 EMQX 內部實現代理 MCP Server,由其代理相關設備的操作。
對于具有較高計算、存儲能力的設備,直接提供 MCP over MQTT SDK 開發 MCP Server 的原生方案。
MCP over MQTT 方案將底層網絡協議從 HTTP + SSE 轉換為 MQTT,顯著提升了弱網環境下的通信可靠性。同時,EMQX 作為消息中間件,能夠為海量 MCP Server 提供完整的服務發現能力,以及內置的認證、權限管理等功能,提高系統的安全性和穩定性。
外置代理方案
-
MCP Server(Device 代理)
- 設備通過 MQTT 協議把數據上報給 EMQX,MCP Server 通過訂閱相關主題獲得設備信息,并利用 MCP 提供的資源(resources)或者工具(tools)將上傳的數據暴露出來。
- 設備控制報文同樣通過 MQTT 協議經由 EMQX 傳遞給設備,對外通過 MCP over MQTT 協議把這些工具(tools)暴露出來。
-
App 應用端
- 通過 MCP over MQTT 協議經由 EMQX 與遠程的 MCP Server 進行通信,獲取設備相關的狀態,以及調用控制指令。
- 也可以通過標準的 MCP 和其他 MCP Server 進行通信,實現與其他系統的集成。
這一方案的最大優勢在于,既有的物聯網設備無需任何改造即可獲得 AI 交互能力,完整保留了 MQTT 協議在低功耗和弱網環境下的固有優勢。結合 EMQX 提供的高并發連接和高可用特性,該方案能夠快速構建生產可用的智能物聯網應用,有效解決了傳統設備智能化升級的兼容性和實施成本問題。
內置代理方案
代理方案相較于外置方案,核心改進在于將 MCP Server 直接集成到 EMQX 內部運行,并提供一些內置的工具和能力來提升系統性能(而非減少 EMQX 和 MCP Server 之間跨越的節點數)。同時,由于 MCP Server 作為 EMQX 的內置組件運行,顯著降低了運維復雜度,使得 MCP Server 應用的開發和管理更加便捷高效。
原生(Native)方案
原生方案面向具備高性能計算和存儲能力的高附加值新型設備(如智能汽車、3D 打印機等),通過在設備端原生集成 MCP 服務,直接采用 MCP over MQTT 協議與 EMQX 建立通信連接。該方案中,MCP Client 通過標準化的 MCP over MQTT 協議直接與設備端的 MCP Server 進行交互,實現端到端的智能化控制。例如:
現在有兩臺 3D 打印機,service-name 分別為:
3D-Printer/ACH301/EECF7892AB1
3D-Printer/ACH301/CAED99C2EE2
其中 3D-Printer/ACH301/
是分層級的設備類型,而 EECF7892AB1
, CAED99C2EE2
是設備 ID。
客戶端(移動端 App) 首先查詢當前用戶名的權限,比如,通過查詢得知只能訪問 ACH301
型號的打印機。然后通過訂閱相關的主題來獲取 ACH301
打印機支持的 tools(即該打印機的對外提供的能力),App 就可以實現對這個設備的智能化調用。
這種新型的智能化物聯網平臺架構,適用于 M2M 的場景: 設備廠商可以在設備里內置功能完善的 MCP Server(包括建議的提示詞模板),物聯網平臺采購設備之后,無需為每種設備單獨編寫指令,通過統一的客戶端智能化訪問,實現了專業化的分工:
- 設備廠商專注于設備側功能的實現;
- 物聯網平臺專注于提升智能客戶端(包括語音交互等)的用戶體驗。
MCP over MQTT 協議初探
特性
MCP over MQTT 將會在保留 MCP 原有功能的基礎上,增加以下能力:
- 服務發現:通過 MQTT 協議的保留消息和遺囑消息等特性,MCP Clients 可以自動發現可用的 MCP Servers。
- 服務端線性伸縮:通過 MQTT 協議的共享訂閱特性,MCP Server 在保持服務狀態(Stateful)的情況下,實現了線性的擴容和縮容。
- 中心化認證:依賴 MQTT Broker 作為中心化的消息中間件,有更多成熟的認證和鑒權方案可用。
未來,通過在 MQTT Broker 中集成 MCP Server 插件的方式,還可以進一步簡化 MCP Server 部署難度并優化數據傳輸效率。
限制
MCP over MQTT 協議主要面向遠程部署 MCP Server 的場景,其架構設計依賴于中心化 MQTT Broker 的支撐。雖然本地部署的 MCP Server 也能夠使用 MCP over MQTT 協議,但可能會增加部署上的復雜性。
總結和展望
目前,EMQ 已完成 MCP over MQTT 技術方案的初步驗證,并構建原型系統進行測試。研發團隊正聚焦協議架構的標準化設計與工程實現,下一階段將針對關鍵的技術節點展開深度驗證與性能優化。
我們可以預見,這一方案的落地將為物聯網領域開啟一個嶄新的 Agentic 時代:EMQX Platform 提供協議適配與中心化服務管理能力,解決數據孤島與碎片化瓶頸;DeepSeek 等 LLM 提供自然語言理解與推理能力,將用戶需求動態轉化為設備可執行的操作流。
通過兩者結合,企業可以將海量異構設備無縫接入基于 MCP 的 AI 生態,大幅降低老舊設備智能化改造成本,同時獲得快速構建跨場景、跨系統的智能應用能力。基于 MCP over MQTT 的 Agentic IoT 將真正實現從「萬物互聯」到「萬物智聯」的轉變,重塑企業的智能化轉型之路。
版權聲明: 本文為 EMQ 原創,轉載請注明出處。 原文鏈接:https://www.emqx.com/zh/blog/mcp-over-mqtt