11from __future__ import annotations
22
3- from typing import Any
3+ from typing import Any , cast
44
55from mcp .server .auth .middleware .auth_context import AuthContextMiddleware
66from mcp .server .auth .middleware .bearer_auth import BearerAuthBackend
@@ -295,7 +295,6 @@ def __init__(
295295 """
296296
297297 super ().__init__ (base_url = base_url , required_scopes = required_scopes )
298- assert isinstance (self .base_url , AnyHttpUrl )
299298
300299 if issuer_url is None :
301300 self .issuer_url = self .base_url
@@ -348,6 +347,9 @@ def get_routes(
348347 # they're actually accessible (operational routes are mounted at
349348 # base_url)
350349 assert self .base_url is not None # typing check
350+ assert (
351+ self .issuer_url is not None
352+ ) # typing check (issuer_url defaults to base_url)
351353
352354 oauth_routes = create_auth_routes (
353355 provider = self ,
@@ -370,7 +372,7 @@ def get_routes(
370372 )
371373 protected_routes = create_protected_resource_routes (
372374 resource_url = resource_url ,
373- authorization_servers = [self .issuer_url ],
375+ authorization_servers = [cast ( AnyHttpUrl , self .issuer_url ) ],
374376 scopes_supported = supported_scopes ,
375377 )
376378 oauth_routes .extend (protected_routes )
0 commit comments