用途:把工作委派给 SAM mesh 对等节点托管的 A2A 智能体。桥接器暴露三个工具,认证、路由与标签门禁都在本地 sam-node 内完成。
主要能力:get_agent_card(peer, service) 在发送结构化数据或文件前查看智能体接受的技能、default_input_modes、default_output_modes 及是否支持流式。send_agent_task(peer, service, message?, data?, file_path?, file_name?, required_labels?, context_id?, task_id?) 发送任务,message、data、file_path 至少一项,可组合;data 为 JSON 对象并转为 DataPart;file_path 附件上限 5 MB。调用立即返回 task_id、context_id、state、text,以及可选的 data、files,不阻塞。get_agent_task(peer, service, task_id) 用于轮询非终态任务。
使用方式:先确保已注册且运行的 sam-node,若 sidecar 未在 http://localhost:8080 响应,先用 sam-mesh 技能的 bootstrap 路径。构建:make -C <sam-repo>/cmd/sam-a2a-bridge build。注册:claude mcp add sam-a2a-bridge -- <sam-repo>/bin/sam-a2a-bridge -url http://localhost:8080 -token <sidecar-token>。返回文件默认落在 ~/.sam/a2a-downloads(自动创建),可用 -download-dir 更改,但需自行创建目录,且无自动清理。重启会话后三个工具出现。
多轮与限制:同一会话追问需传回 context_id;任务处于 input-required 时需同时传 task_id 与 context_id。数据驻留可用 required_labels(如 region=eu-west-1)实现失败关闭,不得擅自削弱标签。403 表示标签未获证明,400 表示标签格式错误,404 表示服务不存在,连接拒绝或超时需检查 sidecar。远程智能体须运行 a2a-go v2.x,旧版 A2A 栈不兼容。