Transportes de MCP: stdio, Streamable HTTP y SSE

Todas las conexiones MCP transportan los mismos mensajes (solicitudes, respuestas y notificaciones JSON-RPC 2.0), pero estos pueden viajar de distintas formas. La especificación las llama transportes, y la entrada de un servidor en el registro indica cuáles admite.

Servidores con Streamable HTTP
16.864
Servidores con stdio (proceso local)
13.123
Servidores con SSE (HTTP + Server-Sent Events)
515

stdio: un programa en el propio ordenador

Con stdio, el cliente inicia el servidor como proceso hijo en el mismo ordenador. El cliente escribe mensajes en la entrada estándar del servidor y lee las respuestas de su salida estándar, un mensaje JSON-RPC por línea; el servidor puede escribir registros en la salida de error estándar. Cuando el cliente cierra la conexión, el proceso termina.

Nada escucha en un puerto de red, así que no hay ninguna URL que proteger, pero el programa se ejecuta con los permisos del propio usuario y puede leer todo lo que este puede leer. Los servidores stdio se instalan desde paquetes: npm, PyPI, imágenes de contenedor, MCP Bundles y otros.

Streamable HTTP: un único endpoint en la web

Introducido en la revisión 2025-03-26 de la especificación, Streamable HTTP usa un único endpoint HTTPS, como https://example.com/mcp. El cliente envía cada mensaje con una solicitud HTTP POST. El servidor responde con una única respuesta JSON o abriendo un flujo de Server-Sent Events, por el que puede enviar varios mensajes (notificaciones de progreso, por ejemplo) antes del resultado final. El cliente también puede abrir un flujo GET para recibir mensajes que el servidor inicia por su cuenta.

Un servidor puede asignar una sesión, identificada en un encabezado Mcp-Session-Id que el cliente devuelve en las solicitudes posteriores. Como es HTTPS corriente, funciona con el inicio de sesión estándar (la especificación de autorización de MCP se basa en OAuth) y con la infraestructura web habitual.

SSE: el transporte HTTP anterior

La primera revisión publicada (2024-11-05) definía un transporte HTTP basado en Server-Sent Events: el cliente abre una conexión GET de larga duración para el flujo de eventos, el primer evento del servidor indica una segunda URL y el cliente envía allí sus propios mensajes. La revisión 2025-03-26 lo sustituyó por Streamable HTTP; clientes y servidores pueden seguir admitiéndolo por compatibilidad con versiones anteriores, y por eso algunos servidores indican ambos.

Cuál usa un servidor

Un servicio alojado al que muchas personas acceden desde muchos asistentes suele ofrecer Streamable HTTP, el transporte que el protocolo recomienda ahora para los servidores remotos. Una herramienta que tiene que acceder a archivos o aplicaciones locales usa stdio. Un servidor puede ofrecer ambos: en ese caso, su entrada en el registro indica un endpoint remoto y un paquete, y su página en este directorio muestra los dos.

Servidores MCP por transporte · ¿Remoto o local? · Explorar el directorio →

Más: ¿Qué es un servidor MCP? · ¿Qué es llms.txt? · Cómo encuentran y reservan viajes los asistentes de IA · Cómo se verifican las fichas · Remoto o local: qué tipo de servidor MCP usar · Cómo añadir un servidor MCP a un asistente de IA · ¿Qué es el MCP Registry oficial? · Qué contiene un archivo llms.txt · OpenAPI para agentes de IA · Cómo encuentran los asistentes de IA disponibilidad de viajes · Antes de conectar un servidor MCP: lista de comprobación