Volver al Blog

Elegir entre CLI y MCP para tus flujos de trabajo de agentes de IA

2026-04-295 min read

Llevo aproximadamente un año construyendo flujos de trabajo de agentes, y una pregunta surge constantemente entre los desarrolladores: ¿debería usar una herramienta CLI o crear un servidor MCP para esta tarea? Al principio me pareció obvio, pero cuanto más lo explicaba, más me daba cuenta de que había una confusión genuina. Permítanme aclararlo.

¿Qué estamos comparando aquí?

Cuando digo CLI en este contexto, no me refiero a ejecutar comandos en tu terminal. Me refiero a cómo los agentes de IA invocan herramientas externas. Hay dos patrones principales:

Ejecución de comandos de shell funciona ejecutando comandos de shell directamente. El agente esencialmente ejecuta algo como npm run build o python script.py y analiza la salida.

MCP (Model Context Protocol) es un protocolo abierto desarrollado por Anthropic que utiliza JSON-RPC 2.0 para la comunicación entre aplicaciones de IA y sistemas externos. En lugar de ejecutar comandos de shell, el agente llama a herramientas estructuradas expuestas por un servidor MCP. El servidor descubre las herramientas disponibles a través del método tools/list, y el agente las ejecuta usando tools/call con parámetros tipados.

La diferencia clave: los comandos de shell le dan al agente una cadena de texto sin procesar para ejecutar, mientras que MCP le da al agente definiciones de herramientas estructuradas y seguras en cuanto a tipos con esquemas de entrada claros.

Cuándo tienen sentido los comandos de shell

Permítanme darles un ejemplo concreto. En el sitio de mi portafolio, tengo scripts que generan redirecciones de mis antiguas publicaciones de blog de WordPress a nuevas páginas de Next.js. No creé un servidor MCP para esto. ¿Por qué? Porque es una operación simple y única que ya existía como un script de Node.

Los comandos de shell ganan cuando:

  • Ya tienes un script o comando que funciona
  • La tarea es simple y no necesita una gestión de estado compleja
  • Estás prototipando y quieres moverte rápido
  • La herramienta está bien establecida y tiene una interfaz CLI estable

Otro escenario: uso ffmpeg para el procesamiento de audio en mis proyectos. ¿Quiero crear un servidor MCP para ffmpeg? Absolutamente no. Es una herramienta de décadas de antigüedad con una interfaz CLI estable. El agente solo necesita construir la cadena de comando correcta.

El agente no necesita definiciones de herramientas seguras en cuanto a tipos aquí. Solo necesita pasar argumentos a un proceso externo.

Cuándo brilla MCP

Ahora, aquí es donde MCP vale la pena la inversión. Creé un servidor MCP para mi herramienta de búsqueda de RFP. La funcionalidad no es nada simple. Es una búsqueda de texto completo en miles de documentos de contratación gubernamental, con filtrado, clasificación y resúmenes impulsados por IA.

Si hubiera hecho esto con comandos de shell, el agente estaría construyendo cadenas de comandos complejas con docenas de argumentos. Sería propenso a errores y difícil de mantener. En cambio, el servidor MCP expone herramientas claras con esquemas de entrada adecuados: search_rfps(query, filters) y get_rfp_details(id). El agente llama a estas con argumentos tipados, y el servidor MCP maneja la complejidad.

MCP gana cuando:

  • Tienes flujos de trabajo complejos y de varios pasos que necesitan una estructura adecuada
  • Necesitas interfaces seguras en cuanto a tipos con JSON Schema para las entradas
  • Estás construyendo algo desde cero que se usará repetidamente
  • Quieres que el agente descubra las herramientas disponibles dinámicamente
  • Necesitas un control detallado sobre lo que el agente puede hacer
  • Quieres soportar implementaciones tanto locales (transporte STDIO) como remotas (transporte HTTP)

El protocolo también admite la negociación de capacidades durante la inicialización de la conexión, por lo que los servidores pueden anunciar qué características admiten y los clientes pueden adaptarse en consecuencia.

¿Qué pasa con la interacción con las API?

Esto surge mucho. Si el agente necesita llamar a una API REST, ¿debería usar curl o crear un servidor MCP?

Enfoque CLI significa que el agente construye cadenas de comandos como curl -X GET https://api.example.com/data -H "Authorization: Bearer $TOKEN". Funciona, pero el agente tiene que acertar cada encabezado, parámetro de consulta y detalle de autenticación. Si falla algo, la llamada falla.

Enfoque MCP expone herramientas como get_data(filters) o search_customers(query). El servidor MCP maneja las llamadas HTTP, la autenticación, el manejo de errores y los reintentos internamente. El agente solo pasa parámetros estructurados.

Para una llamada rápida y única, la CLI está bien. Para cualquier cosa que uses regularmente, MCP es más limpio. El servidor puede manejar la actualización de tokens OAuth, la limitación de velocidad y los mensajes de error adecuados. Tu agente no necesita saber nada de eso.

El marco de decisión

Así es como lo pienso ahora:

Empieza con comandos de shell si: la tarea es un simple envoltorio alrededor de un comando existente, es una operación única o de baja frecuencia, o simplemente necesitas algo que funcione rápidamente.

Pasa a MCP si: la herramienta tiene entradas complejas que necesitan validación, se usará con frecuencia en flujos de trabajo de agentes o necesita un descubrimiento de herramientas adecuado. La sobrecarga de configurar un servidor MCP solo tiene sentido cuando la complejidad de la herramienta lo justifica.

También hay una consideración sobre la curva de aprendizaje. Tu equipo necesita entender cómo funciona MCP; es un protocolo abierto con SDK para múltiples lenguajes. Si eres el único que crea herramientas para agentes y solo necesitas que algo se haga, los comandos de shell están bien. Si estás creando herramientas para un equipo o quieres infraestructura reutilizable, MCP vale la pena.

¿Qué pasa con la combinación de ambos?

Puedes hacerlo, y deberías cuando sea apropiado. Tengo un servidor MCP para mi blog que maneja operaciones complejas como la generación de traducciones o la gestión de metadatos de publicaciones. Pero todavía llama a comandos de shell internamente para cosas como ejecutar scripts de Node o acceder a git. MCP es la capa de orquestación, los comandos de shell son una de las herramientas que puede usar.

No pienses en ello como una cosa o la otra. Piensa en MCP como una forma de darle a los agentes una interfaz más limpia a tus herramientas existentes, incluidos los comandos de shell. El protocolo utiliza mensajes JSON-RPC 2.0 independientemente del transporte, ya sea STDIO para procesos locales o HTTP Streamable para servidores remotos.

La próxima vez que estés construyendo algo para un agente, pregúntate: ¿es esto un simple envoltorio alrededor de un comando existente, o necesita su propia interfaz estructurada con definiciones de herramientas seguras en cuanto a tipos? Esa respuesta te dirá qué camino tomar.

Mantente Actualizado

Recibe las últimas publicaciones e ideas directamente en tu bandeja de entrada.

Unsubscribe anytime. No spam, ever.