Model Context Protocol: el protocolo universal para agentes de IA

Equipo Technonautas
Equipo Technonautas · Redacción
Imagen del artículo
9 min de lectura Intermedio
Intro
El desarrollo de agentes de inteligencia artificial modificó la manera en que estos se conectan con sistemas externos -una base de datos, un CRM o un sistema de archivos-. Anteriormente se necesitaba integraciones complejas para hacerlo. Anthropic presentó en noviembre de 2024 el (MCP), un protocolo que estandariza la comunicación entre los agentes de IA y las herramientas externas con las que interactúan. Empresas como OpenAI, Google y Microsoft adoptaron el protocolo, y la Linux Foundation asumió su supervisión técnica a través de la Agentic AI Foundation (AAIF). Con ese respaldo, MCP se convirtió en la infraestructura de referencia para el desarrollo de agentes autónomos.

Este artículo aborda todo lo necesario para entender el funcionamiento de MCP —su arquitectura y componentes—, así como los riesgos de seguridad y los aspectos prácticos de su integración. También se explora el futuro de esta tecnología: MCP Tasks y MCP Apps.

¿Qué es el Model Context Protocol (MCP) y cómo funciona?

El Model Context Protocol es un protocolo de capa de aplicación basado en JSON-RPC. Establece una interfaz para que las aplicaciones de inteligencia artificial, denominadas hosts, lean datos y ejecuten acciones sobre sistemas externos, denominados servidores MCP.

Diagrama de arquitectura MCP: Host, Client y Server con las primitivas Tools, Resources y Prompts
Arquitectura cliente-servidor de MCP: el Host aloja el Client, que se comunica mediante JSON-RPC (STDIO o Streamable HTTP) con el Server, el cual expone Tools, Resources y Prompts.

La analogía del "USB-C para la IA"

La industria compara con frecuencia a MCP con el USB-C aplicado a la inteligencia artificial. Antes de la estandarización de este conector físico, cada dispositivo móvil y periférico utilizaba conectores propietarios; de manera similar, antes de MCP, cada plataforma de inteligencia artificial requería un formato particular para invocar funciones o consultar bases de datos. MCP cumple una función equivalente a la de ese conector: un servidor construido para un servicio, como GitHub o PostgreSQL, funciona en cualquier cliente compatible con el protocolo sin necesidad de reescribir la integración.

Arquitectura Cliente-Servidor y las 3 Primitivas Fundamentales

La arquitectura de MCP distribuye las responsabilidades entre tres actores. El host o client es la aplicación con la que interactúa el usuario final -Claude Desktop, Cursor o un flujo de trabajo en n8n, entre otros- y aloja el cliente del protocolo. El server es el programa ejecutable ligero que expone capacidades estructuradas mediante el protocolo. El modelo de lenguaje interpreta el contexto disponible, decide qué herramientas invocar y sintetiza la respuesta final.

A diferencia de las llamadas a funciones tradicionales, la especificación se apoya en tres primitivas esenciales.

Primitivas fundamentales de MCP
  • Tools (Herramientas)
    acciones ejecutables que el modelo invoca de forma autónoma cuando las considera necesarias para resolver una consulta; tienen efectos secundarios -crear registros, enviar correos, modificar archivos- y requieren parámetros validados mediante esquemas como Zod o JSON Schema.
  • Resources (Recursos)
    fuentes de información de solo lectura expuestas mediante URIs, por ejemplo config://politica-alerta o file:///logs/app.log, que permiten adjuntar contexto sin ejecutar lógica activa.
  • Prompts (Plantillas)
    instrucciones y comandos reutilizables que el usuario invoca de forma explícita desde la interfaz del cliente, de manera similar a los comandos con barra, para completar contextos complejos de forma estandarizada.

Medios de Transporte: STDIO vs. Streamable HTTP

Para intercambiar mensajes JSON-RPC, MCP define dos mecanismos de transporte. STDIO está diseñado para servidores locales que se ejecutan como subprocesos en la máquina del usuario: lee mensajes por entrada estándar y responde por salida estándar. Los servidores que usan este transporte no deben escribir registros informativos en la salida estándar, ya que esto corrompe las tramas JSON-RPC; los registros deben dirigirse a la salida de errores estándar. Streamable HTTP, por su parte, está diseñado para servidores remotos desplegados en la nube o detrás de pasarelas de API, y reemplazó los esquemas basados en websockets o en Server-Sent Events para alinearse con infraestructuras web estándar.

Beneficios y Características Principales de MCP

La adopción de MCP ofrece ventajas estructurales tanto para desarrolladores de software como para organizaciones que despliegan agentes de inteligencia artificial.

