Replies: 2 comments 3 replies
|
Concrete example: order_create tool → protected effect Tool: order_create Protected effect: commit order O-2026-10-02-C123 into the authoritative orders database.
EABC concept: Effect Identity EABC concept: Execution Scope EABC concept: Authority Binding EABC concept: Evidence Existing cMCP identity and authorization information can remain unchanged; the profile adds the effect-level semantics.
For example, an authorization result could carry: { The catalog could declare the effect model independently of a particular order instance: { The exact encoding is only illustrative at this stage; the purpose is to show the required semantics rather than prescribe a cMCP implementation.
Given a valid, untampered binding and the corresponding cMCP evidence, a downstream verifier could establish that:
A verifier could not, from these fields alone, establish:
Those require evidence or enforcement properties outside the authorization binding itself.
A. Denial If Cedar returns deny, no valid Authority Binding is issued for the requested effect. A downstream verifier therefore has no EABC authority binding authorizing: effect_id = order:O-2026-10-02-C123 The denial remains a cMCP authorization result; EABC does not replace Cedar policy evaluation. B. Replay Suppose a previously issued binding is presented again. A verifier can reject it if the binding is expired. However, expiry alone does not prevent replay during the validity interval. Replay protection therefore requires an additional verifier-side condition, such as a nonce, sequence number, or one-time-use state. That mechanism is outside the minimal EABC contract and is explicitly left as an implementation/deployment choice. C. Alternate path Suppose a direct HTTP or SDK call attempts to create the same order without passing through cMCP. If that path does not consume or verify the EABC Authority Binding, cMCP has no visibility into the execution and cannot establish that the effect was authorized. This is therefore unverified execution relative to the profile. If the alternate path does verify the Authority Binding, the verifier can determine whether that path is within the declared execution_scope. Importantly, the presence of a path in the scope does not by itself prove that the path is actually mediated or non-bypassable. That remains a deployment/enforcement property.
Situation: MCP execution with valid Authority Binding Situation: Binding expired Situation: Binding replayed during validity interval Situation: Actual database commit Situation: Alternate path without binding verification Situation: Alternate path with binding verification Situation: No-bypassability of alternate paths
This remains an optional external interoperability profile. It would be:
The purpose is not to change the cMCP gateway mediation model, but to make an authorization decision consumable at a downstream execution boundary with explicit effect-level semantics. This example is intended to provide a bounded basis for assessing architectural fit and, if useful, determining the appropriate repository/component for a minimal prototype. |
|
@omwei-org two of the three already have homes. Effect correlation: cMCP audit entries carry |
Uh oh!
There was an error while loading. Please reload this page.
Context
I would like to explore a possible contribution path around interoperability between cMCP authorization and downstream execution.
I am proposing the Execution Authority Boundary Contract (EABC) as an optional, implementation-independent contract layer that could sit between an authorization decision and downstream execution.
EABC specification: https://github.com/omwei-org/omwei-eabc
The intent is not to replace or redefine cMCP, but to explore whether some execution-authority semantics could be made explicit and consumable by systems beyond the cMCP gateway itself.
What EABC proposes
The EABC model makes three concepts explicit:
For example, instead of representing authorization only as:
ALLOW(principal, tool_call, MCP path)an EABC-compatible representation could additionally express:
ALLOW(principal, protected effect, execution constraints)The purpose is to preserve the existing path-level authorization while providing an explicit contract for the downstream execution boundary.
What EABC does not claim
EABC is not intended to:
In particular, complete mediation and non-bypassability remain properties of the deployment and enforcement substrate. EABC would define the contract and required semantics; it would not by itself establish those properties.
Potential value for cMCP
An optional EABC profile could potentially provide:
Effect-level correlation
TRACE Claims could carry an Effect Identity and correlate an authorization decision with the externally observable effect.
Explicit execution scope
The catalog could describe which effects and execution paths are intended to be covered.
Interoperable execution authority
An authorization result could carry semantics that downstream enforcement components can consume without depending on the internal implementation of cMCP.
A clean extension point
The same contract could potentially be consumed by software enforcement, backend enforcement, TEEs, or stronger enforcement substrates without making EABC dependent on any particular implementation.
Proposed integration style
I suggest treating EABC as an optional interoperability profile, rather than as a change to the cMCP enforcement model.
Possible characteristics:
Questions for discussion
Before proposing implementation details, I would like to get feedback from the maintainers on the architectural fit:
cmcp,integrations, or elsewhere)?I would prefer to agree on the scope and architectural fit first, before proposing implementation work.
Happy to refine the proposal based on feedback and keep any contribution small, additive, and reviewable.
All reactions