Pular para o conteúdo principal

Resources e prompts

Além das tools, o servidor oferece três coisas que o cliente usa por conta própria: resources (documentos que o usuário anexa à conversa), prompts (roteiros prontos que o usuário escolhe) e completions (autocomplete dos argumentos dos dois). Na era 2026-07-28, ele também pede confirmação antes de rodar uma tool destrutiva.

Nada disso abre um caminho novo até os seus dados: tudo passa pelas mesmas tools, sob as mesmas permissões e o mesmo escopo do token. Com um token só de leitura, resources e completions continuam disponíveis, mas um prompt que escreve — como review_portal_access, que reenvia convites — não aparece.

Resources​

Um resource é um documento identificado por uma URI. O usuário escolhe, por exemplo, um usuário do portal, e o cliente MCP lê o documento e o põe no contexto, sem que o modelo precise chamar uma tool.

URIO que volta
kobana://dashboards/organizationA organização do token (JSON)
kobana://dashboards/schemasO catálogo de recursos da API (JSON)
kobana://dashboards/schemas/{resource}Os campos de um recurso: tipo, enum, significado, quais ordenam (JSON)
kobana://dashboards/portal_users/{id}Um usuário do portal, com o status e o tenant ID cujos registros ele vê (JSON)

resources/list traz as URIs fixas e resources/templates/list os templates com {id}.

  • Permissões. Cada resource é lido pela tool correspondente (kobana://dashboards/portal_users/{id} é dashboards_portal_users_get). Ele só aparece, e só é lido, se você pode rodar essa tool.
  • Não encontrado. URI desconhecida, ou registro que não existe nesta organização, é -32002 na era 2025 e -32602 na 2026-07-28 — veja Erros.
  • Sem assinatura de mudanças. O servidor é stateless: não há resources/subscribe nem aviso de lista alterada.

Prompts​

Um prompt é uma instrução pronta que você escolhe no cliente e que vira a primeira mensagem da conversa. Ele só aparece se você pode rodar todas as tools em que se apoia.

PromptArgumentosO que faz
tenant_overviewtenant_idQuem entra no portal por um tenant ID: os usuários do portal que o compartilham e o status de cada um.
review_portal_accesstenant_id (opcional)Encontra usuários do portal que ainda aguardam o convite e oferece reenviá-lo, uma confirmação por vez.
team_access_review—Quem está na equipe do dashboard, com qual função e quais permissões.

Argumento obrigatório ausente é -32602.

Completions​

completion/complete sugere valores enquanto você digita um argumento:

  • Ids (o {id} de usuários do portal): busca na listagem correspondente, sob a mesma permissão dela. Se você não pode listar, não há sugestão.
  • {resource} de kobana://dashboards/schemas/{resource}: os nomes do catálogo, pelo prefixo.

Sem fonte de sugestão, a resposta é uma lista vazia, e você continua digitando.

Confirmação de tools destrutivas​

Tools destrutivas — as que apagam, encerram, suspendem ou desativam um registro, ou enviam um e-mail ou convite — são marcadas com destructiveHint. O servidor não confia só no cliente: na era 2026-07-28 ele mesmo pede a confirmação:

  1. O primeiro tools/call não roda nada. Ele volta resultType: "input_required" com um formulário de uma pergunta: rodar esta ação, com estes argumentos?
  2. O cliente mostra a pergunta e reenvia a mesma chamada com a sua resposta.
  3. Só um sim explícito executa. Recusar ou cancelar volta um resultado isError com USER_DECLINED, e nada muda.

A confirmação vale só para aquela chamada: a mesma tool, os mesmos argumentos, a mesma pessoa e organização, por 5 minutos. Uma resposta não pode ser reaproveitada para outro registro ou outra ação; se algo não bater, o servidor simplesmente pergunta de novo. E ela é de uso único: reenviar uma chamada já confirmada volta isError com confirmation_replayed, sem executar nada — para repetir a ação, chame a tool de novo e confirme outra vez.

Um cliente que não consegue confirmar — na era 2025, ou na 2026-07-28 sem declarar suporte a formulários de elicitation — não roda tools destrutivas: a chamada volta isError com confirmation_required e nada é executado. As demais tools seguem funcionando. Se o servidor não consegue registrar a confirmação naquele momento, a tool também é recusada, com confirmation_unavailable; tente de novo depois.