Search
  • en
  • es
  • es
    Search
    Open menu Open menu

    Introducción

    En la actualidad, el nuevo protocolo desarrollado por Anthropic, publicado en noviembre de 2024, está teniendo una muy buena acogida por la comunidad. Tanto es así que ya se considera un estándar de facto en la industria y otras compañías que también desarrollan modelos LLM han incorporado funcionalidades equivalentes a sus modelos.

    Pero ¿Qué es el Model Context Protocol?

    El Model Context Protocol (MCP) es un protocolo de comunicación estándar entre las aplicaciones y los Large Language Models (LLM) que potencia estas inteligencias artificiales para ser capaces de realizar tareas más complejas.

    Para simplificar la explicación, pensemos que, aunque la inteligencia humana es la más avanzada conocida, para responder una pregunta tan simple como “¿qué hora es?” normalmente necesitamos una herramienta (un reloj o un móvil).

    Con los LLM ocurre algo parecido: para responder preguntas más complejas necesitan conectarse con aplicaciones o servicios que les proporcionen herramientas para obtener información o realizar acciones. Ese es el principal valor que ofrece MCP.

    Esto no es algo completamente nuevo: ya existían integraciones entre LLM y herramientas para consultar datos o ejecutar acciones. Sin embargo, la mayoría eran integraciones ad hoc, específicas y no reutilizables. Lo interesante de MCP es que define una interfaz estándar de comunicación entre cualquier aplicación o servicio y cualquier modelo de IA, simplificando el proceso y haciendo que las conexiones sean portables y reutilizables.

     

    Por ejemplo, antes de MCP, las conexiones entre un LLM y cada aplicación/servicio se construían una a una y de forma particular.

     

    Ahora comparemos el esquema anterior al usar Model Context Protocol

     

    Con MCP, el LLM trabaja frente a un MCP Client que se conecta a cualquier MCP Server, proporcionando una capa de transporte estándar entre ambos. Por su parte, las aplicaciones y servicios solo necesitan desarrollar su MCP Server ofreciendo la lista de Tools que ponen a disposición del LLM para realizar sus tareas.

    Explorando los MCP Servers oficiales y de la comunidad

    Como comentábamos antes, desde la publicación de este protocolo de comunicación entre los modelos de IA y las aplicaciones y servicios, ha habido una rápida acogida por la comunidad y por consiguiente del resto de empresas privadas del sector. Toda aplicación o servicio ya se desarrollar pensando en su MCP Server o conector para alimentar y ofrecer sus herramientas a los modelos de inteligencia artificial.

    Esto plantea un escenario interesante en el cual un LLM ya no solo pueden respondernos preguntas en formato texto como un chatbot, sino que ahora tras una pregunta o consulta de un usuario, pueden realizar tareas sobre aplicaciones o servicios reales.

    La comunidad ha desarrollado miles de conectores para casi cualquier aplicación y las empresas también están desarrollando MCP Server oficiales. Por ello se está creando un ecosistema muy rico que podemos ver en el siguiente enlace, donde a fecha de escribir este artículo ya se superan los 16K MCP Servers registrados.

    Por ello, si eres una empresa que está pensando en incorporar la inteligencia artificial a tus aplicaciones o servicios, este es uno de los caminos más interesante del panorama actual para conseguirlo.

     

    Entre los MCP Server más destacados podemos encontrar desde:

     

    • FileSystem: permite a la IA gestionar y consultar ficheros locales, ayudando con tareas de creación, organización o búsqueda.
    • Github: facilita gestionar repositorios de código; la IA puede revisar pull requests, proponer correcciones, analizar vulnerabilidades o sugerir planes de pruebas.
    • PostgreSQL: posibilita que, a partir de una petición en lenguaje natural, la IA genere consultas SQL y extraiga la información solicitada.

     

    Todos ellos y muchos más pueden ser descargados e instalados de forma gratuita en tu Client MCP para conectarlos con un modelo de IA.

    Como puedes ver esto es un paso más allá en el objetivo de que los modelos de IA puedan realizar tareas más complejas y útiles que puedan ayudarnos a optimizar procesos o a ofrecernos mayor comodidad en tareas repetitivas que habitualmente tenemos que realizar.

     

     

    Security & Trust

    Pero no todos los MCP Server son seguros, esto quiere decir como con cualquier otra innovación tecnológica, si el creador de un MCP Server por descuido o de forma intencionada puede haber desarrollado un conector que pueda realizar acciones maliciosas sobre una aplicación, un servicio o incluso sobre el equipo de la persona que está usándolo.

    Esto es especialmente relevante en el entorno empresarial. Por ello han surgido herramientas que ayudan a evaluar y certificar que un MCP Server no presenta vulnerabilidades graves.

    Una de estas herramientas es MCP-Scan, que permite analizar los MCP Servers instalados en el cliente y generar un informe de posibles riesgos o configuraciones inseguras.

     

    Servidor MCP

    El servidor MCP (Model Context Protocol) es un componente que orquesta la interacción entre los modelos de lenguaje y su entorno, proporcionando una capa de comunicación. Su función principal es gestionar el flujo de información entre el modelo y diversas fuentes o servicios externos, garantizando interoperabilidad, seguridad y un contexto coherente durante la ejecución de tareas.

    Funcionalidades Servidor

    Tal y como se ha descrito anteriormente, en el protocolo MCP, las dos piezas fundamentales son cliente y servidor.  El servidor, se construye alrededor de tres primitivas esenciales:

    • Tools: Son funciones ejecutables que el servidor pone a disposición del cliente. Pueden ser comandos en endpoints con una interfaz bien definidas. Permiten al cliente ejecutar acciones concretas como buscar información, enviar una consulta a una API o ejecutar una operación local.
    • Resources: Representan fuentes de datos o archivos que el servidor puede exponer. El cliente no los ejecuta, sino que los lee o inspecciona. Su principal propósito es dar contexto al modelo sin tener que enviarlo todo por adelantado, por ejemplo: Un archivo de código o configuración, un dataset o un documento.
    • Prompts: Son plantillas de texto o instrucciones que el servidor puede proveer. Ayudan a mantener consistencia en la interacción con el modelo. El uso de estas plantillas permite al cliente reutilizar prompts sin reescribirlos, por ejemplo: “Explica este bloque de código”, “Resume el testo siguiente en 3 puntos” …

     

    Las más conocidas son las Tools (herramientas), que permiten ejecutar acciones o funciones concretas, por otro lado los Resources (Recursos) y las Plantilas (Prompts) amplían el contexto disponible y facilitan la interacción con el modelo.

    Compatibilidad clientes MCP

    No todos los clientes MCP implementan el conjunto completo de primitivas del protocolo.  Podemos comprobar la compatibilidad de cada uno de ellos en la página oficial de MCP Clients – Model Context Protocol (MCP)

     

    En particular, se puede observar que muchos clientes aún no ofrecen soporte para “Resources”, una de las primitivas más útiles del lado del servidor.

    Esto implica que, aunque las Tools (herramientas ejecutables) son las más extendidas y comúnmente soportadas, el acceso directo a recursos como archivos, datos o contextos adicionales, todavía es limitado en buena parte de los clientes.

     

    Protocolo de transporte

    La capa de transporte es el componente encargado de gestionar cómo se comunican los clientes y servidores MCP dentro del ecosistema. Su función principal es transmitir los mensajes JSON-RPC 2.0, que son el formato base del protocolo, garantizando que las solicitudes, respuestas y eventos fluyan correctamente entre los procesos.

     

    El transporte puede realizarse mediante varios mecanismos, cada uno con ventajas y limitaciones específicas.

    Tipos de transporte admitidos

    Existen dos formas principales de transporte en MCP:

    • Standard Input/Output (STDIO), un método de comunicación directa entre procesos locales mediante los flujos estándar del sistema operativo. Su gran ventaja es la simplicidad y eficiencia, ya que no requiere conexión de red ni configuración adicional, siendo ideal para integraciones locales en entornos como CLI o IDEs. Sin embargo, su limitación principal es que solo funciona dentro del mismo entorno o máquina, lo que dificulta su uso en arquitecturas distribuidas o remotas.
    • Streamable HTTP, ofrece un canal de comunicación bidireccional y continuo entre cliente y servidor. Permite transmitir mensajes en ambas direcciones de forma eficiente, facilitando la autenticación, la autorización y la integración en entornos distribuidos. Sus ventajas en seguridad y bidireccionalidad han llevado a que acabe reemplazando a Server-Sent Events (SSE), un protocolo anterior unidireccional usado para notificaciones o actualizaciones en tiempo real que ha quedado obsoleto dentro del estándar MCP.

     

    A continuación, se muestra una tabla en la que se reflejan las principales ventajas e inconvenientes del uso de los protocolos dependiendo del escenario donde lo queramos utilizar.

     

    Transporte Tipo Comunicación Ideal para Ventajas principales Limitaciones
    STDIO Local Bidireccional Integraciones locales (CLI, IDE) Simplicidad, baja latencia Solo local
    Streamable HTTP HTTP Bidireccional Conexiones remotas y escalables Seguridad, flexibilidad Más complejo, consumo de red

     

    En conjunto, estos mecanismos de transporte garantizan que el intercambio de información entre clientes y servidores MCP sea flexible y adaptable, desde integraciones locales ligeras hasta implementaciones distribuidas a gran escala.

    Cliente MCP

    Un cliente MCP es el componente encargado de conectarse a uno o varios servidores MCP y de gestionar la comunicación entre el modelo de lenguaje (LLM), el usuario y los recursos o herramientas que dichos servidores ofrecen. Su función principal es coordinar las solicitudes que el modelo realiza, enviar los datos necesarios al servidor adecuado y devolver los resultados procesados al modelo o al usuario.

    El esquema que se muestra a continuación detalla cada una de las interactuaciones y flujos que se llevan a cabo entre el cliente MCP, el servidor y el usuario.

     

     

    Siguiendo el esquema, el proceso comienza cuando el usuario introduce una consulta (1), por ejemplo: “¿Cuál es el clima en San Francisco?”. Esta entrada llega al MCP Client (2), que analiza la petición y la transmite al modelo de lenguaje (LLM) junto con la información de las Tools y recursos disponibles en los servidores conectados.

    El LLM (3) interpreta la consulta y decide qué herramienta es la más adecuada para resolverla, en este caso, una weather tool que proporciona datos meteorológicos. El cliente MCP gestiona entonces la solicitud (4) y, antes de ejecutarla, puede requerir una aprobación de llamada de API o una confirmación del usuario, especialmente si se necesita acceso a un recurso externo o sensible.

    Una vez autorizada la petición, el cliente MCP invoca la herramienta correspondiente a través del servidor MCP (5), que a su vez se comunica con la API externa, en este ejemplo, una Weather API, para obtener los datos solicitados (6). El resultado vuelve al cliente, que lo entrega al modelo para su interpretación y formulación de una respuesta en lenguaje natural.

    Finalmente, el cliente MCP presenta la información procesada al usuario (7), completando el ciclo de interacción. De este modo, el cliente actúa como un orquestador central, combinando el razonamiento del modelo con las capacidades técnicas de los servidores MCP y garantizando una comunicación fluida, segura y extensible dentro del protocolo.

     

    En el siguiente video se puede ver la implementación del primer cliente MCP (Avatar) realizado por el equipo de Research de Plain Concepts.

    En esta ocasión, Chris, nuestro avatar, puede crear primitivas y elementos 3D haciendo uso del servidor MCP asociado al motor gráfico Evergine.

    Conclusiones

    Model Context Protocol (MCP) se consolida como un estándar clave para la comunicación en el ámbito de la inteligencia artificial, proporcionando una estructura común que permite que los modelos de lenguaje, las herramientas y las fuentes de datos se conecten e interactúen de forma unificada. Este marco compartido no solo facilita el desarrollo y la integración de nuevas capacidades, sino que también impulsa un entorno interoperable en el que cualquier modelo puede acceder fácilmente a las herramientas compatibles con MCP, promoviendo una inteligencia artificial más abierta, modular y escalable.

    Plain Concepts

    We are a global IT professional services company