← Back to Dashboard
1. The Stdio Transport2. Streamable HTTP & SSE3. Managing Sessions

Managing Sessions

📚 Transport Layers7 min60 XP

Session

When using HTTP transports, the connection is typically stateless. However, MCP 1.0 required a stateful session to keep track of capabilities, roots, and subscriptions. In MCP 1.5 (2026), the core protocol transitioned to a Stateless Core, shifting state management to the Host rather than relying on persistent connections.

The Initialization Handshake

When an MCP connection opens, the first step is the handshake:

  • The Client sends its capabilities (e.g., "I support roots and sampling"). Note: Roots, Sampling, and Logging are deprecated in MCP 1.5 in favor of the Stateless Core.
💡 Key Insight: If the Server disconnects, the Host must automatically re-run the initialization handshake upon reconnecting to rebuild the session state.

MCP Apps (January 2026)

MCP Apps extend the protocol to allow servers to return interactive user interfaces — forms, dashboards, and visualisations rendered in sandboxed iframes — directly within host applications like Claude, ChatGPT, and VS Code. This transforms MCP from a data-only protocol into a full interactive experience layer.

Tool Annotations

Tool annotations provide metadata about tool behaviour — marking tools as read-only or destructive. Clients use these annotations to make informed decisions about approval workflows, enabling auto-approval of safe read-only tools while requiring explicit confirmation for destructive operations like file deletion or database writes.

🧪 Knowledge Check
Press 1-4 to select1 of 3
Why do remote MCP connections require session management?
Because HTTP is stateless but MCP relies on stateful handshakes and subscriptions.
To bill users automatically.
To encrypt the payload.
Because stdio requires it.
Managing Sessions Tutorial | Transport Layers — MCP Academy