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

深度学习-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.xdnf.cn/news/18326.html

相关文章:

  • TensorFlow 面试题及详细答案 120道(11-20)-- 操作与数据处理
  • 【Linux】文件系统
  • 前端面试核心技术30问
  • 《C++进阶之STL》【二叉搜索树】
  • 神经网络中的那些关键设计:从输入输出到参数更新
  • Python 函数进阶:深入理解参数、装饰器与函数式编程
  • Java 大视界 -- Java 大数据在智能物流无人配送车路径规划与协同调度中的应用
  • 暴雨中的“天眼”:天通哨兵PS02卫星图传系统筑牢防汛安全网
  • 前端面试题1
  • 边缘智能体:Go编译在医疗IoT设备端运行轻量AI模型(上)
  • Springboot使用Selenium+ChormeDriver在服务器(Linux)端将网页保存为图片或PDF
  • Rust学习笔记(七)|错误处理
  • 0819 使用IP多路复用实现TCP并发服务器
  • 反向代理实现服务器联网
  • Auto-CoT:大型语言模型的自动化思维链提示技术
  • 微服务-08.微服务拆分-拆分商品服务
  • 深度学习环境搭建Windows+ TensorFlow 2.6.0 GPU 版
  • 亚矩阵云手机智能定位:助力Snapchat矩阵账号的本地化内容运营穿透技术
  • Apache IoTDB(4):深度解析时序数据库 IoTDB 在Kubernetes 集群中的部署与实践指南
  • 连接远程服务器上的 jupyter notebook,解放本地电脑
  • VSCode 从安装到精通:下载安装与快捷键全指南
  • 11.第11章 开发环境优化
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day7
  • Nacos-6--Naco的QUIC协议实现高可用的工作原理
  • 2025年- H98-Lc206--51.N皇后(回溯)--Java版
  • ARM架构下的cache transient allocation hint以及SMMUv2的TRANSIENTCFG配置详解
  • EasyExcel篇
  • OVS:ovn为什么默认选择Geneve作为二层隧道网络协议?
  • 【CV 目标检测】Fast RCNN模型③——模型训练/预测
  • c++最长上升子序列长度