Saltar al contenido principal

Herramientas, recursos, prompts y habilidades

Los MCP servers conectados pueden exponer cuatro tipos de capabilities a IaC Code.

Tools

Each MCP tool becomes an IaC Code tool:

mcp__<server>__<tool>

Las descripciones de herramientas y los esquemas de entrada JSON provienen del servidor MCP. El código IaC reenvía la entrada de la herramienta del modelo al servidor MCP y luego convierte los bloques de contenido de MCP en un resultado de herramienta normal.

Las solicitudes de permiso y los metadatos de auditoría incluyen el nombre del servidor MCP, el nombre de la herramienta original, el nombre de la herramienta pública normalizada y anotaciones destructivas/de solo lectura.

Las anotaciones de la herramienta MCP se respetan siempre que sea posible:

MCP annotationIaC Code behavior
readOnlyHint: trueLa herramienta se trata como de solo lectura y segura para la simultaneidad.
destructiveHint: trueLa herramienta se trata como destructiva para las decisiones de permisos.

Las herramientas MCP aún pasan por el sistema de permisos existente del Código IaC. Configure la política de permisos con configuraciones normales de permissions o indicadores CLI como --allowed-tools, --disallowed-tools y --permission-mode.

Las notificaciones de progreso de MCP aparecen en renderizado interactivo, salida de progreso sin cabeza, actualizaciones de progreso de la herramienta ACP y metadatos de la herramienta A2A.

Tool Results and Artifacts

El código IaC convierte bloques de contenido MCP en texto visible para el modelo:

MCP contentIaC Code result
Text contentIncluded directly in the tool result when small; el texto grande se guarda como artifact privado .txt, .json o .md.
structuredContentRepresentado como JSON formateado en una sección de contenido estructurado.
Recursos de textoRenderizado con servidor y procedencia de URI.
resource_linkRepresentado como un enlace de recurso con tipo URI y MIME.
Datos de imágenes, audio y blobsAlmacenados como archivos de artefactos privados y referenciados por ID de artefacto.

Los artefactos binarios se almacenan en el directorio de resultados de la herramienta MCP propiedad de la sesión para las sesiones v2:

<config-dir>/projects/<project>/<session-id>/tool-results/mcp/<server>/<tool>/

Las sesiones heredadas sin un marcador de diseño compatible siguen utilizando:

<config-dir>/tool-results/<session-id>/mcp/<server>/<tool>/

The model sees the artifact id and metadata, not raw base64 data. Los artifacts de texto grande incluyen un path so the full output can be read without flooding the conversation.

Resources

Cuando cualquier servidor conectado expone recursos, el Código IaC registra dos herramientas globales:

ToolPurpose
list_mcp_resourcesEnumera los recursos de los servidores MCP conectados. Opcionalmente, filtre por nombre de servidor.
read_mcp_resourceLee un recurso por server y uri.

Las líneas de recursos incluyen el nombre del servidor, URI, nombre de recurso opcional y tipo MIME opcional.

Prompts

MCP prompts become slash commands:

/mcp__<server>__<prompt> key=value

Cuando se invoca, el código IaC llama a MCP prompts/get, presenta los mensajes de solicitud devueltos, inyecta el mensaje representado en la conversación y permite que el modelo continúe. Los argumentos rápidos se pueden pasar como:

template_name=prod-vpc region=cn-hangzhou

or as JSON:

{"template_name": "prod-vpc", "region": "cn-hangzhou"}

Los argumentos de solicitud requeridos se validan antes de la llamada a MCP. Se admiten valores entrecomillados, incluidas las rutas de Windows con barras invertidas.

Skills

Los recursos de MCP con URI skill:// se convierten en comandos de habilidad:

$mcp__<server>__<skill>

El código IaC lee el recurso de habilidad remota, analiza el contenido inicial y lo registra como un comando de habilidad normal. Las habilidades de MCP remotas están limitadas por motivos de seguridad:

  • Remote allowed_tools are cleared.
  • Se borran las reglas de ruta de activación automática remota.
  • El cuerpo de la habilidad remota y la longitud de la descripción están limitados.
  • Si la habilidad remota entra en conflicto con un comando existente, se omite con una advertencia de MCP.

Los recursos de habilidades de MCP se pueden leer durante el inicio para que el comando pueda registrarse antes de que el usuario lo invoque.

Cuando no hay conflicto de comandos, las habilidades de MCP también obtienen un alias de compatibilidad:

$<server>:<skill>

Por ejemplo, $mcp__yuque__search y $yuque:search pueden resolverse en la misma habilidad remota.

Server Instructions (instrucciones del servidor)

Si un servidor conectado devuelve "instrucciones" desde la inicialización, el código IaC las inyecta en el indicador del agente como una sección dedicada de instrucciones del servidor MCP. Estas instrucciones se tratan como una guía centrada en el servidor y no anulan las instrucciones del proyecto local.

Elicitation (solicitudes interactivas)

Las sesiones interactivas pueden enrutar solicitudes de MCP elicitation al usuario. La elicitation en modo URL puede pedir al usuario completar un flujo de URL externo y luego reintentar el MCP tool call original hasta un límite acotado. Los contextos no interactivos cancelan la elicitation de forma segura.

Dynamic Updates

Si un servidor MCP envía tools/list_changed, resources/list_changed o prompts/list_changed, el código IaC actualiza la lista de capacidades afectadas y actualiza el registro de herramientas o comandos. Los errores de actualización se informan como advertencias de MCP y no detienen la sesión activa.