Managing Sessions
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.
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.