為了拓展大模型的功能,現在越來越多的模型支援調用工具以實現自身無法完成的功能,例如網頁搜尋、文件建立等。基於此,逐漸延伸出workflow和agent的業務框架。為了滿足工具的通用性需求,類似USB協議的MCP協議應運而生。透過標準化協作,MCP協議使得大模型能夠無縫連接外部世界。
過去,大型模型與瀏覽器、資料庫、程式碼倉庫等外部工具的對接通常採用「一對一」的客製化方式——不同模型有不同的工具調用標準,開發者需要重複適配,效率低下且兼容性差。而MCP協議的核心價值之一在於建立了統一的「AI-工具通信語言」。在安全與治理層面,MCP支援細粒度的權限控制,例如限制模型可訪問的檔案目錄,從而防止敏感資訊洩漏。這一特性也與邊緣運算的優勢相契合,提升了資料安全性。同時,大型模型的強大互動能力也很好地彌補了邊緣運算在互動性方面的不足。
網路上的MCP基本上是提供軟體能力的MCP,如果再加上硬體能力的MCP,大模型的能力邊界是不是可以更廣呢?本篇文章就讓小編帶大家使用邊緣設備來實現MCP協議。
實現步驟(這裡以Synaptics的Astra SL1640為例):
1. 建立環境
安裝pip:
python3 -m ensurepip --upgrade
安裝uv:
pip3 install uv
2. 建立專案
初始化專案:
uv 初始化 astra_mcp
cd astra_mcp
新增專案依賴套件:
uv 添加 "mcp[cli]" httpx
3. 撰寫MCP Server腳本
建立MCP並設定監聽端口:
設定監聽8050端口,這樣可以讓其他設備透過HTTP網路訪問該MCP。

定義MCP的工具:
在定義工具時,務必要清楚地註解或描述變數,因為大模型會透過這些資訊來判斷工具的用途以及如何傳遞參數。

執行腳本的傳輸類型:
MCP支援不同的傳輸類型:
- `streamable-http`:支援多個客戶端訪問。
- `stdio`:僅支援單一客戶端存取,適合用於除錯。

4. 開啟MCP伺服器
執行腳本:
執行 uv run main.py
5. 除錯與測試
透過HTTP發送指令即可收到回覆。建議使用官方調試工具MCP Inspector。
執行MCP Inspector(這個工具可以在任何環境中運行,詳情請參考官方指南):
npx @modelcontextprotocol/inspector
連接MCP地址:

在瀏覽器中輸入MCP地址進行連線。在介面中可以查看當前連線的MCP所包含的工具,並輸入參數測試工具的有效性。

至此,一個MCP Server就已經搭建完成了,但尚未涉及邊緣計算和LLM的使用,這部分內容將在下一篇部落格文章中詳細介紹,歡迎關注。
以上是本期部落格文章的全部內容,如有疑問請在文章下方留言評論,或者聯繫我們,我們會盡量安排處理(o´ω`o)و。感謝大家的瀏覽,我們下期再見。
FAQ 1:MCP與傳統工具調用方式相比有什麼不同?
A1:傳統方式通常是客製化開發,效率低且相容性差;而MCP透過統一協議實現標準化,顯著提升了開發效率和工具相容性。
FAQ 2:MCP協議的主要優勢是什麼?
A2:MCP協議的主要優勢在於標準化工具調用介面,提升了相容性和開發效率,同時支援細緻的權限控制以增強安全性。
FAQ 3:如何確保MCP的安全性?
A3:透過設定訪問權限、限制檔案目錄範圍以及監控資料傳輸,MCP可以有效防止敏感資訊外洩。
FAQ 4:MCP是否支援跨平台使用?
A4:是的,MCP協議設計為跨平台相容,可以在不同作業系統和設備上運行。
FAQ 5:如何擴展MCP的功能?
A5:可以透過定義新的工具並添加到MCP Server中來擴展其功能。
FAQ 6:如何調試MCP Server?
A6:可以使用MCP Inspector工具,透過瀏覽器連接MCP地址,查看工具列表並測試其功能。
FAQ 7:MCP是否適合大規模應用?
A7:適合。MCP的標準化設計和高相容性使其能夠支援大規模應用場景。
評論