文章目錄
- 1 MCP協議概述
-
- 1.1 MCP的原理
- 1.2 兩種主要的通信模式
- 2 工具函數的設計與實現
-
- 2.1 tools.py(工具函數)
- 2.2 工具函數的設計原則
- 2.3 工具函數的測試
- 3 MCP服務器的構建與配置
-
- 3.1 安裝mcp庫
- 3.2 main.py(MCP服務器)
-
- 3.2.1 方式一(add_tool方法)
- 3.2.2 方式二(@mcp.tool裝飾器)
- 3.3 調試模式啟動mcp-server
- 4 AI代理的配置與集成
-
- 4.1 stdio模式
-
- 4.1.1 Cherry Studio中的設置
- 4.1.2 聊天測試
- 4.2 sse模式
-
- 4.2.1 main.py
- 4.2.2 Cherry Studio中的設置
- 4.2.3 聊天測試
- 5 附錄
-
- 5.1 開發最佳實踐
- 5.2 參考附錄
通過add_tool方法或者通過@mcp.tool裝飾器將設計好的工具函數注冊到MCP服務器中,然后選擇Cherry Studio作為測試平臺,驗證MCP服務器的功能。
1 MCP協議概述
模型控制協議(Model Control Protocol, MCP)是一種專為實現AI代理與工具解耦而設計的通信協議,為AI驅動應用程序的開發提供了高度的靈活性和模塊化架構。通過MCP服務器,AI代理能夠動態發現并調用各種工具來響應用戶請求。
1.1 MCP的原理
MCP協議建立了AI代理與MCP服務器上托管工具集之間的標準化通信機制。
(1)當用戶向AI代理提交查詢時,代理會從MCP服務器獲取可用的工具列表,將這些工具轉換為AI模型可理解的格式,并與用戶請求一同發送給底層的AI模型。
(2)AI模型根據請求內容和可用工具,決定調用哪個工具并返回相應的執行指令。
這種解耦架構確保了AI代理與工具之間的獨立性,不僅提升了系統的靈活性,還顯著增強了整體架構的可擴展性。
1、MCP Host:
這是運行大型語言模型(LLM)和其他相關組件的主機環境。
LLM:這是核心的人工智能模型,負責理解和生成文本等任務。
MCP Client:這是一個客戶端組件,它位于 LLM 和 MCP Server 之間,負責將 LL