Data & Auth
- Database: PostgreSQL via Drizzle ORM (
packages/db), Supabase-hosted. - Browser sessions: Supabase Auth JWTs.
- MCP / CLI access: a separate credential kind —
ofmcp_-prefixed service tokens, minted via Settings → MCP Connections in the web app, verified independently byapps/apion every request (see The Jobweave Claude Code Skill and the MCP Tool Reference).
Scope vocabulary
15 scopes, per-resource-and-verb rather than blanket. A token can hold applications:read
without resumes:read — a tool is only registered on a connection if that connection's token
carries the scope it needs.
applications:read · applications:write · resumes:read · resumes:write · library:read ·
library:write · identities:read · identities:write · repositories:read ·
repositories:write · cover-letters:read · cover-letters:write · tasks:read ·
tasks:write · ai:generate
Source: packages/mcp-tool-server/src/core/constants.ts.
What a 401 means
A 401 means the credential is invalid — expired, revoked, or malformed. The server deliberately does not distinguish which, so don't try to recover mid-request; mint a fresh token instead.