Pular para o conteúdo principal

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:

MecanismoLê-seCaso típico
ToolCliente chama, recebe resultadoOperação determinística com parâmetros (consultar requisitos, listar capítulos)
ResourceCliente injecta em contextoConteúdo estável que vale a pena ter sempre acessível (guia, índice, ontologia)
PromptCliente executa como mensagem do utilizadorWorkflow 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_skill devolve — 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_contextworkflow, 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 | L3
  • projectRole: 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.