Pular para o conteúdo

Catálogo de scopes

O catálogo TBAC da Floopy tem exatamente 12 scopes — 4 V1 com nome de ferramenta (um por V1) e 8 V2 de capacidade que controlam os endpoints da iniciativa de credibilidade. O wildcard * é reservado como “todos os scopes atuais e futuros” e concede acesso total.

ScopeFerramentas que destravaGate de plano
list_modelslist_models(nenhum)
estimate_costestimate_cost(nenhum)
route_llm_requestroute_llm_request(nenhum)
get_analyticsget_analytics(nenhum)
decisions:readget_decision, list_decisionsaudit_api
experiments:readlist_experiments, get_experiment_resultsaudit_api
experiments:writecreate_experiment, rollback_experimentaudit_api
optimization:readget_verificationaudit_api
constraints:readget_constraintsaudit_api, constraints_api
constraints:writeupdate_constraintsaudit_api, constraints_api
export:readexport_decisionsaudit_api, log_retention_days ≥ 30
routing:explainexplain_routingaudit_api, feedback_driven_routing

No diálogo Criar token do dashboard, o Scope Picker agrupa os 12 scopes por área (Ferramentas V1 / Decisões / Experimentos / Constraints / Routing). Você pode:

  • Buscar por nome ou descrição.
  • Marcar/desmarcar scopes individuais.
  • “Marcar tudo” / “Desmarcar tudo” por grupo.
  • Conceder o wildcard * (com aviso visível).

O picker só mostra os scopes funcionais acima. Scopes decorativos de designs antigos (requests:*, prompts:*, evals:*, feedback:*, cache:*, admin*) não têm rotas correspondentes e foram intencionalmente removidos.


Dois checkpoints, ambos no servidor:

  1. tools/list filtra a resposta para ferramentas cujo scope_required casa com algum scope do token. A lista filtrada é o que o LLM enxerga como ferramentas disponíveis.
  2. tools/call revalida o scope antes do dispatch; chamada fora de scope retorna JSON-RPC -32602.

O wildcard * curto-circuita ambos.


Cada linha de auditoria é atrelada ao criador do token — mcp_tbac_tokens.created_by é o auth.users.id do usuário do dashboard que criou. Essa coluna popula audit_log.actor_user_id.

Para tokens legados criados antes da migração 00122 (com created_by IS NULL), a linha de auditoria registra actor_type = 'service_account' e escreve metadata.actor_fallback = "tbac_token_id:<token_id>" para que consumers da trilha ainda consigam rastrear quem fez o quê — mesmo que na granularidade do token, não do usuário.