I think stateless-type MCP was already possible, eg my MCP Clock [ https://github.com/firasd/mcpclock ]: > curl -s -X POST "https://mcpclock.firasd.workers.dev/mcp" -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 {"result": {"content": [{"type":…
Also: your messages causing your LLM (harness) to run CLIs on your computer? charming, thrilling, great fun. other people’s messages causing your LLM to run CLIs on your (cloud) computer? terrifying, awful, sickening, no fun at all
Stateless MCP has recaptured my interest
41–50 of 246 posts
Re: Stateless MCP has recaptured my interest
#42I still don't get MCP. Most likely because I didn't really check but the first feeling is creating a problem to solve a problem that doesn't exist in the first place.
Re: Stateless MCP has recaptured my interest
#43Earlier quoted context omitted.
I guess if the agent is strongly trained to reach for the container then maybe But let’s take my MCP clock for example if you ask ChatGPT what’s the time in Tokyo it’s not even gonna think of booting up the code interpreter. It’s gonna just do web search and give you the wrong time (I just tried it and there may be an OpenAI built in widget it pops up now—but again that’s a specific tool call with an iframe output no…
Because there’s probably a tool call for web search, and a tool call for arbitrary code. There’s no discovery for the CLI tools it has available unless it has already chosen to run arbitrary code. The point is that even web search should be a CLI tool, and all ChatGPT would know to do other than talk to you is how interact with a shell. Then if you ask it what’s the time in Tokyo, it would likely reach for the POSIX…
Re: Stateless MCP has recaptured my interest
#44Earlier quoted context omitted.
At that point you would add a `your-service-cli list-customers --order-by=spent` command, which would also be useful to humans and scripts, as opposed to an MCP tool call, which is only ergonomic to models.
Right we can quibble about the wire protocol but the point remains that the arbitrary REPL becomes suboptimal as a solution when there’s not a deterministic endpoint. So ‘scripting’ is not really what we are looking for; we just want the final data output and scripting is fine when it’s a one off
An MCP tool call that returns the top N spenders puts the result in the agent’s context window.
A CLI tool call on the other hand… The agent can pipe their results into other completely unrelated CLI tools. It can write a loop that calls multiple tools.
These things are not possible with MCP but are trivial with CLIs.
Re: Stateless MCP has recaptured my interest
#45Re: Stateless MCP has recaptured my interest
#46Earlier quoted context omitted.
Because there’s probably a tool call for web search, and a tool call for arbitrary code. There’s no discovery for the CLI tools it has available unless it has already chosen to run arbitrary code. The point is that even web search should be a CLI tool, and all ChatGPT would know to do other than talk to you is how interact with a shell. Then if you ask it what’s the time in Tokyo, it would likely reach for the POSIX…
The amusing thing here though is that if we do high frequency container usage like you’re suggesting eventually we’re gonna reimplement MCP right. Cause then it’s like npx thiscommand —help (aka MCP tools/list) and then OAuth and all that ..
The difference is that we already have Bash :)
Re: Stateless MCP has recaptured my interest
#47Earlier quoted context omitted.
MCP is basically just: 1. a REST-like API 2. with a spec (OpenAPI, introspection, etc.) 3. with harness-level authz (the ability to allow / deny specific methods in the harness) The only part that's actually new is #3, but it seems like it should be fairly easy to provide similar support for REST APIs. There might already be a Pi extension that allows you to allow / deny particular method / path patterns for particul…
The spec is more than just an OpenAPI scheme; it’s a strict wire format with shared semantics for a huge range of features.
Re: Stateless MCP has recaptured my interest
#48disable-model-invocation: true
Most MCP servers still bloat up my context even when I am not using them at all. Why can't they be configured to allow me to keep them out unless I really need to use them?
Re: Stateless MCP has recaptured my interest
#49Re: Stateless MCP has recaptured my interest
#50I would love to see a proper engineering post-mortem for how this happened.