Vamos a dar un repaso a la necesidad de protocolos de comunicación entre agentes IA, qué son, por qué son importantes, y luego profundizamos en MCP y Agente-to-Agent (A2A), los dos quew se postulan como estándares más populares. Este número está escrito en lenguaje sencillo para personas no muy técnicas. Si tienes interés por el detalle de MCP y A2A, tienes el detalle abajo y una tabla comparativa bastante chula. Ya sabéis que esta newsletter, Mentes Inquietas, está también [publicada en LinkedIn](https://www.linkedin.com/pulse/protocolos-de-comunicaci%C3%B3n-entre-agentes-ia-mcp-y-a2a-hurtado-tor%C3%A1n-baggf) # Protocolos de comunicación entre agentes de IA generativa: MCP y A2A ![](Protocolos-MCP-A2A.jpg) ## Introducción En los últimos años han surgido _agentes de IA generativa_ – sistemas basados en IA capaces de actuar de forma autónoma utilizando modelos generativos (como los de lenguaje natural) para cumplir objetivos. Estos agentes son más que un simple chatbot: **perciben su entorno, procesan datos y actúan para alcanzar metas específicas de manera autónoma**. Por ejemplo, un agente podría monitorizar correos, extraer datos de una base de datos y generar un informe sin intervención humana. Sin embargo, conforme aumenta el número de agentes en uso, aparece un nuevo desafío: **¿cómo se comunican y cooperan entre sí estos agentes inteligentes?** Aparece un interesante desafío: **no existe un “idioma” común para que las IA conversen entre sí o con sus herramientas**. Cada agente podría estar construido por distintos proveedores, en diferentes plataformas y con interfaces propias, lo que recuerda a una empresa donde cada departamento habla un idioma distinto Poco a poco van apareciendo protocolos de comunicación estandarizados específicamente diseñados para agentes de IA, con el fin de establecer ese “idioma” común que posibilite la colaboración. **MCP (Model Context Protocol)** y **A2A (Agent-to-Agent)** son dos de los principales protocolos emergentes en este ámbito. En términos sencillos, **MCP conecta a los agentes con el mundo de datos y herramientas externas**, mientras que **A2A conecta a los agentes entre sí**. En esta investigación, Máquina y yo hemos os contamos el concepto general de comunicación entre agentes generativos, por qué son necesarios estándares abiertos, ejemplos prácticos de uso, otros métodos recientes de comunicación, y nos centraremos en la historia y características de MCP y A2A. Al final os dejamos una comparativa de ambos protocolos – sus fortalezas, debilidades, casos de uso, adopción e interoperabilidad – en un lenguaje accesible para un público empresarial o de desarrollo de software no especializado. ## La comunicación entre agentes de IA generativa Hablamos de agentes de IA generativa comunicándose pero, ¿por qué necesitan comunicarse? Cada agente suele tener una función u objetivo muy concreto (por ejemplo, un agente “asistente de ventas” y otro agente “analista de datos”). Para lograr una meta común (ej.: atender automáticamente una solicitud compleja de un cliente), necesitan **compartir información** (datos, resultados intermedios, instrucciones) y **coordinar sus acciones** (quién hace qué y cuándo). Antes de contar con protocolos dedicados, esta comunicación se hacía de forma ad-hoc, por ejemplo mediante llamadas a APIs específicas de cada agente o intercambio de texto sin estructurar. Esto es poco eficiente: sin normas comunes, es como si cada agente hablara un idioma distinto. De hecho, en ausencia de un protocolo estándar, integrar agentes múltiples requería crear _“traducciones” o código intermedio_ para cada par de agentes, algo difícil de escalar. Si cada nuevo agente necesita integraciones personalizadas con los demás, el ecosistema se vuelve frágil y costoso – recordando los primeros días de los servicios web, donde nada podía hablar con nada sin mucho _glue code_ (código pegamento). Con protocolos de comunicación entre agentes, se establece un **formato de mensaje y reglas de interacción comunes**. Esto permite que un agente pueda, por ejemplo, _descubrir_ qué capacidades tiene otro, enviarle una petición estructurada (“ayúdame con este sub-problema”) y entender su respuesta también estructurada, todo de forma estándar. ![](Comunicacion-agentes.jpg) *Estas imágenes tan fancy que hacemos para ilustrar la comunicación entre agentes, son la pesadilla de los desarrolladores si no hay protocolos estándar.* ## Necesidad de estándares de comunicación A medida que las empresas adoptan múltiples agentes de IA en distintos departamentos y tareas, **tener estándares abiertos de comunicación se vuelve crítico**. Sin estándares, cada integración sería un proyecto único. En cambio, un protocolo común proporciona interoperabilidad “de fábrica” entre soluciones de distintos proveedores. **¿Qué beneficios concretos aportan estos estándares?** - **Interoperabilidad y ecosistemas abiertos:** Permiten que agentes creados por diferentes organizaciones o frameworks trabajen juntos sin problemas de compatibilidad. Por ejemplo, un agente basado en la API de un proveedor puede cooperar con otro agente distinto en la misma empresa si ambos hablan el mismo protocolo. Esto **evita quedar atado a un único proveedor** y fomenta un ecosistema en el que se puedan “enchufar” componentes de IA variados, igual que enchufamos periféricos USB sin preocuparnos de la marca. - **Mayor autonomía y productividad:** Cuando los agentes pueden coordinarse entre sí dinámicamente, **la suma es más que las partes**. Pueden repartirse tareas complejas, consultarse mutuamente y tomar decisiones colaborativas. Google señala que habilitar la colaboración multiagente, incluso entre sistemas aislados o dispares, **incrementa la autonomía de los agentes, multiplica las ganancias de productividad y reduce costes a largo plazo**. - **Integración sencilla de nuevas fuentes de datos o funcionalidades:** Un estándar hace mucho más fácil añadir capacidades a un agente. Anthropic destaca que, sin un protocolo común, _“cada nueva fuente de datos requiere una implementación a medida, dificultando la escalabilidad de sistemas verdaderamente conectados”_, mientras que con un estándar único se reemplazan esas integraciones fragmentadas por un método unificado. Por ejemplo, si ya existe un protocolo común, conectar un agente a una nueva base de datos o servicio externo es cuestión de adherirse al estándar, en lugar de volver a programar desde cero la comunicación. - **Mantenimiento y evolución más eficientes:** Al reducir la cantidad de “traducciones” personalizadas entre agentes, también se reduce la complejidad. Los sistemas estandarizados son más **fáciles de mantener y depurar**. Si todos hablan bajo las mismas reglas, diagnosticar problemas de comunicación o actualizar a nuevas versiones del protocolo es más manejable que actualizar decenas of interfaces diferentes. Asimismo, cualquier mejora en el protocolo beneficia a todo el ecosistema a la vez. ## Usos prácticos y arquitecturas multiagente **¿En qué escenarios resulta útil que varios agentes de IA se comuniquen entre sí?** En la práctica, ya empiezan a verse aplicaciones concretas tanto en entornos empresariales como en otras áreas: - **Automatización de procesos empresariales:** Las empresas pueden desplegar _equipos de agentes_ especializados que cooperen. Por ejemplo, un agente puede encargarse de tramitar el pedido de un portátil nuevo para un empleado, consultando a otro agente encargado de inventario y compras. Del mismo modo, en atención al cliente, un agente “recepcionista” podría atender consultas básicas y, si detecta una solicitud compleja, delegarla a otro agente más especializado (por ejemplo, uno entrenado en resolver problemas técnicos) – coordinando entre ambos la respuesta al usuario. Al final, distintos agentes actúan como departamentos automatizados que **se coordinan para resolver casos de negocio de punta a punta**. - **Optimización de cadenas de suministro:** En el manejo de logística y suministro, varios agentes pueden colaborar: uno monitoriza niveles de stock, otro predice la demanda futura (p. ej. con modelos generativos sobre datos de mercado) y otro gestiona las órdenes de compra. **La comunicación les permite intercambiar alertas y planes en tiempo real** – si el agente de predicción detecta un posible pico de demanda, puede notificar al agente de inventario para que reponga existencias. Esto conduce a una toma de decisiones más ágil que la que podría lograr un único sistema monolítico. - **Sistemas multiagente en salud y otras industrias:** En salud, se exploran agentes que asisten en diagnóstico, monitorización de pacientes y administración de tratamientos. Por ejemplo, un agente puede vigilar constantes vitales de un paciente (desde dispositivos IoT) y comunicarse con otro agente encargado de análisis médico; juntos pueden detectar irregularidades y notificar a un médico humano. En energía, se plantea que agentes representando productores y consumidores de electricidad negocien entre sí para equilibrar la carga en la red inteligentemente. Estos ejemplos ilustran **arquitecturas multiagente donde cada agente maneja un rol** y la coordinación entre ellos posibilita soluciones más completas. - **Asistentes personales y productividad individual:** Más allá de entornos corporativos, los agentes de IA comunicándose también aparecen en aplicaciones personales. Un asistente digital complejo podría constar de varios sub-agentes: uno que lee correos y redacta borradores, otro que lleva la agenda y tareas, y otro que navega por la web en busca de información. Gracias a protocolos de comunicación, estos sub-agentes pueden **compartir contexto** y trabajar en conjunto como un único “asistente” cohesivo. Por ejemplo, si recibes un email invitándote a una reunión, el agente de correo puede pasar los detalles al agente de agenda para que programe el evento automáticamente, mientras otro agente busca información sobre los participantes. Todo ocurre de forma transparente para el usuario, con los agentes negociando entre ellos cuál se encarga de cada parte de la tarea. En todos estos casos, la comunicación estandarizada es la clave para que la suma de agentes funcione bien. Este tipo de **arquitectura multiagente** ofrece modularidad (puedo añadir o quitar agentes especializados fácilmente) y resiliencia (si falla un agente, otro podría suplir parte de su función). Además, facilita la **colaboración hombre-máquina**: es posible imaginar un flujo de trabajo donde un agente conversa con un humano y, tras la interacción, coordina internamente con otros agentes para ejecutar la solución solicitada. En definitiva, las aplicaciones prácticas van desde la automatización empresarial a asistentes personales, pasando por dominios especializados como salud, finanzas, logística o atención al cliente. A medida que maduren los protocolos de comunicación, es de esperar que surjan **ecosistemas de agentes interoperables** cubriendo cada vez más tareas en diversos sectores. ## Otros métodos de comunicación recientes (APIs, funciones y protocolos) Nos centraremos en MCP y A2A, que tienen pinta de ser los que se convertirán en los estándares más usados. Pero antes viene bien hablar brevemente **otras formas en que los agentes de IA (particularmente modelos generativos) se han comunicado con herramientas o entre sí**: - **APIs y enfoques tradicionales:** La forma más directa (aunque no la más eficiente) de integrar agentes ha sido tratarlos como servicios web. Es decir, cada agente expone una API (p. ej., un endpoint REST) y otros agentes le envían peticiones HTTP como si fueran clientes. Esto efectivamente convierte a un agente en un “microservicio” más. Si bien usar APIs REST/JSON o gRPC para que agentes intercambien datos **funciona**, tiene limitaciones: requiere definir manualmente los contratos (endpoints, formatos) entre cada agente, **no conserva contexto conversacional** entre llamadas y suele ser _síncrono_ (esperando respuesta inmediata) a menos que se diseñe un sistema de mensajería asíncrona adicional. Este es un enfoque **no estandarizado** (cada API puede ser distinta) y con bastante trabajo de integración a medida. Muchos primeros experimentos de multiagente usaron este método – esencialmente “conectar” un modelo con otro alimentando la salida de uno a la entrada del siguiente – pero carecían de un protocolo común que orquestara la interacción de forma general. - **Llamadas de función y _plugins_ en LLMs:** En 2023, OpenAI popularizó una característica llamada _Function Calling_ (llamadas a función) en sus modelos GPT-4, que permitía que el modelo devolviera un JSON indicando la invocación de una función con ciertos parámetros. Esto abrió la puerta a integrar herramientas externas de forma más estructurada – por ejemplo, definir una función `get_weather(ciudad)` que el modelo pueda “llamar” y, mediante código intermedio, obtener la respuesta real de una API meteorológica. De modo similar, el sistema de _plugins_ de ChatGPT siguió esta idea de permitir que un modelo invocara servicios (como consultar una base de conocimientos o realizar una acción en una app) bajo un formato controlado. **El límite de estos métodos** es que fueron específicos de un proveedor (OpenAI) y requerían predefinir esquemas o APIs para cada función/plugin. Aunque muy útiles para conectar un único agente a herramientas, _no estaban diseñados como estándar abierto_ multiagente. En paralelo, Anthropic desarrolló con Claude una forma alternativa de lograr lo mismo de manera más flexible dentro del flujo conversacional (como veremos con MCP). En cualquier caso, esto del *Function Calling* sentó las bases de _“LLM como agente que llama herramientas”_, demostrando la necesidad de protocolos más generales. - **ACP (Agent Communication Protocol) de IBM/BeeAI:** Otro desarrollo reciente es el protocolo ACP, originalmente propuesto por investigadores de IBM (proyecto BeeAI) para estandarizar la comunicación entre agentes, **enfocado en entornos locales o de _edge computing_**. A diferencia de A2A (orientado a la nube y comunicación vía web) o MCP (orientado a proporcionar contexto/herramientas), **ACP busca habilitar que agentes autónomos descubran y coordinen a otros agentes dentro de un mismo entorno local** (por ejemplo, varios procesos corriendo en un mismo servidor, o en dispositivos de borde sin conexión a Internet). Se basa en principios como: _descubrimiento local de agentes_, mensajería por un bus interno (posiblemente usando mecanismos como gRPC, ZeroMQ u otros) y mínima latencia. ACP suele implementarse como un **canal de comunicación en tiempo real y descentralizado** – los agentes se envían eventos unos a otros, con autenticación ligera, sin depender de servicios cloud. Sus casos de uso incluyen robótica, flotas de drones, sistemas IoT o entornos sensibles donde se quiere evitar depender de la nube. ACP llena el nicho de la coordinación _off-line_ o local: piensa en una fábrica donde agentes de IA en distintas máquinas se comunican directamente en la intranet para sincronizarse. No compite con A2A, sino que **cubre escenarios donde un protocolo ligero “en casa” es preferible al overhead de HTTP/web**. En la tabla siguiente resumimos cómo encajan estos métodos en el panorama general: - **APIs tradicionales:** Enfoque manual, no estandarizado, cada agente como servicio independiente (alto esfuerzo de integración, poco _contexto compartido_). - **Function Calling / Plugins (2023):** Mecanismos estructurados para que un agente LLМ llame funciones o servicios; cerrados a cada plataforma (OpenAI, etc.), preludio de protocolos más abiertos. - **ACP (2024):** Protocolo abierto centrado en agentes locales/embebidos, comunicación rápida sin depender de Internet; ideal para entornos de baja latencia o privados. - **MCP (2024) y A2A (2025):** Protocolos abiertos (Anthropic y Google, respectivamente, y fully supported por Microsoft) que abordaremos a continuación en detalle, orientados a resolver la integración de contexto/herramientas (MCP) y la interoperabilidad agente-agente (A2A) a gran escala. ## Modelo de Protocolo de Contexto (MCP) – historia y concepto ![](Protocolos-MCP.jpg) El **Model Context Protocol (MCP)** es un estándar abierto propuesto por _Anthropic_ a finales de 2024. Su objetivo principal es **estandarizar cómo las aplicaciones proporcionan _contexto_ y conectan herramientas externas a los modelos de lenguaje** (u otros modelos generativos) que actúan como agentes. En otras palabras, MCP sirve de “puente” entre un agente de IA y las fuentes de información o servicios que necesita para cumplir sus tareas. _¿Por qué “Context Protocol”?_ Porque en el funcionamiento de un agente, el _contexto_ incluye todos los datos adicionales, documentos, funciones e información de entorno que ese agente puede necesitar aparte de su _prompt_ inicial. **Origen y evolución:** Anthropic liberó MCP como proyecto abierto el 25 de noviembre de 2024. Desde el inicio, se presentó como un equivalente al conector universal: _“piensa en MCP como el puerto USB-C para aplicaciones de IA”_, sugerían sus creadores. La idea era reemplazar la infinidad de integraciones personalizadas (cada modelo con cada herramienta) por **un único protocolo unificado**. Rápidamente atrajo adopción: empresas como Block, Replit, Codeium o Sourcegraph comenzaron a integrar soporte MCP en sus plataformas en los meses siguientes a su lanzamiento. Incluso OpenAI – en un movimiento notable por tratarse de un estándar originado por un competidor – anunció en marzo de 2025 que añadiría soporte a MCP en ChatGPT y sus productos, dado el entusiasmo de la comunidad: _“A la gente le encanta MCP y estamos emocionados de añadir soporte”_ comentó Sam Altman. Microsoft también añadió soporte para MCP tanto en Copilot Studio como en Azure AI Foundry. Para mediados de 2025, MCP se había convertido en un estándar casi de facto con una comunidad creciente. **¿Cómo funciona MCP?** Técnicamente, MCP define una arquitectura cliente-servidor en la que: - Un **MCP _server_** es una interfaz estandarizada expuesta por una fuente de datos, herramienta o servicio. Por ejemplo, podría ser un wrapper MCP frente a una base de datos, de forma que entiende peticiones MCP y devuelve datos en formato MCP. - Un **MCP _client_** es la parte del agente (o de la aplicación host del agente) que sabe comunicarse con esos servidores MCP para pedir información o invocar funciones. El agente de IA (p. ej. Claude o GPT) formula sus necesidades de datos/acciones a través del cliente MCP, en lugar de llamar APIs propietarias directamente. MCP establece mensajes y estructuras para distintas clases de **primitivas** que el agente puede necesitar: - **Recursos**: datos estructurados que enriquecen el contexto del modelo (un fragmento de documento, filas de una tabla, resultados de una consulta). El agente puede solicitar recursos a un servidor MCP (por ejemplo “dame los registros de ventas del Q2”). - **Herramientas (tools)**: funciones ejecutables que el modelo puede invocar bajo demanda. Por ejemplo, una acción como `sendEmail(destinatario, contenido)` o `generateReport(datos)` podría exponerse vía MCP. El agente “llama” la herramienta y recibe el resultado de vuelta, todo gestionado por el protocolo. - **Prompts o plantillas**: incluso se contemplan instrucciones predefinidas o contextos prefabricados que el agente puede solicitar para guiar mejor sus respuestas. Con MCP, **el agente no tiene que tener todas estas herramientas/datos embebidos** ni pre-cargados; puede solicitarlos en tiempo real conforme los necesita, _a través de una interfaz única_. Esto mantiene al modelo ligero y actualizado: por ejemplo, en vez de meter en el prompt todo un manual de empresa, el agente puede usar MCP para _preguntar sólo el fragmento relevante al servidor_ de documentación. Del lado del desarrollador, **basta con que cada sistema exponga un conector MCP una vez** – ya no hay que escribir integraciones específicas para cada nuevo modelo o agente que aparezca. Un servicio (digamos un CRM o una base de conocimientos interna) implementa un MCP server **y automáticamente queda accesible para cualquier agente compatible con MCP**. Otro aspecto clave es que MCP maneja **sesiones con estado y sincronización de cambios**. A diferencia de llamadas API tradicionales que son independientes, MCP permite que un agente establezca una sesión continua con un servidor de contexto. En esa sesión, puede suscribirse a actualizaciones (modo _push_ – el servidor notifica al agente cuando hay cambios relevantes) o bien solicitar datos bajo demanda (modo _pull_). Por ejemplo, un agente conectado via MCP a un repositorio de código puede suscribirse a cambios: si alguien hace _commit_, el servidor MCP le envía una notificación para que actualice su contexto con el nuevo código. Todo esto mantiene al agente al día sin recargar todo de cero en cada interacción. Además, MCP incluye identificadores de versión para recursos, manejo de sesiones y otras convenciones para garantizar que se trabaje siempre con datos actualizados. **Seguridad y control**: Si bien es un protocolo abierto, MCP fue diseñado pensando en entornos empresariales, por lo que **soporta autenticación y control de acceso integrados**. Por ejemplo, un agente no puede simplemente obtener datos a menos que esté autorizado; el servidor MCP aplica políticas y requiere credenciales (el protocolo es compatible con estándares de auth como OAuth2, certificados mTLS, etc.). Además, las comunicaciones suelen ir cifradas (TLS) para proteger la información. Cada servidor MCP actúa como un _sandbox_ aislado, de modo que un agente sólo ve aquello para lo que tiene permiso y solo el trozo de contexto relevante de ese servidor, evitando fugas entre distintos orígenes. En resumen, aunque un agente pueda conectarse a decenas de fuentes vía MCP, cada interacción está **compartimentalizada y auditada** – crucial cuando se maneja información corporativa sensible. **Ejemplos de uso de MCP:** En la práctica, MCP se está aplicando en diversos ámbitos: - En el desarrollo de software, asistentes de código equipados con MCP pueden _acceder al repositorio Git, documentación técnica, datos de errores, etc._ para ayudar mejor al programador. De hecho, herramientas como Replit o Sourcegraph integraron MCP para que sus IA pudieran leer y escribir código en grandes bases de código de forma estandarizada y segura. Esto ha permitido que asistentes de programación alcancen nuevos niveles de funcionalidad (por ejemplo, buscar dónde se define una función en miles de archivos, o probar un fragmento de código ejecutándolo en un entorno, todo a través de MCP). - En entornos empresariales, un asistente corporativo con MCP puede conectarse tanto a un gestor documental como a una base de datos SQL interna y a Teams para enviar mensajes. Así, un mismo agente de IA puede, p. ej., construir un informe recuperando datos financieros del ERP, combinarlo con comentarios de un documento de OneDrive y finalmente enviar un resumen por el chat de Teams – todo mediante llamadas MCP a los sistemas correspondientes. La ventaja es que **la empresa no tuvo que programar una integración específica para cada paso**; simplemente añade conectores MCP para sus herramientas y el agente las utiliza. - Para usuarios individuales, ya existen agentes “personales” que usan MCP para orquestar tareas entre múltiples servicios: gestionar emails, calendario, notas, recordatorios, etc. Por ejemplo, un agente personal puede leer tu correo electrónico (vía MCP a un conector IMAP), extraer las tareas pendientes mencionadas (vía MCP a un servicio de notas) y actualizar tu lista de pendientes en Todoist (vía MCP a la API de Todoist). La persona sólo ve que su asistente de IA le ayuda en su productividad, sin darse cuenta de que por detrás ese asistente habló con varios sistemas heterogéneos usando un lenguaje común. **MCP dota a los agentes de IA de un “enchufe universal” para conectarse con el mundo digital**. Su fortaleza está en hacer sencillo lo que antes era engorroso: que un modelo de IA obtenga justo la información que necesita o ejecute la acción precisa en el sistema correcto, _cuando_ la necesita y de forma segura. Esto libera al modelo de sus limitaciones de contexto fijo, evitando prompts gigantescos o integraciones propietarias, lo que redunda en respuestas más pertinentes y sistemas más fáciles de escalar. MCP se ha ganado la etiqueta de estándar prometedor y, respaldado por Anthropic y una comunidad open-source activa, sigue evolucionando con nuevas implementaciones y mejoras contínuas. ## Protocolo Agente-a-Agente (A2A) – historia y concepto ![](Protocolos-A2A.jpg) Si MCP es para que los agentes accedan a datos o herramientas, el **Agent-to-Agent Protocol (A2A)** es un tiene un objetivo distinto. Introducido por Google en abril de 2025 para estandarizar la comunicación directa entre agentes de IA autóno. A diferencia de MCP (que, como vimos, conecta agentes con herramientas/datos), A2A está enfocado en que _diferentes agentes puedan “hablar” entre sí_ – **incluso si fueron desarrollados por terceros distintos o funcionan en plataformas diferentes**. **Origen y contexto:** Google anunció A2A como una iniciativa abierta el 9 de abril de 2025. Para _maximizar el potencial_ de los agentes IA, debían **poder colaborar en ecosistemas multiagente dinámicos**, incluso estando desplegados en aplicaciones aisladas o diferentes. El diseño de A2Atiene la visión de _“futuro donde los agentes de IA, sin importar la tecnología subyacente, colaboren sin fricciones para automatizar flujos de trabajo complejos”_. Tras la introducción en acceso anticipado, se anunció que A2A tendría una versión lista para producción a finales de 2025. **¿Cómo funciona A2A?** En esencia, A2A define un **modelo de comunicación sobre HTTP** donde cada agente expone ciertos metadatos y opera como un servicio interoperable. Los elementos clave son: - **Tarjeta de Agente (_Agent Card_):** Es una descripción en formato JSON de cada agente, que incluye su identidad, capacidades, interfaces y requisitos de autenticación. Podríamos decir que es el “perfil público” del agente. Por ejemplo, la tarjeta podría indicar: _Este agente puede proporcionar cotizaciones de seguros de salud; espera solicitudes con ciertos campos; autenticar con token X_. Esta ficha técnica estandarizada permite que otro agente (el que quiera interactuar) _descubra_ qué sabe hacer el agente remoto y cómo comunicarse con él. - **Roles de cliente y agente remoto:** En cada interacción A2A, hay un agente que actúa como **cliente (solicita una tarea)** y otro como **agente remoto (la ejecuta)**. Esta relación es análoga a cuando una aplicación cliente consume la API de un servicio, salvo que aquí ambos extremos son “inteligentes”. El agente cliente utiliza la información de la tarjeta de agente para identificar al colaborador adecuado y formular la petición según el formato requerido. - **Mensajes estructurados y artefactos:** La comunicación se realiza mediante mensajes que contienen distintas partes: porciones de _datos contextuales_, instrucciones del usuario, respuestas del agente y el resultado final o _“artefacto”_ de cada operación. A2A especifica que cada mensaje indique el tipo de contenido (por ejemplo, si es una solicitud, una respuesta parcial, una confirmación, etc.), lo que ayuda a que ambos agentes negocien cómo entenderse. El resultado final de una interacción – sea un documento generado, una decisión tomada, un resumen, etc. – se denomina artefacto en el protocolo. Esto permite seguir el ciclo de vida de una tarea de principio a fin. - **Transporte y formato:** Actualmente, A2A se implementa usando llamadas **JSON-RPC 2.0 sobre HTTPS** para la comunicación entre agentes. Es decir, bajo el capó las interacciones son peticiones HTTP con cuerpo JSON siguiendo el estándar JSON-RPC (un protocolo ligero de llamada a procedimientos remotos). A2A no se casa con un único transporte – podría teóricamente usarse otro medio – pero aprovechar HTTP/JSON facilita muchísimo la adopción, pues **se apoya en estándares web ya conocidos** en las empresas. Esto significa que integrar A2A en infraestructuras existentes es más sencillo (servidores web, balanceadores, etc., ya manejan HTTP) y que se pueden usar herramientas familiares para desarrolladores. - **Seguridad empresarial:** Desde el diseño, A2A incluyó mecanismos de autenticación/autorización robustos, equiparables a los que se emplean en APIs OpenAPI tradicionales. Cada agente puede requerir que quien le llame presente credenciales válidas (token, API key, OAuth). Dado que los agentes podrían realizar acciones sensibles en sistemas corporativos, es fundamental este control. Además, A2A soporta comunicación cifrada (HTTPS) para proteger los datos intercambiados. La participación de empresas como Salesforce, Workday y consultoras sugiere que se tuvo mucho cuidado en alinear A2A con políticas de seguridad y compliance habituales en entornos productivos. **A2A habilita flujos de trabajo multiagente complejos sobre infraestructura distribuida**. Un ejemplo sencillo: una compañía tiene un _agente de RR.HH._ que automatiza procesos de recursos humanos, y por otro lado un _agente de TI_ que administra sistemas internos. Si un empleado nuevo se incorpora, el agente de RR.HH. crea un perfil y luego necesita coordinar la creación de las cuentas de usuario y equipos para esa persona. Mediante A2A, el agente de RR.HH. (cliente) puede llamar al agente de TI (remoto) enviándole un mensaje estructurado “Crear cuentas para el empleado X con tales parámetros”. El agente de TI verifica la petición, la ejecuta (por ejemplo, crea correo, accesos, asigna portátil) y responde con un mensaje de resultado (artefacto: “cuentas creadas, aquí detalles”). Gracias a la tarjeta de agente, ambos sabían de antemano qué esperar uno del otro (formatos, autenticación). Este tipo de **delegación de tareas entre agentes** es uno de los usos naturales de A2A. **Características destacadas de A2A:** - _Directo y en tiempo real:_ A2A facilita intercambios directos sin necesitar un intermediario central. Un agente puede enviar notificaciones o actualizaciones de progreso a otro de forma proactiva, favoreciendo la **colaboración en tiempo real** (por ejemplo, varios agentes se mantienen al tanto del estado de una tarea compartida). Esto es útil en escenarios donde varios agentes trabajan conjuntamente en un proyecto largo y deben sincronizarse periódicamente o informar de eventos importantes de inmediato. - _Flexibilidad en patrones de interacción:_ El protocolo soporta desde interacciones _request-response_ sencillas hasta negociaciones más elaboradas. Por ejemplo, dos agentes podrían intercambiar varios mensajes para negociar cómo dividir un problema (un agente podría decir “toma esta parte del trabajo y yo hago esta otra” y el otro estar de acuerdo). **A2A define reglas para esa conversación estructurada**, de forma que ambos lados entiendan estados y expectativas. Incluso permite incorporar elementos de interfaz de usuario en los mensajes (como iframes o formularios web) cuando corresponde, lo que sugiere que se piensa en casos donde un agente podría solicitar a otro que presente información a un usuario final como parte del ciclo. - _Colaboración a través de fronteras organizativas:_ Un detalle interesante es que A2A contempla comunicaciones _cross-domain_. Es decir, podría conectar agentes que viven en distintas organizaciones o nubes (siempre que exista la debida confianza/autorización). Por ejemplo, un agente de una compañía podría, con permiso, interactuar con el agente de un proveedor externo para coordinar una cadena de suministro. **La idea es eliminar barreras técnicas**: que el hecho de que uno esté en AWS y otro en Azure, o uno hecho en Python y otro en Java, no impida que hablen. Esto recuerda a cómo los protocolos de internet permiten que distintas redes se conecten; A2A busca lograr esa universalidad en el plano de los agentes inteligentes. **A2A vs. MCP (complementariedad):** Google dejó claro que veía A2A y MCP como complementarios, no competidores. De hecho, en su anuncio mencionó explícitamente que A2A _“complementa el Protocolo de Contexto de Modelo (MCP) de Anthropic, que proporciona herramientas y contexto a los agentes”_. La sinergia es la siguiente: **MCP se encarga de conectar a un agente con las APIs, datos y recursos que necesita; A2A se encarga de conectar ese agente con otros agentes para coordinarse**. Un agente robusto en producción probablemente implemente ambos protocolos: utilizará MCP para, por ejemplo, acceder a la base de datos, y A2A para pedir ayuda a otro agente cuando no pueda resolver algo solo. La suma de ambos permite construir ecosistemas multiagente verdaderamente completos. Es lógico que tuvieran ese enfoque y mensaje, porque decir *"ahora saco yo ahora mi propio protocolo estándar"* no habría quedado bien 😄. **A2A representa el paso hacia la interoperabilidad horizontal entre agentes de IA**. Si MCP fue el “enchufe” con el mundo, A2A es el “idioma común” entre pares de IA. Podría convertirse en el “HTTP de los agentes”, es decir, la forma predeterminada en que las inteligencias artificiales autónomas se comunican en red. Conforme las implementaciones maduren, veremos si cumple esta promesa de ser el facilitador de _“conversaciones” autónomas que impulsen flujos de trabajo multiagente de punta a punta en las empresas_. ## Comparativa entre MCP y A2A ![](Protocolos-MCP-A2A-working.jpg) MCP y A2A abordan diferentes aspectos de la comunicación en sistemas de IA, pero existe cierta superposición en cuanto a su propósito general de **facilitar agentes más capaces y colaborativos**. A continuación comparamos conceptualmente y en la práctica estos dos protocolos en varios ejes clave: | **Aspecto** | **MCP (Model Context Protocol)** | **A2A (Agent-to-Agent Protocol)** | | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Alcance principal** | Conectar **agentes de IA con herramientas, datos y servicios externos** (proveer contexto del mundo real al agente). Es un conector vertical: agente ↔ sistemas. | Conectar **agentes de IA entre sí** para colaborar y coordinar acciones (comunicación horizontal agente ↔ agente). | | **Tipo de comunicación** | Modelo _cliente-servidor_: el agente actúa como cliente que consulta/ejecuta en servidores MCP (por ejemplo, pide datos a un MCP server de base de datos). Soporta solicitudes (_pull_) y notificaciones (_push_) de actualizaciones. | Modelo _peer-to-peer_ con roles dinámicos: un agente asume rol cliente (inicia una petición) y otro rol servidor remoto (responde) en cada interacción. La comunicación es típicamente síncrona con mensajes de ida y vuelta (aunque puede haber flujos más largos o asíncronos con actualizaciones). | | **Contexto y estado** | **Sesiones con estado y memoria de contexto**: MCP mantiene contexto acumulado por agente entre mensajes. El agente puede conservar datos obtenidos y suscripciones activas durante una sesión. Ideal para _enriquecer el prompt_ continuamente sin repetir pedidos. | **Intercambios focalizados por tarea**: A2A inicia un diálogo nuevo por cada tarea o coordinación entre agentes (se puede identificar por un ID de tarea compartido). No mantiene una memoria permanente entre interacciones separadas, más allá de lo que los agentes expliciten en sus mensajes. El contexto compartido suele limitarse al caso de uso concreto en curso. | | **Estandarización técnica** | Especificación abierta liderada por Anthropic. Usa **JSON-RPC sobre HTTP(S)** como base para solicitudes de contexto, y puede emplear _eventos en tiempo real_ (p. ej. Server-Sent Events) para notificaciones push. Se apoya en estándares web existentes, facilitando integración con APIs y sistemas actuales. | Especificación abierta liderada por Google (y comunidad). Actualmente define **JSON-RPC 2.0 sobre HTTP(S)** como mecanismo de transporte, con extensiones previstas para streaming de eventos. También aprovecha convenciones web (HTTP, JSON) y formatos legibles (tarjeta JSON de agente). En ambos casos, el uso de JSON/HTTP hace que **tanto MCP como A2A sean agnósticos del lenguaje de programación y compatibilicen con infraestructuras web comunes**. | | **Casos de uso típicos** | Integrar un **agente asistente con múltiples fuentes de información**: p. ej., un agente de soporte que mediante MCP consulta la base de conocimiento, accede al historial del cliente en un CRM y ejecuta una acción en el sistema de tickets. Otro ejemplo es un agente de código que mediante MCP interactúa con repositorios, ejecuta tests y consulta documentación para generar mejor código. En general, MCP se usa en **agentes individuales para potenciar sus capacidades** con datos actualizados y acciones en servicios. | Orquestar **workflows distribuidos entre múltiples agentes**: p. ej., en una cadena de suministro automatizada, un agente de ventas puede delegar a un agente de logística la gestión de un pedido vía A2A, o varios agentes expertos (legal, técnico, financiero) colaboran en preparar una propuesta compleja para un cliente. También habilita escenarios nuevos, como _negociación entre agentes_: dos agentes pueden dialogar para resolver un conflicto o asignarse tareas óptimamente. En suma, A2A se emplea cuando **más de un agente autónomo debe intervenir en conjunto** para lograr un objetivo. | | **Fortalezas** | **Acceso universal a herramientas y datos**: simplifica drásticamente la integración de nuevas fuentes de contexto, reemplazando APIs específicas con un único puerto estándar. **Contexto enriquecido**: al mantener memoria de contexto relevante, mejora la calidad y relevancia de las respuestas del agente (menos “alucinaciones” al tener datos reales a mano). **Adopción amplia inicial**: al ser abierto y útil, ha sido adoptado rápidamente por múltiples plataformas y proveedores (incluyendo OpenAI, Replit, Salesforce, etc.), creando un ecosistema de _connectors_ ya listo para usar. | **Interoperabilidad heterogénea**: permite que agentes de distintas empresas/frameworks cooperen (evitando silos). **Colaboración en tiempo real**: diseñado para intercambios rápidos, con soporte para actualizaciones continuas y tareas de larga duración sin bloquear. **Simplicidad y apoyo industrial**: su modelo (agentes como servicios HTTP) es intuitivo para desarrolladores de software, y el hecho de contar con respaldo de Google y decenas de socios le da peso para convertirse en estándar de facto. | | **Debilidades** | **Alcance limitado**: MCP por sí solo no soluciona cómo un agente habla con otro agente; se enfoca en una pieza del puzzle. Para casos de _multiagente real_, se necesita complementarlo con algo como A2A encima. **Infraestructura adicional**: requiere desplegar y mantener MCP servers para cada fuente de datos/herramienta. Aunque es menos trabajo que integraciones personalizadas, implica ejecutar servicios extras (lo cual conlleva cierta complejidad operacional). | **Ecosistema inicial**: siendo más reciente, a mayo de 2025 A2A está en fase de pruebas tempranas. Aunque prometedor, aún no cuenta con tantos casos de uso implementados en producción – las organizaciones exploran pilotos para validar su aporte real. **Superposición con APIs existentes**: algunas empresas podrían percibir que A2A añade capa adicional sobre APIs REST que ya existen. Deberá demostrar que la estandarización compensa la posible duplicación de funcionalidades (por ejemplo, asegurando compatibilidad hacia atrás con servicios ya publicados). Además, coordinar seguridad y confianza entre agentes de distintos dominios presenta retos (establecer políticas claras para que un agente externo pueda o no invocar cierto agente interno, etc.). | **Interoperabilidad e integración:** Generalmente se insiste en que **MCP y A2A no compiten, sino que se integran** para ofrecer una solución completa. MCP conecta el agente con sus herramientas y datos, y A2A lo conecta con otros agentes. En una arquitectura ideal, un agente equipado con ambos protocolos podría, por ejemplo, recibir una solicitud compleja de un usuario, consultar vía MCP todas las bases de datos necesarias para reunir información y luego coordinar vía A2A con varios agentes colaboradores (cada uno quizá aportando una parte de la solución), antes de entregar el resultado final. De hecho, analistas imaginan un futuro próximo con plataformas unificadas de agentes donde **A2A maneje la comunicación inter-agente, MCP el acceso a datos/herramientas, y protocolos como ACP cubran entornos locales offline**, todo funcionando en conjunto. Esto permitiría a desarrolladores construir soluciones multiagente sin preocuparse de qué protocolo usar en cada interacción – la interoperabilidad sería transparente. En cuanto al **grado de adopción** hasta la fecha: MCP, con varios meses de ventaja, ha mostrado señales sólidas de adopción en la industria (incluyendo su incorporación en productos comerciales y soporte multi-vendor). Una flipada que hablamos de algo que apareció en noviembre de 2024. A2A, recién lanzado, cuenta con el respaldo teórico de muchos actores importantes y se espera que a medida que madure, comience a verse en productos a lo largo de 2025. Dado que ambos son abiertos, es probable que veamos contribuciones de la comunidad, SDKs en distintos lenguajes, y tal vez convergencia de ideas entre ellos. Un punto interesante es que **A2A fue diseñado deliberadamente para complementarse con MCP**, de modo que empresas pueden adoptar ambos sin conflictos. La verdadera prueba de ambos protocolos vendrá con casos de uso complejos en producción; allí se verificarán su robustez, seguridad e impacto en eficiencia. ## Conclusiones La comunicación estandarizada entre agentes de IA generativa representa la próxima etapa en la evolución de sistemas autónomos inteligentes. **Model Context Protocol (MCP)** y **Agent-to-Agent (A2A)** abordan dos frentes necesarios para materializar ecosistemas de agentes cooperantes: MCP conecta a los agentes con las riquezas del mundo digital (datos en silos, aplicaciones, herramientas diversas) de forma unificada, y A2A les da un lenguaje común para **trabajar en equipo entre sí**, más allá de marcas o plataformas. Ambos, junto con otros enfoques complementarios como ACP, están sentando las bases de un futuro donde los agentes de IA formarán **un entramado interoperable dentro de las organizaciones**. Para un perfil empresarial o de desarrollo de software, las ventajas son claras: soluciones de IA más potentes, modulares y escalables, con menor costo de integración a largo plazo. Un estándar de comunicación evita reinventar la rueda en cada proyecto y reduce las barreras para combinar capacidades de distintos proveedores. Por ejemplo, una empresa podría emplear un agente de lenguaje de un proveedor y uno de visión por computador de otro, y hacer que colaboren sin tener que desarrollar desde cero un protocolo de entendimiento mutuo. Estamos aún en etapas iniciales – **“es temprano”**, como señalan expertos, y queda camino para la consolidación de estos estándares. El mejor escenario es aquel en que la industria converge en unas pocas normas abiertas (como MCP y A2A) y construye sobre ellas, evitando una nueva _torre de Babel_ de protocolos incompatibles. La colaboración entre rivales (ej. OpenAI adoptando MCP de Anthropic) es una señal esperanzadora de convergencia. En cualquier caso, resulta emocionante observar cómo en menos de dos años han surgido propuestas equivalentes al “HTTP” y “API” de los agentes de IA. Si logran su adopción masiva, **los agentes de IA podrían convertirse en un ecosistema cohesionado**, donde múltiples agentes se comunican, negocian y cooperan para resolver problemas complejos de forma autónoma – un objetivo que hasta hace poco pertenecía más a la ciencia ficción que a la realidad empresarial. MCP y A2A ilustran la rápida evolución hacia **estándares de comunicación en la era de la IA generativa**. Son piezas complementarias que habilitan nuevos casos de uso y prometen simplificar la integración de la IA en todos los rincones del negocio. Habrá que seguir de cerca su desarrollo hasta finales de 2025, cuando veamos versiones maduras, para confirmar si cumplen su promesa de ser los cimientos de agentes inteligentes verdaderamente colaborativos y universales. Por ahora, las bases están puestas y las perspectivas son altamente positivas: un mundo de _agentes conectados_ trabajando mano a mano (o mejor dicho, _máquina a máquina_) para nosotros. En el caso de este número de la newsletter, ha sido *Máquina* (con la M mayúscula, que es nombre propio) a *David* 🤖-->🤓 ## Bonus En la última revisión de el borrador de esta newsletter, le pregunto a Máquina si no es demasiado largo, y me responde con esto: ![](newsletter-pepino.png) da faq?!? #MentesInquietas