1. 概念解析
AGUI
是 Agent 与前端/客户端应用进行交互的一个通用通讯协议
MCP
是 LLM 远程调用 Tool 的一个通用协议
端 Tool
类似于 MCP 的 Stdio 版,就是用户端自行定义 Tool ,通过一定手段让远端的 Agent 可以调用用户端能力,包括远程操控浏览器等骚操作。
2. 实现方式
在远端 Agent 架起一个空 MCP Server ,而 MCP Server 内部是 AGUI ,当用户端连上远端 Agent 之后,MCP Server 通过 AGUI 协议向用户端发送 tool/list 和 tool/call 元数据,用户端通过 AGUI 协议返回对应的响应结果,当然这一环节的响应请求格式都是符合 AGUI 协议的,而非 MCP 协议。
当数据来到 MCP Server 时, MCP Server 将数据改造成 MCP 协议格式扔出去给 LLM 使用。
3. 流程示例如下
3.1. LLM 侧发起工具调用
1 | { |
3.2. agui-mcp-server 收到后 → 把参数包装成 AG-UI 事件
AGUI 事件名【agui.tool.invoke】
1 | POST /agui/events?id=3 |
3.3. 端侧(Web)收到事件 → 渲染弹窗
AGUI 事件名【agui.tool.return】
用户点击 “确认转账” 后,前端把结果写回:
1 | WebSocket SEND: |
3.4. agui-mcp-server 把前端回包转成 MCP CallToolResult
1 | { |
然后交付给 LLM
End.