Live data from Hacker News

Stateless MCP has recaptured my interest

simonwillison.net

41–50 of 246 posts

Re: Stateless MCP has recaptured my interest

#41
post #11

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

The LLM can't tell the difference between your messages and theirs, however many times you say "No mistakes"

Re: Stateless MCP has recaptured my interest

#42

I 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.

I my mind it's mostly corporate socio-political. Your management have no idea what a (rest) API is, but they saw MCP in countless LinkedIn slop and therefore you are allowed to work on one / use an upstream solution to connect the agents to your 23 year old monolithic unmaintained homebrew CRM that only runs because overcompensated Frank is still willing to pet it manually.

Re: Stateless MCP has recaptured my interest

#43
post #27

Earlier 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…

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

Re: Stateless MCP has recaptured my interest

#44
post #29

Earlier 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

They’re not the same thing under a different wire protocol!

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

#46
post #43

Earlier 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 ..

In the same vein, if we do evolve MCP to support composable tool calls and more tools, eventually we’ll reimplement Bash.

The difference is that we already have Bash :)

Re: Stateless MCP has recaptured my interest

#47
post #36
post #32

Earlier 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.

Are you trying to say that REST APIs don't have a strict wire format with shared semantics for a huge range of features?

Re: Stateless MCP has recaptured my interest

#48
My main issue with MCP servers has been context bloat. Skills have progressive disclosure, and allow me to turn off auto invocation with something like this in the SKILL.md file:

disable-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

#50
It is amazing that folks getting paid several hundred thousand dollars a year...reinvented RPC-over-HTTP/JSON. You too, fellow web developers, are smart enough to work at Anthropic.

I would love to see a proper engineering post-mortem for how this happened.

Post reply on HN