深度学习-167-MCP技术之工具函数的设计及注册到MCP服务器的两种方式
文章目录
- 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