Kernl

Otros clientes

Cualquier cliente que hable MCP por HTTP puede usar Kernl. Esta página muestra los pedidos crudos, que además son una buena forma de probar tu token.

Mandar initialize

curl -i -X POST http://localhost:3086/mcp \
  -H "Authorization: Bearer $(kernl token)" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'

$(kernl token) es la forma de Linux. Para macOS, Windows y Docker mirá Dónde está cada cosa.

El encabezado Accept tiene que listar los dos tipos. Con solo application/json recibís 406 Not Acceptable.

La respuesta es 200 OK y trae un encabezado mcp-session-id. El cuerpo viene en formato Server-Sent Events:

event: message
data: {"result":{"protocolVersion":"2025-03-26", ... },"jsonrpc":"2.0","id":1}

Copiá el id de sesión del encabezado.

Reusar la sesión

Avisale a Kernl que estás listo y después pedí la lista de herramientas. Las dos llamadas llevan el id de sesión.

curl -i -X POST http://localhost:3086/mcp \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: <session-id>" \
  -d '{"jsonrpc":"2.0","method":"notifications/initialized"}'

Esto devuelve 202 Accepted. Ahora listá las herramientas:

curl -X POST http://localhost:3086/mcp \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: <session-id>" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

La lista es larga, porque Kernl tiene muchas herramientas.

Respuestas de error