MCP (Model Context Protocol,模型上下文协议) 是一个很棒的点子,是由 Anthropic 在 2024 年底推出的一种开放协议,用于标准化应用程序向大语言模型提供上下文的方式。
可以将 MCP Server 想象为是LLM的扩展坞,那么 MCP 协议成 AI 应用程序的 USB-C 接口。就像 USB-C 为设备连接各种外设和配件提供了标准化方式一样,MCP 为 AI 模型连接不同的数据源和工具提供了标准化方式。
之所以出现 MCP 这类扩展坞,是因为LLM 的模型参数蕴含丰富的通用知识,但通常无法掌握以下两类信息:
- LLM 无法访问你的专属内容,例如文件系统中的文件、数据库里的订单,或私有 wiki 和笔记中的文本。
- 若无法联网,LLM 也无法获取实时信息,例如当前股价、最新财报、明日天气预报或前沿科技新闻。
当前热门应用场景
案例一:Claude 的桌面应用。以下展示了 Resend MCP 服务器如何与多个 MCP 客户端协同工作。
案例二:LLM + 高德 MCP Server 实现出行规划
MCP工作流程
启动客户端后,客户端读取配置文件,连接 server 并按照协议获取工具列表。和传统一问一答或者推理模型不同,当存在可用的 MCP 工具时,在发送用户问题时,需要把可用工具列表一并发送。LLM 将判断是否需要调用工具完成任务,并把这个指示返回给客户端。客户端如果接受到需要调用工具的指示,则按照 LLM 的指示和 MCP 中规定的调用方式,配置好参数联系 server 进行工具调用,并将调用结果再次发给 LLM,组织出最后的答案。
MCP+中间件
MCP 给中间件带来了新的发展机会。
Nacos 发布 MCP Registry,实现存量应用接口“0改动”升级到 MCP 协议:https://mp.weixin.qq.com/s/MuK-YTVhuBqPzH7iz6Ep7A
mcp-kafka 服务:https://github.com/kanapuli/mcp-kafka/blob/main/static/demo.gif
提供以下 Kafka 操作:
创建主题:创建一个具有可配置分区和复制因子的新 Kafka 主题
列出主题:获取集群中所有可用的 Kafka 主题列表
删除主题:删除现有的 Kafka 主题
描述主题:获取有关特定主题的详细信息,包括分区详细信息
生成消息:向 Kafka 主题发送消息,支持消息键和消息头
使用消息:从 Kafka 主题读取消息,并配置超时时间
相信越来越多的 MCP 被开发出来以后,将为 Rabbit R1这类硬件扩展更多的功能