--- title: github sidebarTitle: github --- # `fastmcp.server.auth.providers.github` GitHub OAuth provider for FastMCP. This module provides a complete GitHub OAuth integration that's ready to use with just a client ID and client secret. It handles all the complexity of GitHub's OAuth flow, token validation, and user management. Example: ```python from fastmcp import FastMCP from fastmcp.server.auth.providers.github import GitHubDCRProvider # Simple GitHub OAuth protection auth = GitHubDCRProvider( client_id="your-github-client-id", client_secret="your-github-client-secret" ) mcp = FastMCP("My Protected Server", auth=auth) ``` ## Classes ### `GitHubDCRProviderSettings` Settings for GitHub OAuth DCR provider. **Methods:** #### `settings_customise_sources` ```python settings_customise_sources(cls, settings_cls, init_settings, env_settings, dotenv_settings, file_secret_settings) ``` ### `GitHubTokenVerifier` Token verifier for GitHub OAuth tokens. GitHub OAuth tokens are opaque (not JWTs), so we verify them by calling GitHub's API to check if they're valid and get user info. **Methods:** #### `verify_token` ```python verify_token(self, token: str) -> AccessToken | None ``` Verify GitHub OAuth token by calling GitHub API. ### `GitHubDCRProvider` Complete GitHub OAuth DCR provider for FastMCP. This provider makes it trivial to add GitHub OAuth protection to any FastMCP server. Just provide your GitHub OAuth app credentials and a base URL, and you're ready to go. Features: - Transparent OAuth proxy to GitHub - Automatic token validation via GitHub API - User information extraction - Minimal configuration required ### `GitHubProvider` Deprecated: Use GitHubDCRProvider instead. This alias is provided for backwards compatibility and will be removed in a future version.