Add delegated end-user context proposal - #3239
Open
axiak wants to merge 1 commit into
Open
Conversation
Describe a per-request identity and verification context for delegated MCP access, with server-defined policies that clients can only narrow and server-enforced data scopes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a draft Extensions Track SEP for
io.modelcontextprotocol/delegated-end-user-context. The proposal defines per-request end-user identity and verification context for MCP clients that act on behalf of multiple users over one connection.The extension lets servers publish tool and resource-scope policies for anonymous, claimed, and verified users. Clients may narrow those policies but cannot expand them. Servers enforce the resulting policy, scope data to the asserted end user, and can require signed JWT assertions for higher-trust requests.
Motivation and Context
Customer-facing MCP clients often use broad connector credentials while serving anonymous and authenticated visitors with different access levels. MCP does not currently provide a standard way to convey the end user's identity, verification level, or permitted data scope per request.
This proposal uses extension negotiation for server-defined policies and request
_metafor end-user context. It avoids new JSON-RPC methods and supports concurrent users and verification upgrades without reconnecting.How Has This Been Tested?
npm run check:sepssuccessfully.Breaking Changes
None. The extension is additive and opt-in. Clients and servers that do not negotiate it continue using standard MCP behavior.
Types of changes
Checklist
Additional context
This proposal is seeking a sponsor. An example server implementation is available.