Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

62% Positive

Analyzed from 1293 words in the discussion.

Trending Topics

#mcp#cli#agent#tool#https#call#tools#agents#llm#scripts

Discussion (25 Comments)Read Original on HackerNews

drdexebtjl27 minutes ago
In retrospect, stateful MCP was clearly wrong.

This essentially makes MCP just another REST API endpoint, and lets you use the same infrastructure you already have set up for REST APIs (like load balancers, API gateways, progressive rollouts, etc).

pjmlp2 minutes ago
Something that anyone doing distributed systems knows after a few scars, stateless servers are always better, and stateful only if there is no way around it.

I learnt this with Sun RPC and the whole "The network is the computer".

Somehow this keeps having to be relearnt.

firasdabout 1 hour ago
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": "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}
The "just use a CLI" crowd is implicitly assuming:

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

That's maybe 2% of AI usage.

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

eddythompson8019 minutes ago
I think part of the “just use a CLI” crowd might also be building similar agents as ChatGPT and Claude.ai web interface. I know at least 4 teams doing that in one company.

All those teams, including ChatGPT and Claude.ai, have figured out that you will eventually need to give your agent a small sandbox Linux environment to unlock the same level of “intelligence“ those coding harness exhibit. Stitching together the results of a cli command through scripting or coding gives the agent a ton more flexibility in what it can do as it can utilize its text generation capability into executable logic. toolcalls mostly work for actions rather than complex and novel problem solving. You are making the agent represent a programming control flow through toolcalls while carrying the context between them in a lossy, nondeterministic, wasteful, slow and rigid way.

It’s one thing if you want to artificially limit that agent to a very strict set of available APIs that it must use in a specific way while transferring context between them through the LLM and you don’t want to incur the cost of the extra sandbox compute. But coding harnesses have demonstrated that letting the agent write a small shell or python script can let the agents solve problems that you haven’t even really anticipated in your toolcall approach or that tool calls make prohibitively expensive or not even possible.

But also the token cost tends to dwarf the sandbox compute cost, so why not pay the $0.05/hour to have a sandbox where the agent can run free when you are already paying orders of magnitude more for the tokens

firasd15 minutes ago
Hmm yeah but I think at some point ad-hoc code becomes a signal that something is wrong. eg. If your LLM is continuously writing python to join customers to orders at some point that's a signal that customers_aggregate('topspenders') needs to be a thing like a deterministic API call
drdexebtjl7 minutes ago
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.
drdexebtjl17 minutes ago
I don’t think the “just use a CLI” crowd really are assuming you’re a developer in a coding harness.

All of those use cases you mentioned benefit from the agent having access to a temporary virtual machine with a set of standard CLI tools and the ability to write and execute arbitrary code.

Most already do. ChatGPT has been running Python in the cloud to answer questions before we even had functional coding harnesses.

So why not augment their repertoire of CLI tools instead of a completely new protocol?

firasd4 minutes ago
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—a specific tool call with an iframe output not arbitrary code)

acchowabout 1 hour ago
The "CLI crowd" is also primarily using LLMs on their own computer. Where they have their CLI tools.

This doesn't cover the case when you're talking to an LLM from web, or via Slack or Linear, etc. There, you will want MCP so the LLM can use services on your behalf as you. That's portability.

kristjansson20 minutes ago
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

cush11 minutes ago
But is it composable like cli? The main issue to be with MCP is the entire response ends up in the context window. Whereas a decent harness and agent is usually going to pipe together and filter many tools in one long command without spending all the extra tokens.
ameshkovabout 2 hours ago
> I couldn’t find a great CLI tool for interactively probing an MCP server

What about mcp-inspector? It’s a nice tool, can be used interactively, can be used as a CLI.

https://github.com/modelcontextprotocol/inspector

simonwabout 1 hour ago
The documentation for the --cli mode is a bit lacking, but I got there in the end:

  npx @modelcontextprotocol/inspector --cli \
    https://agentic-mermaid.dev/mcp \
    --method tools/call \
    --tool-name render_svg \
    --tool-args-json '{"source":"graph TD; A-->B","options":{"padding":24}}'
Equivalent with my mcp-explorer tool:

  uvx mcp-explorer call \
    https://agentic-mermaid.dev/mcp render_svg \
    -a source 'graph TD; A-->B' \
    -a options '{"padding":24}'
So yeah, they're pretty similar.

Then for my list command:

  uvx mcp-explorer list https://agentic-mermaid.dev/mcp
With the inspector one you would do:

  npx @modelcontextprotocol/inspector --cli \
    https://agentic-mermaid.dev/mcp \
    --method tools/list
Mine returns a human-readable list (unless you add --json), the inspector one returns a big dump of raw JSON.
hobofan21 minutes ago
I would generally agree, but a word of caution for anyone trying it out from this thread: Try the latest pre 2.x version. The 2.0.0 that was released last week is highly broken even for some of the most common connection scenarios.
CharlieDigitalabout 1 hour ago
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.

Wrote about this back in March: https://chrlschn.dev/blog/2026/03/mcp-is-dead-long-live-mcp/

MCP is going to be a foundational piece of enterprise agent infra.

hchjaabout 1 hour ago
MCP was much more important when agents weren’t able to accurately make tool calls.

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.

spike02122 minutes ago
How well does that work in enterprise setups?
charcircuit17 minutes ago
Well assuming a browser is able to access whatever enterprise thing, the LLM can emulate being one using apps like curl.
pianopatrickabout 2 hours ago
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.

Like a tool where the AI can only call out to certain APIs based on a config file the agent cannot change.

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.

nickstinematesabout 1 hour ago
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.

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.

1: https://swamp-club.com

Wuzzyabout 1 hour ago
I think this exists: https://github.com/imbue-ai/latchkey (and there are other similar projects, too).
parf02about 2 hours ago
A proxy?
pianopatrickabout 1 hour ago
Maybe. I'm just spitballing but as I've been thinking about this, maybe just like a set of shell scripts.

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.

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

brianjking3 days ago
Yeah, there's a ton of great improvements in 7-28. I'm personally excited about what you posted about, but also with [tasks](https://blog.modelcontextprotocol.io/posts/2026-07-28-releas...) being officially adopted.
toshabout 2 hours ago
I'm glad MCP is getting simpler

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