Skip to content

Commit 99e1db2

Browse files
committed
fix dependency
1 parent ef8d546 commit 99e1db2

File tree

6 files changed

+12
-22
lines changed

6 files changed

+12
-22
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ MCP servers can use authentication by providing an implementation of the `TokenV
429429

430430
```python
431431
from mcp import FastMCP
432-
from mcp.server.auth.verifier import TokenVerifier
432+
from mcp.server.auth.provider import TokenVerifier
433433
from mcp.server.auth.settings import AuthSettings
434434

435435
class MyTokenVerifier(TokenVerifier):
@@ -455,7 +455,7 @@ For a complete example with separate Authorization Server and Resource Server im
455455
- **Resource Server (RS)**: Your MCP server that validates tokens and serves protected resources
456456
- **Client**: Discovers AS through RFC 9728, obtains tokens, and uses them with the MCP server
457457

458-
See [TokenVerifier](src/mcp/server/auth/verifier.py) for more details on implementing token validation.
458+
See [TokenVerifier](src/mcp/server/auth/provider.py) for more details on implementing token validation.
459459

460460
## Running Your Server
461461

examples/servers/simple-auth/mcp_simple_auth/token_verifier.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
import logging
44

5-
from mcp.server.auth.provider import AccessToken
6-
from mcp.server.auth.token_verifier import TokenVerifier
5+
from mcp.server.auth.provider import AccessToken, TokenVerifier
76

87
logger = logging.getLogger(__name__)
98

src/mcp/server/auth/middleware/bearer_auth.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
from starlette.requests import HTTPConnection
88
from starlette.types import Receive, Scope, Send
99

10-
from mcp.server.auth.provider import AccessToken
11-
from mcp.server.auth.token_verifier import TokenVerifier
10+
from mcp.server.auth.provider import AccessToken, TokenVerifier
1211

1312

1413
class AuthenticatedUser(SimpleUser):

src/mcp/server/auth/provider.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
from pydantic import AnyUrl, BaseModel
66

7-
from mcp.server.auth.token_verifier import TokenVerifier
87
from mcp.shared.auth import OAuthClientInformationFull, OAuthToken
98

109

@@ -87,6 +86,13 @@ class TokenError(Exception):
8786
error_description: str | None = None
8887

8988

89+
class TokenVerifier(Protocol):
90+
"""Protocol for verifying bearer tokens."""
91+
92+
async def verify_token(self, token: str) -> AccessToken | None:
93+
"""Verify a bearer token and return access info if valid."""
94+
95+
9096
# NOTE: FastMCP doesn't render any of these types in the user response, so it's
9197
# OK to add fields to subclasses which should not be exposed externally.
9298
AuthorizationCodeT = TypeVar("AuthorizationCodeT", bound=AuthorizationCode)

src/mcp/server/auth/token_verifier.py

Lines changed: 0 additions & 13 deletions
This file was deleted.

src/mcp/server/fastmcp/server.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@
3030
BearerAuthBackend,
3131
RequireAuthMiddleware,
3232
)
33-
from mcp.server.auth.provider import OAuthAuthorizationServerProvider, ProviderTokenVerifier
33+
from mcp.server.auth.provider import OAuthAuthorizationServerProvider, ProviderTokenVerifier, TokenVerifier
3434
from mcp.server.auth.settings import AuthSettings
35-
from mcp.server.auth.token_verifier import TokenVerifier
3635
from mcp.server.elicitation import ElicitationResult, ElicitSchemaModelT, elicit_with_validation
3736
from mcp.server.fastmcp.exceptions import ResourceError
3837
from mcp.server.fastmcp.prompts import Prompt, PromptManager

0 commit comments

Comments
 (0)