Skip to main content
Glama

Finizi B4B MCP Server

by hqtrung
validators.py2.68 kB
"""Input validation utilities.""" import re from uuid import UUID from .errors import MCPValidationError def validate_uuid(value: str, field_name: str = "id") -> str: """ Validate that a string is a valid UUID. Args: value: The string to validate field_name: Name of the field for error messages Returns: The validated UUID string in standard format Raises: MCPValidationError: If the value is not a valid UUID """ if not value: raise MCPValidationError( message=f"{field_name} cannot be empty", field=field_name, ) try: # Parse and normalize the UUID uuid_obj = UUID(value) return str(uuid_obj) except ValueError as e: raise MCPValidationError( message=f"Invalid UUID format: {str(e)}", field=field_name, ) from e def validate_page_params(page: int, per_page: int) -> tuple[int, int]: """ Validate pagination parameters. Args: page: Page number (1-indexed) per_page: Number of items per page Returns: Tuple of (validated_page, validated_per_page) Raises: MCPValidationError: If parameters are invalid """ if page < 1: raise MCPValidationError( message="Page number must be greater than 0", field="page", ) if per_page < 1: raise MCPValidationError( message="Items per page must be greater than 0", field="per_page", ) if per_page > 100: raise MCPValidationError( message="Items per page cannot exceed 100", field="per_page", ) return page, per_page def validate_phone(phone: str) -> str: """ Validate Vietnamese phone number format. Expected format: +84XXXXXXXXX (10-11 digits after +84) Args: phone: Phone number to validate Returns: The validated phone number Raises: MCPValidationError: If phone format is invalid """ if not phone: raise MCPValidationError( message="Phone number cannot be empty", field="phone", ) # Remove all spaces and dashes for validation cleaned = re.sub(r"[\s-]", "", phone) # Vietnamese phone pattern: +84 followed by 9-10 digits pattern = r"^\+84[0-9]{9,10}$" if not re.match(pattern, cleaned): raise MCPValidationError( message=( "Invalid Vietnamese phone format. " "Expected format: +84XXXXXXXXX (9-10 digits after +84)" ), field="phone", ) return cleaned

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/hqtrung/finizi-mcp'

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