sidequest_common.models.mcp#
MCP (Model Context Protocol) officer access tokens.
Classes#
A long-lived bearer token for an officer's personal MCP client (Claude Code, omp), scoped to one member. |
Module Contents#
- class sidequest_common.models.mcp.McpToken#
Bases:
advanced_alchemy.base.UUIDAuditBaseA long-lived bearer token for an officer’s personal MCP client (Claude Code, omp), scoped to one member.
token_hashis the sha256 hex digest of the token (formatsqm_+ 40 url-safe chars); the plaintext is shown to the officer once, at creation, and never stored. Every MCP request accepts the token only while its member still holds an officer role, checked at request time (not cached on the row), mirroringEpgpSyncToken.- last_used_at: sqlalchemy.orm.Mapped[datetime.datetime | None]#
- member_id: sqlalchemy.orm.Mapped[int]#
- name: sqlalchemy.orm.Mapped[str]#
- revoked_at: sqlalchemy.orm.Mapped[datetime.datetime | None]#
- token_hash: sqlalchemy.orm.Mapped[str]#