Conceptos básicos de MCP
MCP es una forma estándar de que una app de IA use herramientas externas. Kernl corre un servidor MCP, así que apps como Claude Code pueden llamar a las herramientas de Kernl. Todos los clientes necesitan lo mismo: una URL y un token.
La URL
El endpoint MCP de Kernl es:
http://localhost:3086/mcp
Es la misma dirección con Docker. Ahí nginx reenvía /mcp al kernel, así que seguís usando el puerto 3086.
El token
/mcp rechaza cualquier pedido sin el token de Kernl. Mandalo como bearer token en el encabezado Authorization:
Authorization: Bearer <token>
Imprimí tu token con el comando de tu sistema. Mirá Primer arranque o la tabla de Dónde está cada cosa.
Sin el encabezado, o con un token incorrecto, Kernl responde 401 Unauthorized. Muchos clientes lo muestran como un error confuso. Mirá 401 Unauthorized y Unexpected token '<'.
Sesiones
Esta sección solo te hace falta si escribís tu propio cliente. Apps como Claude Code lo hacen por vos.
- Mandá un pedido
initialize. La respuesta trae un encabezadomcp-session-id. - Mandá ese encabezado en cada pedido posterior.
- Una sesión inactiva durante 10 minutos puede ser eliminada. La próxima llamada con su id falla con
404 Session not found, y el cliente tiene que mandarinitializede nuevo.
Las sesiones vencidas se limpian solo cuando se conecta otro cliente, así que una sesión tranquila puede durar más de 10 minutos. Kernl además mantiene como máximo 256 sesiones abiertas a la vez. Pasado ese límite, un initialize nuevo recibe una respuesta 503 "Server busy".
Las respuestas son Server-Sent Events: líneas que empiezan con event: message y data:. Tu cliente tiene que aceptar tanto application/json como text/event-stream.