Skip to main content
Glama

Supabase MCP Server

Apache 2.0
797
  • Apple
  • Linux
auth_admin_models.py2.62 kB
from typing import Any, Literal from pydantic import BaseModel, model_validator class GetUserByIdParams(BaseModel): uid: str class ListUsersParams(BaseModel): page: int | None = 1 per_page: int | None = 50 class UserMetadata(BaseModel): email: str | None = None email_verified: bool | None = None phone_verified: bool | None = None sub: str | None = None class AdminUserAttributes(BaseModel): email: str | None = None password: str | None = None email_confirm: bool | None = False phone: str | None = None phone_confirm: bool | None = False user_metadata: UserMetadata | None = None app_metadata: dict[str, Any] | None = None role: str | None = None ban_duration: str | None = None nonce: str | None = None class CreateUserParams(AdminUserAttributes): pass @model_validator(mode="after") def check_email_or_phone(self) -> "CreateUserParams": if not self.email and not self.phone: raise ValueError("Either email or phone must be provided") return self class DeleteUserParams(BaseModel): id: str should_soft_delete: bool | None = False class InviteUserByEmailParams(BaseModel): email: str options: dict[str, Any] | None = None class GenerateLinkParams(BaseModel): type: Literal[ "signup", "invite", "magiclink", "recovery", "email_change_current", "email_change_new", "phone_change" ] email: str password: str | None = None new_email: str | None = None options: dict[str, Any] | None = None @model_validator(mode="after") def validate_required_fields(self) -> "GenerateLinkParams": # Check password for signup if self.type == "signup" and not self.password: raise ValueError("Password is required for signup links") # Check new_email for email change if self.type in ["email_change_current", "email_change_new"] and not self.new_email: raise ValueError("new_email is required for email change links") return self class UpdateUserByIdParams(BaseModel): uid: str attributes: AdminUserAttributes class DeleteFactorParams(BaseModel): id: str user_id: str # Map method names to their parameter models PARAM_MODELS = { "get_user_by_id": GetUserByIdParams, "list_users": ListUsersParams, "create_user": CreateUserParams, "delete_user": DeleteUserParams, "invite_user_by_email": InviteUserByEmailParams, "generate_link": GenerateLinkParams, "update_user_by_id": UpdateUserByIdParams, "delete_factor": DeleteFactorParams, }

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/alexander-zuev/supabase-mcp-server'

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