fastmcp.server.auth.auth
Classes
AccessToken
AccessToken that includes all JWT claims.
AuthProvider
Base class for all FastMCP authentication providers.
This class provides a unified interface for all authentication providers,
whether they are simple token verifiers or full OAuth authorization servers.
All providers must be able to verify tokens and can optionally provide
custom authentication routes.
Methods:
verify_token
token
: The token string to validate
- AccessToken object if valid, None if invalid or expired
get_routes
- TokenVerifier: typically no routes (default implementation)
- RemoteAuthProvider: protected resource metadata routes
- OAuthProvider: full OAuth authorization server routes
- Custom providers: whatever routes they need
mcp_path
: The path where the MCP endpoint is mounted (e.g., “/mcp”)mcp_endpoint
: The MCP endpoint handler to protect with auth
- List of routes for this provider, including protected MCP endpoints if provided
get_middleware
- List of Starlette Middleware instances to apply to the HTTP app
TokenVerifier
Base class for token verifiers (Resource Servers).
This class provides token verification capability without OAuth server functionality.
Token verifiers typically don’t provide authentication routes by default.
Methods:
verify_token
RemoteAuthProvider
Authentication provider for resource servers that verify tokens from known authorization servers.
This provider composes a TokenVerifier with authorization server metadata to create
standardized OAuth 2.0 Protected Resource endpoints (RFC 9728). Perfect for:
- JWT verification with known issuers
- Remote token introspection services
- Any resource server that knows where its tokens come from
verify_token
get_routes
OAuthProvider
OAuth Authorization Server provider.
This class provides full OAuth server functionality including client registration,
authorization flows, token issuance, and token verification.
Methods:
verify_token
token
: The token string to validate
- AccessToken object if valid, None if invalid or expired
get_routes
- Standard OAuth authorization server routes (/.well-known/oauth-authorization-server, /authorize, /token, etc.)
- Optional protected resource routes
- Protected MCP endpoints if provided
- List of OAuth routes