Beneficios principales de MCP
  • Estandarización y reutilización
    un servidor MCP se desarrolla una sola vez y se ejecuta sin cambios en múltiples clientes de inteligencia artificial.
  • Separación de responsabilidades
    el servidor gestiona la lógica de negocio, la autenticación con la API externa y la validación de tipos, mientras el cliente gestiona la interacción con el usuario y el modelo de lenguaje.
  • Descubrimiento dinámico de capacidades
    al conectarse, el cliente solicita el catálogo de herramientas disponibles mediante la función tools/list, lo que permite que el agente identifique qué acciones puede realizar.
  • Control de ejecución en el modelo
    el agente evalúa las descripciones de las herramientas y determina el momento adecuado para ejecutarlas según la necesidad del usuario.
  • Flexibilidad de lenguaje
    existen SDKs oficiales en TypeScript, Python, Go, C# y Java, lo que permite integrar el protocolo en distintas pilas tecnológicas.
Diagrama de evolución de MCP hacia la especificación 2026-07-28
Evolución de MCP en la especificación 2026-07-28: núcleo sin estado, MCP Tasks, MCP Apps y las cabeceras Mcp-Method y Mcp-Name.

La Evolución: Del Core Stateful al Núcleo Sin Estado (Stateless Core)

En sus primeras versiones, MCP exigía un procedimiento de inicialización obligatorio -el intercambio initialize/initialized- y mantenía una sesión persistente mediante la cabecera Mcp-Session-Id. Este diseño funcionaba en entornos locales, pero generaba cuellos de botella al escalar servidores en clústeres de Kubernetes o detrás de balanceadores de carga en la nube, ya que requería sesiones persistentes (sticky sessions).

Cambios introducidos por el núcleo sin estado

01

Eliminación del handshake y la sesión

Se retiraron la fase initialize y la cabecera Mcp-Session-Id.

02

Peticiones autocontenidas

Cada solicitud JSON-RPC incluye toda la información necesaria -versión del protocolo, identidad del cliente y banderas de capacidad- dentro de un objeto _meta.

03

Enrutamiento por cabeceras

Las peticiones HTTP incorporan las cabeceras Mcp-Method y Mcp-Name, que permiten a balanceadores de carga y pasarelas de seguridad enrutar el tráfico sin analizar el cuerpo JSON.

04

Caché eficiente

Las respuestas a catálogos de herramientas y recursos incorporan los campos ttlMs y cacheScope, lo que reduce el tráfico innecesario en la red.

Comparativa y Listado de Recursos, SDKs y Extensiones Clave

Para construir e integrar servidores MCP de forma profesional resulta necesario conocer las herramientas del ecosistema oficial y las extensiones desarrolladas por la comunidad.

Recursos, SDKs y extensiones del ecosistema MCP

Componente / Recurso Lenguaje / Soporte Uso Principal Características Clave
@modelcontextprotocol/server TypeScript (Node.js/Bun) Creación de Servidores MCP Registro con Zod/Standard Schema, soporte STDIO y HTTP.
mcp (SDK v2) Python 3.10+ Servidores y Clientes MCP Decoradores sintácticos (@mcp.tool()), tipado nativo.
MCP Inspector (mcp dev) CLI / Web UI Depuración y Pruebas Interfaz gráfica interactiva para probar herramientas y validar JSON-RPC.
MCP Tasks (SEP-2663) Extensión Oficial Operaciones Asíncronas Asignación de taskId, sondeo (tasks/get) y estados duraderos.
MCP Apps (SEP-1865) Extensión Oficial UIs Interactivas en Chat Renderizado de HTML/JS en un iFrame aislado dentro del cliente.
Context-Aware MCP (CA-MCP) Arquitectura de Investigación Coordinación Agéntica Memoria compartida (Shared Context Store) que reduce llamadas al LLM.

Listado de SDKs Oficiales

El ecosistema de MCP cuenta con bibliotecas mantenidas oficialmente por la comunidad y por empresas patrocinadoras.

SDKs oficiales del ecosistema MCP
  • TypeScript SDK (@modelcontextprotocol/server y @modelcontextprotocol/client)
    ofrece soporte modular para Node.js, Bun y Deno, junto con adaptadores middleware para Express, Fastify y Hono.
  • Python SDK (mcp v2.x)
    utiliza type-hints y docstrings de Python para generar automáticamente los esquemas JSON de las herramientas sin código repetitivo.
  • Go SDK y C# SDK
    proporcionan soporte nativo para entornos compilados de alto rendimiento en sistemas empresariales.

Las Nuevas Extensiones Oficiales: MCP Tasks (SEP-2663) y MCP Apps (SEP-1865)

Para mantener el núcleo del protocolo ligero y sin estado, las funciones avanzadas se organizan mediante un marco de extensiones.

En los flujos de trabajo tradicionales, las herramientas eran síncronas: si una consulta tardaba varios minutos en procesarse -compilaciones de código o procesamiento de video, por ejemplo-, la conexión sufría un timeout. La extensión Tasks (io.modelcontextprotocol/tasks) introduce un patrón asíncrono dirigido por el servidor.

Ciclo de vida de una tarea con MCP Tasks

01

Generación del taskId

El servidor genera de inmediato un objeto con un identificador duradero (taskId) y un estado inicial working.

02

Sondeo periódico

El cliente consulta el estado de la tarea mediante el método tasks/get.

03

Confirmación intermedia

Si la tarea requiere intervención humana, cambia al estado input_required y el cliente envía datos mediante tasks/update.

04

Estado terminal

