MCP汇总笔记

  1. 目的: 解决 function call 平台依赖性强
  2. MCP (Model Context Protocol,模型上下文协议)定义了应用程序和 AI 模型之间交换上下文信息的方式。
    MCP 使得开发者能够以一致的方式将各种数据源、工具和功能连接到 AI 模型(一个中间协议层),就像 USB-C 让不同设备能够通过相同的接口连接一样。

     

  3. 整体流程

  4. 区别

  5. 组成: host(交互) , client(建立与sever的连接), server(tools), 其中server包含如下:
  • Tools:使大语言模型能够通过你的 Server 执行操作。
  • Resources:将 Server 上的数据和内容开放给大语言模型。
  • Prompts:创建可复用的提示词模板和工作流程。

  1. 通信流程sse Transport (主要分sse 和本地标准io通信 stadio两种)
    1. 建立连接:通过 /sse 建立连接, 这时会返回一个专用的消息发送端点endpoint
    2. 初始化:请求该endpoint, 并获取server的功能列表
    3. 工具调用
      1. 获取toolList
      2. 执行tool
  1. 通信特点
    1. 双向异步,接收通过sse,发送通过http, 前者仅用于推送数据,后者其实只用来判断2xx
      其中每向http中发送一个请求,sse就会返回一次消息,

  1. mcp只是提供了一个默认的system prompt
您是一个有用的助手, 可以访问这些工具:{ tools_description} 根据用户的问题选择合适的工具。 如果不需要工具, 请直接回复。
重要提示: 当您需要使用工具时, 您必须只回复下面确切的JSON对象格式, 不回复别的内容: {
    "tool": "tool-name",
    "arguments": {
        "argument-name": "value"
    }
}
收到执行结果后:
(1) 将原始数据转换为自然的对话式响应
2.保持回答简洁但信息丰富
3.关注最相关的信息
4.使用用户问题中的适当上下文
5.避免简单地重复原始数据
你只能使用上面明确定义的工具。
  1. 模型怎么决定需要调用哪些fc:
    模型是通过 prompt engineering,即提供所有工具的结构化描述和 few-shot 的 example 来确定该使用哪些工具。

理解其本质

1.采用client-host-server架构,支持多种服务器连接;

2.实现了有状态的双向RPC模型,结合了事件驱动特性;

3.提供了标准化的工具调用和资源访问机制;

4.支持动态能力协商和功能发现;

5.相比较MQ、API、WS,占据了独特的功能位置,专为AI应用与外部系统集成而优化;

总结

  1. mcp是一套协议,其中定义的一些组件,需要承担特定的作用

  2. 其中mcp的优势
    1. mcp的链路中,会不断去获取tool list,如果参数什么的发生变化,会被立刻感知到,而不像原来那样如果tool发生了参数变化,会导致调用报错
    2. 通过prompt和tool对协议的遵守,来指定一套tool api标准的接口协议,当大模型返回planing的结果之后,直接拿去做调用,而不是有不同的api格式,去对接不同的厂商,这也是为什么说mcp协议是转接口
    3. 两个协议,http+sse,根据tools的情况可以来回切换
  1. 核心代码
 async def request(self, req: McpRequest):
        if req.method == "initialize":
            await self.queue.put({"event": "message", "data": self.response(self.info, req.id)})
        elif req.method == "tools/list":
            await self.queue.put({"event": "message", "data": self.response({"tools": self.list_tool()}, req.id)})
        elif req.method == "tools/call":

参考: https://mp.weixin.qq.com/s?src=11&timestamp=1750658017&ver=6069&signature=20-uv0mGOkNLANdVO4-iy2J0bhTbpth8KHnJ*xG2S2ZlVSyi4ShzQyoa9npwpFaVFNN8B8rgvUb5l9PmmxIIuOlSpIBinE9kqyYUx3s6QAP9phmuJeVP2ottSfV*2Sps&new=1&poc_token=HCTsWGijSExf_3mroPqs85FjIJNUOjGqIitaydpi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值