Saltar al contenido principal

Resources y prompts

Además de las tools, el servidor ofrece tres cosas que el cliente usa por su cuenta: resources (documentos que el usuario adjunta a la conversación), prompts (guiones listos que el usuario elige) y completions (autocompletado de los argumentos de ambos). En la era 2026-07-28, también pide confirmación antes de ejecutar una tool destructiva.

Nada de esto abre un camino nuevo hacia tus datos: todo pasa por las mismas tools, con los mismos permisos y el mismo alcance del token. Con un token solo de lectura, los resources y completions siguen disponibles, pero un prompt que escribe — como review_portal_access, que reenvía invitaciones — no aparece.

Resources​

Un resource es un documento identificado por una URI. El usuario elige, por ejemplo, un usuario del portal, y el cliente MCP lee el documento y lo pone en el contexto, sin que el modelo tenga que llamar a una tool.

URIQué devuelve
kobana://dashboards/organizationLa organización del token (JSON)
kobana://dashboards/schemasEl catálogo de recursos de la API (JSON)
kobana://dashboards/schemas/{resource}Los campos de un recurso: tipo, enum, significado, cuáles ordenan (JSON)
kobana://dashboards/portal_users/{id}Un usuario del portal, con su estado y el tenant ID cuyos registros ve (JSON)

resources/list trae las URIs fijas y resources/templates/list las plantillas con {id}.

  • Permisos. Cada resource se lee con la tool correspondiente (kobana://dashboards/portal_users/{id} es dashboards_portal_users_get). Solo aparece, y solo se lee, si puedes ejecutar esa tool.
  • No encontrado. Una URI desconocida, o un registro que no existe en esta organización, es -32002 en la era 2025 y -32602 en 2026-07-28 — ver Errores.
  • Sin suscripción a cambios. El servidor es stateless: no hay resources/subscribe ni aviso de lista cambiada.

Prompts​

Un prompt es una instrucción lista que eliges en el cliente y que se convierte en el primer mensaje de la conversación. Solo aparece si puedes ejecutar todas las tools en las que se apoya.

PromptArgumentosQué hace
tenant_overviewtenant_idQuién entra al portal por un tenant ID: los usuarios del portal que lo comparten y el estado de cada uno.
review_portal_accesstenant_id (opcional)Encuentra usuarios del portal que aún esperan la invitación y ofrece reenviarla, una confirmación a la vez.
team_access_review—Quién está en el equipo del dashboard, con qué rol y qué permisos.

Un argumento obligatorio ausente es -32602.

Completions​

completion/complete sugiere valores mientras escribes un argumento:

  • Ids (el {id} de usuarios del portal): busca en el listado correspondiente, con su mismo permiso. Si no puedes listar, no hay sugerencia.
  • {resource} de kobana://dashboards/schemas/{resource}: los nombres del catálogo, por prefijo.

Sin fuente de sugerencias, la respuesta es una lista vacía, y sigues escribiendo.

Confirmación de tools destructivas​

Las tools destructivas — las que borran, cierran, suspenden o desactivan un registro, o envían un email o una invitación — están marcadas con destructiveHint. El servidor no confía solo en el cliente: en la era 2026-07-28 él mismo pide la confirmación:

  1. El primer tools/call no ejecuta nada. Vuelve con resultType: "input_required" y un formulario de una pregunta: ¿ejecutar esta acción, con estos argumentos?
  2. El cliente muestra la pregunta y reenvía la misma llamada con tu respuesta.
  3. Solo un sí explícito la ejecuta. Rechazar o cancelar devuelve un resultado isError con USER_DECLINED, y nada cambia.

La confirmación vale solo para esa llamada: la misma tool, los mismos argumentos, la misma persona y organización, durante 5 minutos. Una respuesta no puede reutilizarse para otro registro u otra acción; si algo no coincide, el servidor simplemente vuelve a preguntar. Y es de uso único: reenviar una llamada ya confirmada devuelve isError con confirmation_replayed, sin ejecutar nada — para repetir la acción, llama la tool de nuevo y confirma otra vez.

Un cliente que no puede confirmar — en la era 2025, o en la 2026-07-28 sin declarar formularios de elicitation — no ejecuta tools destructivas: la llamada devuelve isError con confirmation_required y no se ejecuta nada. Las demás tools siguen funcionando. Si el servidor no puede registrar la confirmación en ese momento, la tool también se rechaza, con confirmation_unavailable; inténtalo de nuevo más tarde.