当前位置: 首页 > news >正文

深度学习-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

http://www.lryc.cn/news/625881.html

相关文章:

  • 应用控制技术、内容审计技术、AAA服务器技术
  • Commons-io
  • Syntax Error: Error: PostCSS received undefined instead of CSS string
  • CSS封装大屏自定义组件(标签线)
  • 2025年6月中国电子学会青少年软件编程(图形化)等级考试试卷(一级)答案 + 解析
  • LangChain —多模态 / 多源上下文管理
  • 云原生俱乐部-mysql知识点归纳(3)
  • 【论文阅读】SIMBA: single-cell embedding along with features(1)
  • 《Dual Prompt Personalized Federated Learning in Foundation Models》——论文阅读
  • 自然语言处理(NLP)技术的发展历史
  • 【QT入门到晋级】进程间通信(IPC)-socket(包含性能优化案例)
  • Python爬虫实战:研究ICP-Checker,构建ICP 备案信息自动查询系统
  • GIS在海洋大数据的应用
  • 数据结构:深入解析常见数据结构及其特性
  • 3 创建wordpress网站
  • 【实时Linux实战系列】实时大数据处理与分析
  • 【数据库】通过‌phpMyAdmin‌管理Mysql数据
  • 计算机毕设推荐:痴呆症预测可视化系统Hadoop+Spark+Vue技术栈详解
  • [Polly智能维护网络] 网络重试原理 | 弹性策略
  • 图像采集卡与工业相机:机器视觉“双剑合璧”的效能解析
  • CMake进阶: CMake Modules---简化CMake配置的利器
  • 小迪安全v2023学习笔记(六十六讲)—— Java安全SQL注入SSTISPELXXE
  • Webpack 5 配置完全指南:从入门到精通
  • 云手机矩阵:重构企业云办公架构的技术路径与实践落地
  • HarmonyOS 中的 泛型类和泛型接口
  • oc-mirror plugin v2 错误could not establish the destination for the release i
  • 力扣hot100:三数之和(排序 + 双指针法)(15)
  • 缓存-变更事件捕捉、更新策略、本地缓存和热key问题
  • 数据迁移:如何从MySQL数据库高效迁移到Neo4j图形数据库
  • 在CentOS系统中查询已删除但仍占用磁盘空间的文件