Resources e prompts
Para além das tools, o protocolo MCP expõe dois mecanismos adicionais que o servidor SbD-ToE usa amplamente:
- Resources (
sbd://toe/*) — documentos / dados estruturados acessíveis por URI, lidos pelo cliente como contexto. - Prompts — templates de prompt pré-empacotados que o cliente pode executar com parâmetros.
A diferença prática:
| Mecanismo | Lê-se | Caso típico |
|---|---|---|
| Tool | Cliente chama, recebe resultado | Operação determinística com parâmetros (consultar requisitos, listar capítulos) |
| Resource | Cliente injecta em contexto | Conteúdo estável que vale a pena ter sempre acessível (guia, índice, ontologia) |
| Prompt | Cliente executa como mensagem do utilizador | Workflow canónico (inicializar sessão, Q&A) |
Resources
Todos os resources usam o esquema sbd://toe/* e devolvem text/markdown, application/json ou application/yaml consoante o tipo.
sbd://toe/agent-guide
MIME: text/markdown
Conteúdo: guia operacional completo do agente — modos (CONSULT / GUIDE / SETUP), roteamento por fase / domínio / tipo de pergunta, padrões epistémicos, vocabulário controlado, mapa dos 15 capítulos.
Quando ler: uma vez por sessão, antes de qualquer chamada. É o system prompt canónico.
Este resource é a fonte do que
generate_sbd_toe_skilldevolve — guardar como skill file é exactamente injectá-lo permanentemente no contexto do cliente.
sbd://toe/index-compact
MIME: application/json
Conteúdo: mapa compacto do manual — JSON estruturado com chapters[], chapter_id, title, min_level, domains, topics ⨯ contagens.
Quando ler: injectar no system prompt para eliminar exploratory discovery — o agente já "sabe" o índice antes de fazer qualquer chamada.
sbd://toe/chapter-applicability/{riskLevel}
MIME: application/json
Parâmetro: {riskLevel} = L1 | L2 | L3 (interpolado no URI)
Conteúdo: capítulos activos, condicionais e excluídos para esse risk level.
Exemplo:
sbd://toe/chapter-applicability/L2
Devolve algo como:
{
"active": ["00-fundamentos", "01-classificacao-aplicacoes", "02-...", "06-desenvolvimento-seguro", "11-deploy-seguro", ...],
"conditional": [...],
"excluded": ["13-formacao-onboarding"]
}
Quando usar: inicialização rápida sem chamar consult_security_requirements (que devolve muito mais conteúdo).
sbd://toe/ontology
MIME: application/yaml
Conteúdo: ontologia completa — domain_mapping (requirement category → control domains), regras de inferência com prioridades, resolution pipelines (consult / guide / threats / review), concerns lexicon, role aliases, schemas de entidade.
Quando ler: uma vez por sessão para entender o modelo de resolução determinístico antes de combinar tools complexas.
sbd://toe/grounded-codegen-guide
MIME: text/markdown
Conteúdo: guia agente para prepare_sbd_toe_codegen_context — workflow, ramificação por status (ready_for_codegen / needs_clarification / needs_decomposition / unsupported_scope), disciplina de output (citar citation_map, preencher security_rationale, distinguir code/tests/evidence), e proibições explícitas (não inventar IDs, não declarar conformidade, não poluir código com rastreabilidade-noise).
Quando ler: sempre antes de qualquer trabalho de codegen ou review via prepare_sbd_toe_codegen_context.
sbd://toe/version
MIME: application/json
Conteúdo: identidade do servidor que está a correr.
{
"name": "@shiftleftpt/sbd-toe-mcp",
"version": "0.9.0",
"description": "..."
}
Quando usar: troubleshooting — confirmar que versão está activa, e se cobre o conteúdo esperado (ver troubleshooting / FAQ sobre content lag).
Prompts
setup_sbd_toe_agent(riskLevel, projectRole)
Inicializa a sessão.
Parâmetros:
riskLevel:L1|L2|L3projectRole: um dos 13 roles canónicos
Resultado: mensagem do utilizador equivalente a "Estou a trabalhar num projecto riskLevel=L2, role appsec-engineer. Carrega as regras e capítulos activos." — o agente executa imediatamente as chamadas adequadas para inicializar o contexto.
ask_sbd_toe_manual(question)
Q&A directo grounded no manual.
Parâmetros:
question: pergunta em linguagem natural
Resultado: o agente é instruído a usar search_sbd_toe_manual ou consult_security_requirements consoante o tipo de pergunta, e a responder com IDs citáveis.
Boa prática — bootstrap mínimo de sessão
1. Ler sbd://toe/agent-guide (ou ter skill instalada)
2. Ler sbd://toe/index-compact (mapa compacto — barato)
3. Executar prompt setup_sbd_toe_agent(riskLevel, projectRole)
4. Pronto para CONSULT/GUIDE
Se a sessão for de codegen / review: acrescentar sbd://toe/grounded-codegen-guide antes de qualquer chamada a prepare_sbd_toe_codegen_context.
A seguir
- Casos de uso — 6 receitas prontas combinando estes resources, prompts e tools.
- Padrões avançados — sequências multi-tool para problemas complexos.