La tarea alcanza un estado inmutable: completed, failed o cancelled.

La extensión Apps (io.modelcontextprotocol/apps) permite a los servidores definir interfaces de usuario interactivas en HTML y JavaScript que se renderizan dentro de la ventana de chat del cliente. Estas interfaces se cargan en un iFrame aislado (sandboxed) para evitar accesos no autorizados al DOM del host o a las cookies, y se comunican de forma bidireccional mediante mensajes JSON-RPC a través de postMessage.

Innovaciones de Investigación: Context-Aware MCP (CA-MCP)

Investigaciones académicas de la Universidad de Chicago dieron lugar a Context-Aware MCP (CA-MCP). En el modelo tradicional, el modelo de lenguaje central actúa como un orquestador que interviene en cada paso intermedio, lo que satura la ventana de contexto y genera cuellos de botella. CA-MCP introduce un Shared Context Store (SCS), una memoria compartida centralizada: el modelo central se limita a la planificación inicial y al resumen final, mientras los servidores MCP funcionan como reactores autónomos que leen y escriben en esa memoria.

Los experimentos registraron una reducción del tiempo de ejecución de entre 67,8% y 73,5% con CA-MCP, junto con un recorte del 60% en las llamadas al modelo central.

Integración en Plataformas de Automatización (n8n)

Plataformas de automatización sin código como n8n incorporaron soporte para servidores MCP mediante nodos de la comunidad (n8n-nodes-mcp). Esto permite conectar un agente de inteligencia artificial, dentro de un flujo de trabajo, a múltiples servidores MCP, entre ellos Airtable, GitHub o Gmail. El agente utiliza la herramienta listTools para identificar qué operaciones están disponibles y executeTool para llevarlas a cabo.

Preguntas Frecuentes sobre MCP (Sección de FAQ)

¿Qué riesgos de seguridad existen al utilizar servidores MCP?

Investigaciones de OX Security y de la Cloud Security Alliance documentaron fallas de inyección de comandos en el transporte STDIO cuando las descripciones no se validan, así como vulnerabilidades de Tool Poisoning -un servidor malicioso inyecta instrucciones ocultas en las descripciones de las herramientas para manipular el razonamiento del modelo- y ataques de Rug Pull, que consisten en la modificación silenciosa del comportamiento de una herramienta previamente aprobada.

¿Cuál es la diferencia entre un Tool y un Resource en MCP?

Un tool es una acción interactiva con efectos secundarios que el modelo de inteligencia artificial ejecuta de forma autónoma tras validar los parámetros de entrada. Un resource es un conjunto de datos estático de solo lectura -un archivo o un documento de configuración, por ejemplo- expuesto mediante una URI para alimentar el contexto del cliente.

¿Cómo se manejan las tareas de larga duración que superan los tiempos de espera?

La extensión MCP Tasks (SEP-2663) resuelve este escenario. En lugar de bloquear la conexión HTTP, el servidor devuelve una respuesta con un taskId duradero; el cliente realiza sondeos periódicos mediante tasks/get y suministra las entradas requeridas con tasks/update sin perder el progreso de la tarea.

¿Qué clientes de IA ofrecen el mejor nivel de seguridad en la ejecución de MCP?

Un estudio empírico que evaluó siete clientes de inteligencia artificial expuestos a ataques de tool poisoning identificó a Claude Desktop y Cline como los más seguros, gracias a sus políticas de validación estricta y a las guías éticas integradas. Los clientes con permisos de sistema de archivos implícitos y sin filtrado visual resultaron vulnerables a la extracción no autorizada de credenciales.

Conclusión: El Futuro del Protocolo de Contexto en el Ecosistema Agéntico

El Model Context Protocol evolucionó con rapidez: pasó de ser una herramienta de uso local a convertirse en el estándar de conectividad distribuida para la inteligencia artificial. Al desacoplar la provisión de datos de la inferencia del modelo, simplificó el desarrollo de sistemas agénticos escalables y modulares -aunque esa misma apertura, como muestran los hallazgos sobre tool poisoning y ataques de rug pull, exige controles de seguridad que todavía están madurando.

Con la consolidación de MCP, la adopción de arquitecturas sin estado, asi como la expansión de extensiones como MCP Tasks y MCP Apps, el protocolo se posiciona como una pieza central del desarrollo de software agéntico. Comprender sus primitivas, aplicar las prácticas de seguridad documentadas y diseñar servidores bien estructurados se perfila como una competencia que todo equipo de ingeniería de IA deberá incorporar, no como una opción secundaria.

Sobre el Autor
Equipo Technonautas

Equipo Technonautas

Redacción

Nuestro equipo editorial en Technonautas investiga y analiza el sector tecnológico —inteligencia artificial, desarrollo de software, fintech, ciberseguridad y más— para ofrecer contenido actualizado a nuestra audiencia.

¿Te gustó este artículo? ¡Compártelo y suscríbete!

Comentarios

Un espacio para debatir ideas

  • Sé respetuoso y mantén un tono cordial con los demás lectores.
  • No se tolera el spam, publicidad no solicitada ni insultos.

Sé el primero en comentar