Initial Checks
Description
I noticed that the scope parameter is being set to the OAuth protected-resource URL instead of the parsed scope (or None when no scope is provided).
After inspecting the code, it seems the URL is passed directly as the scope here:
|
self.context.client_metadata.scope = get_client_metadata_scopes( |
|
www_auth_resource_metadata_url, |
|
self.context.protected_resource_metadata, |
|
self.context.oauth_metadata, |
|
) |
This results in an incorrect scope value being propagated during OAuth2 authentication.
Example Code
Python & MCP Python SDK
Initial Checks
Description
I noticed that the scope parameter is being set to the OAuth protected-resource URL instead of the parsed scope (or None when no scope is provided).
After inspecting the code, it seems the URL is passed directly as the scope here:
python-sdk/src/mcp/client/auth/oauth2.py
Lines 508 to 512 in 9724ad1
This results in an incorrect scope value being propagated during OAuth2 authentication.
Example Code
Python & MCP Python SDK