Protocolo MCP: Nueva Era IA

La llegada de los Modelos de Lenguaje Grande (LLMs) ha revolucionado indudablemente el panorama de la inteligencia artificial. Sin embargo, persiste un desafío: integrar estos modelos con datos patentados. Si bien los LLMs son competentes en el procesamiento de grandes cantidades de información de Internet, su verdadero potencial reside en servir como interfaces de lenguaje natural para nuestras aplicaciones y datos, permitiéndonos aprovechar sus capacidades predictivas y generativas dentro de un entorno controlado.

Para asegurar la fiabilidad y relevancia de las salidas de los LLMs, han surgido varias estrategias, cada una diseñada para cerrar la brecha entre estos modelos y conjuntos de datos específicos. Estas estrategias varían desde la creación de incrustaciones personalizadas y el empleo de técnicas de generación aumentada por recuperación (RAG) – aprovechando bases de datos de grafos para descubrir relaciones intrincadas dentro de los datos – hasta la utilización de LLMs para destilar y presentar datos obtenidos a través de llamadas a la OpenAPI desencadenadas por las indicaciones del usuario. Además, el modelo de plug-in popularizado por ChatGPT de OpenAI ofrece otra vía para la integración de datos. Entre estos diversos enfoques, el Protocolo de Contexto del Modelo (MCP) destaca como una solución prometedora para estandarizar la conexión entre LLMs y fuentes de datos externas.

Desvelando el Protocolo de Contexto del Modelo

El Protocolo de Contexto del Modelo, revelado por Anthropic a finales de 2024, representa un paso significativo hacia la optimización de la interacción entre los LLMs y los datos específicos del usuario. Este protocolo subraya el papel crítico del contexto en las aplicaciones de IA, reconociendo que la capacidad de la IA para ofrecer salidas coherentes y significativas depende de la disponibilidad de información contextual relevante. Confiar únicamente en las indicaciones del chat para obtener respuestas sensatas es, en el mejor de los casos, un ejercicio de optimismo y, en el peor, una receta para resultados inexactos o engañosos. Para construir agentes robustos y semiautónomos capaces de orquestar flujos de trabajo en torno a nuestros datos, es esencial un mecanismo fiable para entregar esos datos a estos agentes.

Como iniciativa de código abierto, MCP proporciona implementaciones de SDK para una amplia gama de lenguajes de programación, acompañado de documentación exhaustiva dentro de su repositorio de GitHub. Esta documentación permite a los desarrolladores implementar o utilizar servidores MCP de manera efectiva. La descripción del proyecto de MCP como un ‘puerto USB-C para aplicaciones de IA’ captura acertadamente su esencia, destacando su capacidad para estandarizar las conexiones a diversas fuentes de datos. Construido sobre una base estandarizada, MCP se integra fácilmente con los proyectos existentes, interactuando a la perfección con varios LLMs y proveedores de inferencia.

La arquitectura de MCP sigue un modelo cliente/servidor bien establecido, donde un agente asume la responsabilidad de traducir las peticiones de MCP en peticiones locales o remotas. Este diseño refleja la funcionalidad de los lenguajes de definición de interfaces como CORBA, transformando a MCP en una capa de interoperabilidad versátil que facilita el cambio continuo entre fuentes de información y aplicaciones LLM. Aprovechando una conexión JSON RPC, MCP permite un control granular a nivel de usuario individual a través de herramientas como Azure API Management.

MCP fomenta el desarrollo de interfaces genéricas para el código impulsado por la IA, evidenciado por su creciente adopción en las plataformas de desarrollo de IA de Microsoft. Desde su integración dentro de la herramienta de orquestación de modelos Semantic Kernel hasta su despliegue como servidores MCP compatibles con Azure OpenAI y Azure AI Foundry, MCP está ganando terreno rápidamente. Microsoft también está mejorando Azure API Management con características para controlar el acceso a los datos basándose en las credenciales del usuario, solidificando aún más el papel de MCP en las implementaciones de IA seguras y gobernadas.

Servidor Azure MCP: Una Implementación Temprana

El servidor Azure MCP de código abierto, lanzado recientemente en versión preliminar pública, ejemplifica una implementación temprana de MCP en la plataforma de Microsoft. Este servidor sirve como un agente común para el acceso de la IA a los servicios clave de Azure, adhiriéndose a los principios de código abierto adoptados por muchos proyectos recientes de Azure. Su código está disponible en GitHub. El servidor Azure MCP proporciona acceso a una parte sustancial de la plataforma Azure, incluyendo bases de datos, soluciones de almacenamiento y servicios como la CLI de Azure.

La inclusión de soporte para la CLI de Azure (y la CLI para desarrolladores) es particularmente notable, ya que permite a los agentes impulsados por MCP interactuar directamente con Azure, tratando las llamadas de MCP como operadores. Esta capacidad allana el camino para la construcción de agentes que ofrecen una interfaz de autoservicio en lenguaje natural para Azure. Por ejemplo, un agente podría tomar una descripción de una infraestructura y generar automáticamente las plantillas ARM requeridas para su despliegue. Extendiendo este concepto aún más, uno podría imaginar un agente multimodal que analice un boceto de pizarra, derive una descripción de los recursos necesarios y luego despliegue la infraestructura, permitiendo el desarrollo de código inmediato. Los servicios adicionales de administración del sistema accesibles a través del servidor Azure MCP abarcan el listado de los grupos de recursos actuales y el aprovechamiento de KQL para consultar los registros de Azure Monitoring.

