I think stateless-type MCP was already possible, eg my MCP Clock:<p>curl -s -X POST "<a href="https://mcpclock.firasd.workers.dev/mcp" rel="nofollow">https://mcpclock.firasd.workers.dev/mcp</a>" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id": 1,"method":"tools/call","params":{"name":"clock_get","arguments":{}}}' | grep '^data:' | sed 's/^data: //'| jq<p><pre><code> {
"result": {
"content": [
{
"type": "text",
"text": "[\n {\n \"timezone\": \"UTC\",\n \"iso\": \"2026-08-05T04:44:41.707Z\",\n \"unixtime\": 1785905081\n },\n {\n \"timezone\": \"Alphadec\",\n \"alphadec\": \"2026_P4A0_466322\"\n }\n]"
}
]
},
"jsonrpc": "2.0", "id": 1
}
</code></pre>
The "just use a CLI" crowd is implicitly assuming:<p>1) You're a developer 2) On a laptop 3) With a shell open Inside an agentic coding harness (Claude Code, Codex CLI, Cursor) 4) Working on a software project<p>That's maybe 2% of AI usage.<p>The other 98% is: Someone on the ChatGPT iOS app asking a question on the subway; Someone in Claude.ai web chatting about their calendar; Someone using ChatGPT Desktop to summarize their Notion; A non-developer using AI in a browser at work; Voice mode on a phone; An embedded chat widget on some company's website...
Stateless MCP was already possible before this and made sense for whole classes of use cases where it helps to have a remote fleet of servers.<p>Wrote about this back in March: <a href="https://chrlschn.dev/blog/2026/03/mcp-is-dead-long-live-mcp/" rel="nofollow">https://chrlschn.dev/blog/2026/03/mcp-is-dead-long-live-mcp/</a><p>MCP is going to be a foundational piece of enterprise agent infra.
MCP was much more important when agents weren’t able to accurately make tool calls.<p>Nowadays, these agents are more capable and I think you can replace MCP (which is a pain on macOS), with simple CLI tools and expose them to agents via system prompt, skills, or other API documentation.
Maybe someone could set up a CLI tool for agents such that you can give them a shell but they use this CLI tool instead of raw curl.<p>Like a tool where the AI can only call out to certain APIs based on a config file the agent cannot change.<p>That way you can leverage all the shell knowledge agents already have while still limiting what network calls they can make, and you wouldn't have to set up a server to use an agent.
This is basically what Swamp is[1]. You give an agent a typed interface to extend itself (or use other peoples extensions) into the systems you need to fulfill your request. Think of it like on-demand tool calls. Then it records everything that happens in the swamp. The swamp can be single machine, multi-machine, or centralized with your co-workers.<p>As a result, everything compounds. The work I do doesn't need to be re-derived by the work you do. Typed models keep everything repeatable and deterministic. Huge reduction in token spend and huge increase in speed.<p>1: <a href="https://swamp-club.com" rel="nofollow">https://swamp-club.com</a>
I think this exists: <a href="https://github.com/imbue-ai/latchkey" rel="nofollow">https://github.com/imbue-ai/latchkey</a> (and there are other similar projects, too).
A proxy?
Maybe. I'm just spitballing but as I've been thinking about this, maybe just like a set of shell scripts.<p>The idea could be that the agent runs as a unix user. That user has execute access to these scripts but not read or write access.<p>So the agent can only do what those scripts allow, the scripts present an API. You could let agents call the scripts with -h to get instructions, and just put some text into context saying like "to access helper scripts call ./showHelp".
> I couldn’t find a great CLI tool for interactively probing an MCP server<p>What about mcp-inspector? It’s a nice tool, can be used interactively, can be used as a CLI.<p><a href="https://github.com/modelcontextprotocol/inspector" rel="nofollow">https://github.com/modelcontextprotocol/inspector</a>
I'm glad MCP is getting simpler<p>a few months ago I tried to implement an MCP server from scratch in python (instead of using the existing reference implementation) and I could not get it to work reliably across clients
Yeah, there's a ton of great improvements in 7-28. I'm personally excited about what you posted about, but also with [tasks](<a href="https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/#tasks-graduates-to-an-extension" rel="nofollow">https://blog.modelcontextprotocol.io/posts/2026-07-28-releas...</a>) being officially adopted.