Skip to content

Commit 08ae6df

Browse files
committed
fix: accept mapping-backed auth scopes
1 parent a4ffc4b commit 08ae6df

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/mcp/server/lowlevel/server.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ async def main():
3838

3939
import logging
4040
import warnings
41-
from collections.abc import AsyncIterator, Awaitable, Callable, Iterator
41+
from collections.abc import AsyncIterator, Awaitable, Callable, Iterator, Mapping
4242
from contextlib import AbstractAsyncContextManager, AsyncExitStack, asynccontextmanager, contextmanager
4343
from importlib.metadata import version as importlib_version
44-
from typing import Any, Generic
44+
from typing import Any, Generic, cast
4545

4646
import anyio
4747
from anyio.streams.memory import MemoryObjectReceiveStream, MemoryObjectSendStream
@@ -79,8 +79,8 @@ def _bind_request_auth_context(request_context: Any) -> Iterator[None]:
7979
"""Rebind auth context from the current transport request while handling a message."""
8080
authenticated_user = None
8181
scope = getattr(request_context, "scope", None)
82-
if isinstance(scope, dict):
83-
scope_user = scope.get("user")
82+
if isinstance(scope, Mapping):
83+
scope_user = cast(Mapping[str, object], scope).get("user")
8484
if isinstance(scope_user, AuthenticatedUser):
8585
authenticated_user = scope_user
8686

0 commit comments

Comments
 (0)