Integrando el Servidor Azure MCP con el Chat de GitHub Copilot

Debido a que se adhiere al estándar MCP, el servidor Azure MCP se integra a la perfección con cualquier herramienta de IA que soporte MCP, como el Modo Agente de GitHub Copilot. Simplemente añadiendo el servidor a su inquilino, puede empezar a hacer preguntas a través de Copilot, ya sea directamente o a través de la integración de Visual Studio Code. Esta última opción proporciona un medio efectivo para aprender a aprovechar MCP y construir indicaciones para sus propias aplicaciones de IA basadas en MCP.

Actualmente, Microsoft aún no ha lanzado una herramienta MCP dedicada para sus lenguajes de programación, lo que requiere el uso de SDKs oficiales para desarrollar código personalizado. Con soporte para TypeScript, C# y Python, los desarrolladores tienen acceso a las herramientas necesarias para crear sus propios agentes Azure MCP. La experimentación puede llevarse a cabo dentro de Visual Studio Code, utilizando las credenciales de Azure existentes.

El servidor opera en su PC de desarrollo y requiere Node.js. La instalación se realiza directamente desde el repositorio de GitHub del proyecto en VS Code. Una vez instalado, asegúrese de que tanto la extensión GitHub Copilot como la de GitHub Copilot Chat estén configuradas para utilizar el modo agente experimental (accesible a través de la herramienta de configuración de VS Code). Posteriormente, abra el panel de chat de GitHub Copilot y cambie al modo agente. Verifique que el servidor Azure MCP esté instalado dentro del menú desplegable de herramientas. Ahora puede enviar consultas, como ‘Listar mis suscripciones de Azure’.

La herramienta resultante resulta invaluable para cualquier persona que trabaje con Azure y se extiende más allá de la integración de Copilot. El servidor Azure MCP se puede instalar en cualquier lugar donde se soporte Node.js, lo que permite su integración en agentes personalizados.

El Papel de MCP en Azure AI Foundry

Microsoft está expandiendo rápidamente su cartera de herramientas MCP, exponiendo las funcionalidades existentes a través de MCP o permitiendo su consumo dentro de aplicaciones agenticas. Este rápido despliegue incluye herramientas para el desarrollo de agentes sin código de Copilot Studio, anunciado durante la redacción de este artículo.

Azure AI Foundry, la principal plataforma de desarrollo de Microsoft para el desarrollo de aplicaciones de IA a gran escala, también está desarrollando activamente un servidor MCP para complementar el Servicio de Agentes de IA de Azure. Esta integración tiene como objetivo conectar los agentes que se ejecutan dentro de Azure AI Foundry con los clientes que operan como parte de otras aplicaciones de IA.

Este servicio le permite reutilizar rápidamente el código y los servicios de IA existentes y enlazarlos con nuevas aplicaciones. Servicios como Fabric exponen sus características de agente como puntos finales del Servicio de Agentes de IA, lo que permite que las aplicaciones de IA se conecten a la perfección con los datos centrales de la línea de negocio, proporcionando una base esencial para mitigar los riesgos de alucinaciones y errores.

Tras la instalación, el servidor proporciona un conjunto de acciones MCP para conectarse a los agentes y enviarles consultas. También puede listar los agentes disponibles o utilizar un agente predeterminado para tareas específicas. Se incluye soporte para hilos de conversación, proporcionando a los agentes una memoria semántica básica para conversaciones contextuales. Necesitará los IDs de los agentes del Servicio de Agentes de IA de Azure para invocarlos utilizando MCP.

El servidor está implementado en Python y puede instalarse utilizando la CLI de Azure a través de pip. Alternativamente, una versión TypeScript está disponible para aquellos que la prefieran. De forma similar al servidor Azure MCP, este servidor opera fuera del entorno de AI Foundry, lo que permite que se instale en un PC de desarrollo o como parte de una aplicación alojada en la nube dentro de su propio contenedor o VM, con soporte para Windows, macOS y Linux.

Aprovechando los Servidores MCP desde Aplicaciones de IA de Semantic Kernel

Como estándar abierto, MCP permite la compatibilidad del servidor con cualquier cliente. El repositorio de GitHub proporciona instrucciones sobre cómo establecer una conexión utilizando Claude Desktop de Anthropic, pero el verdadero valor reside en la construcción de flujos de trabajo de agentes personalizados dentro de Semantic Kernel.

Microsoft proporciona código de ejemplo que demuestra cómo integrar el soporte de MCP en una orquestación de Semantic Kernel, tratándolo como un plug-in del kernel que se integra con llamadas a funciones familiares. Estas integraciones pueden ser envueltas como agentes y accedidas según sea necesario. Si bien la integración de MCP dentro de Semantic Kernel todavía está en desarrollo, se integra a la perfección con su conjunto de características existente, requiriendo un código adicional mínimo para exponer las herramientas MCP desde un servidor a las aplicaciones de IA.

Herramientas como MCP son componentes críticos de una pila de IA moderna, proporcionando un enfoque estandarizado para construir interfaces detectables tanto para aplicaciones locales como remotas. Una vez definidas, las herramientas MCP se invocan fácilmente, con un servidor que proporciona una lista de las herramientas disponibles y MCP que proporciona a los LLMs un medio estandarizado para llamar a esas herramientas y utilizar sus salidas. Este enfoque contribuye significativamente a proporcionar una herramienta de base universal para las aplicaciones de IA, trabajando con APIs estándar, consultas de bases de datos y agentes de IA por igual.