Testing authority preservation across an upstream A2A → MCP tools/call boundary #847
arjun2075
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I built a runnable fixture around a narrow composition question:
When an upstream agent has only bounded authority delegated by a human, what must remain true when the eventual operation reaches an MCP
tools/callboundary?The execution path is:
Human → Agent A → A2A Agent B → MCP → Tool
The current reference scenario is:
refund_orderexecutesThe negative case is intentional:
$22remains within the human's original$25ceiling, so an implementation that checks only the root authority would incorrectly allow it. The fixture instead requires the effective downstream authority to respect the narrower intermediate delegation.The implementation now uses the official A2A and MCP Python SDKs over real network hops. Agent B receives the delegation evidence through the A2A boundary and carries the same logical chain into the MCP request. The repository includes 12 tests, machine-readable results, and an intentionally vulnerable mode that validates only the human root; in that mode the forbidden
$22refund executes and the conformance runner correctly reports failure.This is not a proposed MCP field or authorization standard. The delegation representation and policy algorithm are fixture-local.
I also completed a prior-art review. Monotonic attenuation and chain-wide enforcement are established capability-security concepts (Macaroons, Biscuit, ZCAP-LD, UCAN). The useful question here is therefore narrower: how should that known security invariant be preserved when execution crosses from an upstream agent protocol into an MCP tool boundary?
I'd be especially interested in feedback from MCP authorization/security maintainers:
tools/call?Relevant Links
Repo:
github.com/arjun2075/a2a-mcp-authority-conformanceVerified baseline tag:
v0.1-conformance-baselineAll reactions