1. Dynamic Client Registration
2. Authorize (end-user redirect)
?code=...&state=....
3. Token exchange
4. Call MCP tools
5. Refresh
jti is superseded. Clients MUST track only the latest jti for revocation.
Revocation
Tokens are revoked by the user atapp.glide.co/dashboard/agents/:id or by the agent itself via agent.grant.issue (which supersedes the prior grant) / killSwitch.all (global revoke).
Grant-wrapper fresh-reads the revoked_at column on every tool call — revocation is MCP-inert within 3s P99.