MCP, function calling, CLI y skills para agentes de AI: comparación

Traducción automática

Este artículo se tradujo automáticamente a partir de la versión original en inglés.

Usa function calling cuando una aplicación expone un conjunto reducido de herramientas tipadas a una única API de modelo. Usa Model Context Protocol (MCP) cuando varios clientes compatibles deban descubrir y llamar a un servidor reutilizable. Usa una interfaz de línea de comandos (CLI) cuando ya exista un comando estable y el texto o los archivos sean entradas y salidas adecuadas. Usa una skill cuando unas instrucciones, scripts y referencias reutilizables deban enseñar a un agente a ejecutar un flujo de trabajo.

Estas interfaces se pueden combinar. Una skill puede indicar a un agente cuándo llamar a una herramienta MCP. Ese servidor puede ejecutar una CLI existente, mientras el modelo selecciona la operación mediante function calling. La aplicación debe validar los argumentos y comprobar los permisos del usuario sobre el recurso de destino antes de la ejecución.

La elección depende de la reutilización, el despliegue, los permisos y quién mantiene la interfaz.

Tabla de decisión

NecesidadPunto de partidaPrincipal precaución
Conjunto reducido de herramientas tipadas dentro de una aplicaciónFunction callingUn esquema válido no autoriza la acción ni hace seguros los argumentos.
Herramientas reutilizables entre clientes compatiblesHerramientas MCPLa identidad del servidor, las credenciales, los cambios en las herramientas y el contenido devuelto requieren controles independientes.
Comando existente para desarrollo u operacionesCLIValida los argumentos, evita la interpolación en la shell y restringe el acceso al entorno y a las credenciales.
Instrucciones y recursos reutilizables para flujos de trabajoAgent SkillsLas instrucciones guían el uso de herramientas; la aplicación sigue siendo responsable de su ejecución y de los permisos.
Lógica estable en el procesoFunción tipada o API de bibliotecaNo añadas un protocolo cuando una única base de código controle ambos lados.

Function calling

Function calling proporciona al modelo operaciones con nombre y argumentos estructurados. Encaja en un producto donde las herramientas, las comprobaciones de políticas, las credenciales y la ejecución residen en una única aplicación. Mantén los esquemas acotados, valida cada argumento y evalúa tanto la selección de la herramienta como el efecto secundario resultante.

MCP

MCP separa los clientes de los servidores reutilizables y estandariza el descubrimiento y la invocación. Es útil cuando la misma integración debe funcionar con varios agentes o aplicaciones compatibles. Sus mecanismos de autorización siguen requiriendo comprobaciones de permisos específicas de la aplicación. Autentica el servidor, limita el alcance de los tokens, revisa los cambios en las definiciones de las herramientas, aísla los servidores no confiables y trata los resultados como entradas no confiables.

Herramientas CLI

Una CLI suele ser la vía más corta hacia capacidades maduras como Git, los gestores de paquetes, las herramientas en la nube y los sistemas de compilación. Prefiere salidas estructuradas, directorios de trabajo explícitos, opciones no interactivas, tiempos de espera limitados y credenciales con un alcance reducido. Evita construir cadenas de comandos de la shell a partir de texto no confiable.

Skills

Una skill agrupa instrucciones procedimentales y puede incluir scripts, referencias o plantillas. La especificación de Agent Skills permite a los agentes compatibles cargar esas instrucciones cuando las necesitan. Úsala para describir un flujo de trabajo que las herramientas existentes puedan ejecutar. Mantén su tamaño lo bastante reducido como para poder revisarla, documenta las versiones que das por supuestas e indica qué acciones necesitan aprobación.

Lista de comprobación de selección

  • ¿Quién es responsable del cliente, la interfaz y la implementación?
  • ¿Deben reutilizarla varios clientes?
  • ¿El esquema de entrada es acotado y está versionado?
  • ¿Dónde se aplican la autorización y la aprobación?
  • ¿Puede el contenido no confiable llegar a las credenciales o a la salida de red?
  • ¿Se pueden trazar las llamadas, los argumentos, los resultados y las decisiones de política?
  • ¿Puede una llamada a una biblioteca tipada resolver el problema con una interfaz más reducida?

Lecturas recomendadas

Referencias