De local a remoto
Un servidor stdio sirve a un solo cliente y vive en tu máquina. Para que lo use más gente hay que pasar a Streamable HTTP: usa HTTP POST para los mensajes del cliente al servidor, con Server-Sent Events opcionales para transmitir respuestas en streaming.
Admite los métodos de autenticación estándar de HTTP —bearer tokens, claves de API, cabeceras propias— y MCP recomienda usar OAuth para obtener los tokens.
Sin estado
Desde la revisión 2026-07-28, MCP es un protocolo sin estado. Cada petición lleva en su campo _meta la versión del protocolo y las capacidades relevantes, así que el servidor procesa cada una por su cuenta sin depender de las anteriores. Las claves son io.modelcontextprotocol/protocolVersion, io.modelcontextprotocol/clientInfo y io.modelcontextprotocol/clientCapabilities.
Descubrimiento
server/discover es una petición obligatoria que todo servidor debe implementar: devuelve versiones soportadas, capacidades e identidad en una sola llamada. Para el cliente, llamarla es opcional: puede mandar cualquier petición directamente y manejar el error de versión si aparece.
Versiones
Las versiones del protocolo son cadenas con formato YYYY-MM-DD que marcan la última fecha en que hubo un cambio incompatible. La versión no sube cuando el cambio es compatible hacia atrás. La versión actual es 2026-07-28.
Sobre Streamable HTTP, esa misma versión viaja además en la cabecera MCP-Protocol-Version. Si el servidor no soporta la versión pedida, responde UnsupportedProtocolVersionError listando las que sí soporta, y el cliente reintenta con una común.