跨组织编排工作流程的代理身份
作者: piiiico创建于 2026年4月20日更新于 2026年7月13日
mcp-agent 的 Router 和 Orchestrator 模式对于多代理工作流非常有用。当这些工作流跨越组织边界时,出现了一个缺陷: ** Orchestrator 没有办法验证委派代理是否是它声称的那个代理。**
** 场景:一个组织 A 的 Orchestrator 将委托给组织 B 的专家代理(通过 MCP 服务器或 A2A)。今天,Orchestrator 依赖于终端 URL + API 密钥。它无法验证:**
- 这个代理是否是之前成功完成任务的同一代理?
- 这个代理的行为是否自上次交互以来发生了变化?
- 如果这个代理被入侵,是否可以无破坏整个工作流的方式撤销它?
** mcp-agent 中持久代理身份的示例:**
from mcp_agent.workflows import Orchestrator
# 每个代理都携带一个可验证的 Ed25519 JWT
# Orchestrator 在委托之前检查 JWKS
async def verify_delegate(agent_token: str) -> bool:
# 使用代理的组织 JWKS 端点进行验证
# 返回: agent_id, did:web, behavioral_trust_score
return await jwks_verify(
token=agent_token,
jwks_url=agent_org_jwks_endpoint
)这与 #647 中讨论的每条消息签名不同。每条消息签名验证 当前消息。代理身份验证 跨所有消息和会话的实体。
我们在 AgentLair 中构建了这个功能 - Ed25519 JWT、JWKS 验证、did:web(MCP-I L2)。生产集成:springdrift(已合并)、task-orchestrator(v3.2.0 中的 JWKS ActorVerifier)。
很高兴探索 mcp-agent 工作流模式的集成方式。Orchestrator 的委托决策是自然的验证点。
内容来源: lastmile-ai/mcp-agent