最新文章

从抓包看 MCP:AI 工具调用背后的通信机制

从抓包看 MCP:AI 工具调用背后的通信机制

TL;DR 通过抓包分析,我们清晰地了解了 MCP 通信的全过程:从建立 SSE 连接、三步初始化、工具调用操作到最终的连接终止。可以看出,MCP 基于简单的 SSE 协议搭建了一个功能强大的工具调用框架,使 AI 代理能够便捷地调用外部工具完成复杂任务。 相比传统的接口调用方式,MCP 更加灵活,能够自动适应不同的工具集,让 AI 代理 " 即插即用 " 地使用各种服务能力,这也是其设计的精妙之处。 当然,MCP 也并不是完美的,作为一个新兴的协议,它仍然在不断发展中。未来可能会有更多的功能和特性被添加进来,以满足更复杂的需求。 背景 MCP 支持两种标准的传输实现:标准输入/输出(stdio)和 Server-Sent Event(下称 SSE)。stdio 基于命令行工具,多用于本地集成,通过进程通信来实现;SSE 基于客户端和服务器的网络通信,用于跨设备网络的通信场景。 既然是用抓包来分析,我们就要选择使用 SSE 传输 MCP server,然后通过工具进行网络抓包分析。在抓包分析之前,我们必要对 SSE 协议进行简单的了解。 SSE 协议 SSE 协议 是一种服务器推送技术,使客户端能够通过 HTTP 连接从服务器自动接受更新,通常用于服务器向客户端发送消息更新或者连续的数据流(流信息 streaming)。

About Me

张晓辉

英文名 Addo。 资深程序员,LF APAC 开源布道师,CNCF Ambassador,云原生社区管委会成员,公众号“云原生指北”作者,微软 Azure MVP。 曾任职于汇丰软件、唯品会、数人云、小鹏汽车,有多年的微服务和基础架构实践经验,主要工作涉及微服务、容 …

进一步了解