MCP is a standard that lets LLMs call external tools; on 2026 07 28 the spec dropped its session handshake, and Simon Willison says his 0.1a0 alpha plugin for the llm command line tool is the first client for the new single request transport.
Three days after the Model Context Protocol specification changed on 2026-07-28, Simon Willison shipped llm-mcp-client 0.1a0, an alpha plugin for his [llm CLI](https://github.com/simonw/llm-mcp-client) that registers any MCP server as a toolbox named "MCP". Willison calls it the first client built for the new stateless transport.
Legacy MCP required two HTTP requests per tool call: one to obtain a Mcp-Session-Id, one to invoke the tool. Stateless MCP collapses that into a single request carrying MCP-Protocol-Version, Mcp-Method, and Mcp-Name headers plus a _meta.io.modelcontextprotocol/clientInfo block. Servers no longer need session affinity, which makes them easier to scale and friendlier to small local models.
The 0.1a0 release is an alpha probe. llm install llm-mcp-client pulls it from the project repo; llm -T 'MCP("https://example.com/mcp")' 'Ask something that needs a tool' --td runs it. Willison saves named toolboxes as templates and uses one against his own Datasette to count entries and notes. Auto-negotiation is the default; mode="stateless" or mode="legacy" forces one path, and prefix="one_" namespaces clashing tool names across multiple servers.
Two companion projects shipped the same week, per Willison's stateless-MCP writeup: mcp-explorer, a Python CLI for probing MCP servers via uvx, and datasette-mcp, a Datasette plugin exposing a /-/mcp endpoint with three read-only tools.
0.1a0 is a probe of the new spec, not a tool to install yet. Watch for 0.1.