Skip to main content
Glama
auth.py1.46 kB
""" Authentication module for MCP Banking Server. Provides API key validation middleware for FastAPI. """ from fastapi import HTTPException, Security, status from fastapi.security import APIKeyHeader from typing import Optional from database import validate_api_key # API Key header configuration API_KEY_HEADER = APIKeyHeader(name="X-API-Key", auto_error=False) async def get_api_key(api_key: Optional[str] = Security(API_KEY_HEADER)) -> str: """ Dependency for validating API key from X-API-Key header. Raises: HTTPException: 401 if API key is missing or invalid Returns: The validated API key """ if api_key is None: raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Missing API Key. Include 'X-API-Key' header.", headers={"WWW-Authenticate": "ApiKey"} ) if not validate_api_key(api_key): raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid API Key", headers={"WWW-Authenticate": "ApiKey"} ) return api_key def verify_api_key_simple(api_key: Optional[str]) -> bool: """ Simple API key verification for MCP tools. Args: api_key: The API key to validate Returns: True if valid, False otherwise """ if api_key is None: return False return validate_api_key(api_key)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sksingh2005/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server