Quarkus MCP Server 2.0 makes stateless MCP deployable without a flag day
The extension accepts the July 2026 stateless protocol and legacy session-based clients on one endpoint, giving platform teams a staged migration path.
Quarkus has added support for the Model Context Protocol’s stateless transport model without forcing existing clients to migrate at the same time. The 2.0.x line of Quarkus MCP Server handles the July 28, 2026 protocol revision and older session-based versions on the same endpoint, according to the project’s September 21 engineering post.
That compatibility detail matters more than the version number. Under the earlier design, a client initialized a session, received an identifier and had to keep talking to the same server instance—or rely on sticky routing or a shared session store. The current MCP specification instead defines stateless, self-contained JSON-RPC requests with capability negotiation performed per request.
A migration path rather than a cutover
Quarkus MCP Server inspects the protocol version carried in the request metadata and HTTP headers. Requests using the July 2026 revision are handled through a transient connection for the life of the call; older requests fall back to the established stateful path. Both modes remain available at the same URL.
For application teams, that means clients can move individually rather than through a coordinated cutover. Quarkus LangChain4j clients can discover server capabilities and prefer the new revision automatically, while operators can pin either the stateless or legacy protocol during a migration.
The operational payoff is straightforward: any available server instance can process a self-contained request. That removes protocol-level pressure for session affinity when horizontally scaling an MCP service behind a load balancer.
Server-to-client calls change shape
Stateless operation also changes features that previously depended on a persistent channel. Sampling, elicitation and roots can no longer assume that a server will call back across an open session. The new protocol represents those interactions as multi-round-trip requests: a server returns an input_required result, and the client retries the original request with the requested data attached.
Quarkus exposes both paths through its APIs so tools can detect whether server-initiated requests are supported and use the appropriate flow. Subscriptions similarly move from the older resources/subscribe approach to a filtered subscriptions/listen stream for stateless clients.
What teams need to do
Existing Quarkus MCP Server users can adopt the 2.0.x release and begin accepting newer stateless clients without rewriting their tool methods. Code that uses sampling, elicitation or roots needs closer review because it may have to handle both callback and retry-based interactions.
The project also says it runs the official MCP conformance suite in continuous integration. Support for the revision’s extension mechanism is planned for Quarkus MCP Server 2.1.0 rather than included in the current line.
sources
- MCP goes stateless, and Quarkus already implements itquarkus.io
- Model Context Protocol specification, 2026-07-28modelcontextprotocol.io
comments · 0