frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

When does MCP make sense vs CLI?

https://ejholmes.github.io/2026/02/28/mcp-is-dead-long-live-the-cli.html
66•ejholmes•1h ago

Comments

lukol•57m ago
Couldn't agree more. Simple REST APIs often do the job as well. MCP felt like a vibe-coded fever dream from the start.
phpnode•55m ago
I don't doubt that CLIs + skills are a good alternative to MCP in some contexts, but if you're building an app for non-developers and you need to let users connect it to arbitrary data sources there's really no sensible, safe path to using CLIs instead. MCP is going to be around for a long time, and we can expect it to get much better than it is today.
simianwords•50m ago
Why? The llm can install cli through apt-get or equivalent and non developers wouldn’t need to know
phpnode•47m ago
well I'm sure you can understand the dangers of that, and why that won't work if your app is hosted and doesn't run on users' local machines
oldestofsports•7m ago
What non developer would have apt installed on their device though
sigmoid10•45m ago
>we can expect it to get much better than it is today

Which is not a high bar to clear. It literally only got where it is now because execs and product people love themselves another standard, because if they get their products to support it they can write that on some excel sheet as shipped feature and pin it on their chest. Even if the standard sucks on a technical level and the spec changes all the time.

orange_joe•51m ago
This doesn't really pay attention to token costs. If I'm making a series of statically dependent calls I want to avoid blowing up the context with information on the intermediary states. Also, I don't really want to send my users skill.md files on how to do X,Y & Z.
phpnode•49m ago
the article only makes sense if you think that only developers use AI tools, and that the discovery / setup problem doesn't matter
trollbridge•45m ago
But that's the current primary use case for AI. We aren't anywhere close to being able to sanitise input from hostile third parties enough to just let people start inputting prompts to my own system.
phpnode•3m ago
there's a whole world of AI tools out there that don't focus on developers. These tools often need to interact with external services in one way or another, and MCP gives those less technical users an easy way to connect e.g. Notion or Linear in a couple of clicks, with auth taken care of automatically. CLIs are never replacing that use case.
krzyk•44m ago
Why? MCP and CLI is similar here.

You need agent to find MCP and what it can be used for (context), similarly you can write what CLI use for e.g. jira.

Rest is up to agent, it needs to list what it can do in MCP, similarly CLI with proper help text will list that.

Regarding context those tools are exactly the same.

lmeyerov•32m ago
This feels right in theory and wrong in practice

When measuring speed running blue team CTFs ("Breaking BOTS" talk at Chaos Congress), I saw about a ~2x difference in speed (~= tokens) for a database usage between curl (~skills) vs mcp (~python). In theory you can rewrite the mcp into the skill as .md/.py, but at that point ... .

Also I think some people are talking past one another in these discussions. The skill format is a folder that supports dropping in code files, so much of what MCP does can be copy-pasted into that. However, many people discussing skills mean markdown-only and letting the LLM do the rest, which would require a fancy bootstrapping period to make as smooth as the code version. I'd agree that skills, when a folder coming with code, does feel like largely obviating MCPs for solo use cases, until you consider remote MCPs & OAuth, which seem unaddressed and core in practice for wider use.

CuriouslyC•50m ago
There's been an anti-MCP pro-CLI train going for a while since ~May of last year (I've been personally beating this drum since then) but I think MCP has a very real use case.

Specifically, MCP is a great unit of encapsulation. I have a secure agent framework (https://github.com/sibyllinesoft/smith-core) where I convert MCPs to microservices via sidecar and plug them into a service mesh, it makes securing agent capabilities really easy by leveraging existing policy and management tools. Then agents can just curl everything in bash rather than needing CLIs for everything. CLIs are still slightly more token efficient but overall the simplicity and the power of the scheme is a huge win.

mt42or•49m ago
I remember this kind of people against Kubernetes the same exact way. Very funny.
tedk-42•27m ago
Same clowns complaining that `npm install` downloads the entire internet.

Now it's completely fine for an AI agent to do the same and blow up their context window.

recursivedoubts•47m ago
MCP has one thing going for it as an agentic API standard: token efficiency

The single-request-for-all-abilities model + JSON RPC is more token efficient than most alternatives. Less flexible in many ways, but given the current ReAct, etc. model of agentic AI, in which conversations grow geometrically with API responses, token efficiency is very important.

ako•40m ago
I've been creating a cli tool with a focus on token efficiency. Dont see why cli could not be as token efficient as mcp. The cli has the option to output ascii, markdown and json.
recursivedoubts•21m ago
I'm working on a paper on this, if you are using a hypermedia-like system for progressive revelation of functionality you are likely to find that this chatty style of API is inefficient compared with an RPC-like system. The problem is architectural rather than representational.

I say this as a hypermedia enthusiast who was hoping to show otherwise.

SOLAR_FIELDS•36m ago
But the flip side of this is that the tools themselves take up a ton of token context. So if you have one mcp it’s great but there is an upper bound that you hit pretty quick of how many tools you can realistically expose to an agent without adding some intermediary lookup layer. It’s not compact enough of a spec and doesn’t have lazy loading built into it
harrall•30m ago
Yes but I consider that just a bug in the agents that use MCP servers.

It could just be fixed to compress the context or the protocol could be tweaked.

Switching to CLIs is like buying a new car because you need an oil change. Sure, in this case, the user doesn’t get to control if the oil change can be done, but the issue is not the car — it’s that no one will do the relatively trivial fix.

dnautics•29m ago
you know what you could do? You could write a skill that turns mcps on or off!
juanre•40m ago
Reports of MCP's demise have been greatly exaggerated, but a CLI is indeed the right choice when the interface to the LLM is not a chat in a browser window.

For example, I built https://claweb.ai to enable agents to communicate with other agents. They run aw [1], an OSS Go CLI that manages all the details. This means they can have sync chats (not impossible with MCP, but very difficult). It also enables signing messages and (coming soon) e2ee. This would be, as far as I can tell, impossible using MCP.

[1] https://github.com/awebai/aw

ako•39m ago
Biggest downside of CLI for me is that it needs to run in a container. You're allowing the agent to run CLI tools, so you need to limit what it can do.
wolttam•33m ago
It gets significantly harder to isolate the authentication details when the model has access to a shell, even in a container. The CLI tool that the model is running may need to access the environment or some credentials file, and what's to stop the model from accessing those credentials directly?

It breaks most assumptions we have about the shell's security model.

tuwtuwtuwtuw•33m ago
Couldn't that be solved by whitelisting specific commands?
wolttam•22m ago
Such a mechanism would need to be implemented at `execve`, because it would be too easy for the model to stuff the command inside a script or other executable.
goranmoomin•37m ago
I can't believe everyone is talking about MCP vs CLI and which is superior; both are a method of tool calling, it does not matter which format the LLM uses for tool calling as long as it provides the same capabilities. CLIs might be marginably better (LLMs might have been trained on common CLIs), but MCPs have their uses (complex auth, connecting users to data sources) and in my experience if you're using any of the frontier models, it doesn't really matter which tool calling format you're using; a bespoke format also works.

The difference that should be talked about, should be how skills allow much more efficient context management. Skills are frequently connected to CLI usage, but I don't see any reason why. For example, Amp allows skills to attach MCP servers to them – the MCP server is automatically launched when the Agent loads that skill[0]. I belive that both for MCP servers and CLIs, having them in skills is the way for efficent context, and hoping that other agents also adopt this same feature.

[0]: https://ampcode.com/manual#mcp-servers-in-skills

avaer•35m ago
MCP vs CLI is the modern version of people discussing the merits of curly braces vs significant whitespace.

That is, I don't think we're gonna be arguing about it for very long.

vojtapol•33m ago
MCP needs to be supported during the training and trained into the LLM whereas using CLI is very common in the training set already. Since MCP does not really provide any significant benefits I think good CLI tools and its use by LLMs should be the way forward.
goodmythical•29m ago
>as long as it provides the same capabilities.

That's fine if you definition of capabilities is wide enough to include model understanding of the provided tool and token waste in the model trying to understand the tool and token waste in the model doing things ass backwards and inflating the context because it can't see the vastly shorter path to the solution provided by the tool and...

There is plenty of evidence to suggest that performance, success rates, and efficiency, are all impacted quite drastically by the particular combination of tool and model.

This is evidenced by the end of your paragraph in which you admit that you are focused only on a couple (or perhaps a few) models. But even then, throw them a tool they don't understand that has the same capabilities as a tool they do understand and you're going to burn a bunch of tokens watching it try to figure the tool out.

Tooling absolutely matters.

jeremyjh•4m ago
No, it really matters because of the impact it has on context tokens. Reading on GH issue with MCP burns 54k tokens. If you use several MCPs it adds up really fast.
rvz•34m ago
MCPs were dead in the water and where completely a bad standard to begin with. The hype around never made sense.

Not only it had lots of issues and security problems all over the place and it was designed to be complicated.

For example, Why does your password manager need an MCP server? [0]

But it still does not mean a CLI is any better for everything.

[0] https://news.ycombinator.com/item?id=44528411

AznHisoka•34m ago
In terms of what companies are actually implementing, MCP isnt dead by a long time. Number of companies with a MCP server grew 242% in the last 6 months and is actually accelerating (according to Bloomberry) [1]

https://bloomberry.com/blog/we-analyzed-1400-mcp-servers-her...

lakrici88284•30m ago
Companies are usually chasing last year's trend, and MCP makes for an easy "look, were adopting AI!" bullet point.
bikeshaving•32m ago
I keep asking why the default Claude tools like Read(), Write(), Edit(), MultiEdit(), Replace() tools aren’t just Bash() with some combination of cat, sed, grep, find. Isn’t it just easier to pipe everything through the shell? We just need to figure out the permissions for it.
fcarraldo•30m ago
Because the Tools model allows for finer grained security controls than just bash and pipe. Do you really want Claude doing `find | exec` instead of calling an API that’s designed to prevent damage?
arbll•25m ago
It might be the wrong place to do security anyway since `bash` and other hard-to-control tools will be needed. Sandboxing is likely the only way out
webstrand•24m ago
yeah, I would rather it did that. You run Claude in a sandbox that restricts visibility to only the files it should know about in the first place. Currently I use a mix of bwrap and syd for filtering.
rfw300•29m ago
Making those tools first-class primitives is good for (human) UX: you see the diffs inline, you can add custom rules and hooks that trigger on certain files being edited, etc.
p_ing•29m ago
Tell my business users to use CLI when they create their agents. It's just not happening. MCP is point-and-click for them.

MCP is far from dead, at least outside of tech circles.

lasgawe•28m ago
I don't know about this. I use AI, but I've never used or tried MCP. I've never had any problems with the current tools.
I_am_tiberius•25m ago
That's the way my 80 year old grandpa talks.
dnautics•27m ago
what honestly is the difference between an mcp and a skill + instructions + curl.

Really it seems to me the difference is that an mcp could be more token-efficient, but it isn't, because you dump every mcp's instructions all the time into your context.

Of course then again skills frequently doesn't get triggered.

just seems like coding agent bugs/choices and protocol design?

Nevin1901•27m ago
This is actually the first use case where I agree with the poster. really interesting, especially for technical people using ai. why would you spend time setting up and installing an mcp server when u can give it one man page
ddp26•26m ago
I don't understand the CLI vs MCP. In cli's like Claude Code, MCPs give a lot of additional functionality, such as status polling that is hard to get right with raw documentation on what APIs to call.
whatever1•25m ago
First they came for our RAGs, now for our MCPs. What’s next ?
the_mitsuhiko•24m ago
> OpenClaw doesn’t support it. Pi doesn’t support it.

It's maybe not optimal to conclude anything from these two. The Vienna school of AI agents focuses on self extending agents and that's not really compatible with MCP. There are lots of other approaches where MCP is very entrenched and probably will stick around.

mudkipdev•24m ago
This got renamed right in front of my eyes
appsoftware•23m ago
?? I'm using my own remote MCP server with openclaw now. I do understand the use case for CLI. In his Lex Friedman interview the creator highlights some of the advantages of CLI, such as being able to grep over responses. But there are situations where remote MCP works really well, such as where OAuth is used for authentication - you can hit an endpoint on the MCP server, get redirected to authenticate and authorise scopes etc and the auth server then responds to the MCP server.
iamspoilt•18m ago
As a counter argument to the kubectl example made in the article, I found the k8s MCP (https://github.com/containers/kubernetes-mcp-server) to be particularly usefuly in trying to restrict LLM access to certain tools such as exec and delete tools, something which is not doable out of box if you use the kubectl CLI (unless you use the --as or --as-group flags and don't tell the LLM what user/usergroup those are).

I have used the kk8s MCP directly inside Github Copilot Chat in VSCode and restricted the write tools in the Configure Tools prompt. With a pseudo protocol established via this MCP and the IDE integration, I find it much safer to prompt the LLM into debugging a live K8s cluster vs. without having any such primitives.

So I don't see why MCPs are or should be dead.

Background Jobs for TanStack Start with pg-boss

https://jxd.dev/writing/background-jobs-tanstack-start-pg-boss/
1•jamie_davenport•1m ago•0 comments

Power Mode Plugin for Neovim (2026 Take)

https://github.com/axsaucedo/neovim-power-mode
1•axsaucedo•1m ago•1 comments

Claude dethrones ChatGPT as top U.S. app after Pentagon saga

https://www.axios.com/2026/03/01/anthropic-claude-chatgpt-app-downloads-pentagon
1•doener•2m ago•0 comments

The unreasonable effectiveness of S-Expressions

https://nim-lang.org/araq/sexpressions.html
1•moigagoo•4m ago•0 comments

Hackerbot-Claw: An AI-Powered Bot Actively Exploiting GitHub Actions

https://www.stepsecurity.io/blog/hackerbot-claw-github-actions-exploitation
1•pluc•6m ago•0 comments

Can 'friction-maxxing' fix your focus?

https://www.bbc.com/future/article/20260227-can-friction-maxxing-fix-your-focus
4•jethronethro•8m ago•0 comments

From the Guillotine to Napoleon: The French Revolution in Clothes

https://worldhistory.substack.com/p/the-fashion-counter-revolution
1•crescit_eundo•8m ago•0 comments

Show HN: MCP file tools silently eat your context window.I built one that doesnt

https://github.com/ckanthony/Chisel
2•ckanthony•9m ago•2 comments

The Things We Built (and Broke)

https://theblairwitchprojects.substack.com/p/the-things-we-built-and-broke
1•sg17gweedo•12m ago•1 comments

Horse that fades in as you doomscroll (Userscript)

https://gist.github.com/ravarcheon/606b641df4ade3642fb01bec0950c7c0
2•trms•13m ago•0 comments

Knowledge Priming (Manual RAG)

https://martinfowler.com/articles/reduce-friction-ai/knowledge-priming.html
1•danebalia•13m ago•1 comments

Aura-State: Formally Verified LLM State Machine Compiler

2•rohanmunshi08•15m ago•0 comments

Epstein files reveal deeper ties to scientists than previously known

https://www.nature.com/articles/d41586-026-00388-0
3•Teever•18m ago•0 comments

Official NeuroMoney Launch

https://neuromoney.io/app/
1•LukeHenderson11•19m ago•2 comments

All it takes to poison AI training data is to create a website

https://www.schneier.com/blog/archives/2026/02/poisoning-ai-training-data.html
2•u1hcw9nx•19m ago•1 comments

It's Here (Sort Of)

https://kyefox.com/its-here-sort-of/
2•Kye•21m ago•0 comments

World Chess Championship matches have not had an on-board checkmate since 1929

https://en.wikipedia.org/wiki/World_Chess_Championship_1929
1•haunter•21m ago•1 comments

It doesn't matter if the post was fully AI generated

https://simianwords.bearblog.dev/it-doesnt-matter-if-the-post-was-fully-ai-generated/
3•simianwords•22m ago•1 comments

Inside Anthropic's Killer-Robot Dispute with The Pentagon

https://www.theatlantic.com/technology/2026/03/inside-anthropics-killer-robot-dispute-with-the-pe...
3•eoskx•23m ago•2 comments

Datacentre developers face calls to disclose effect on UK's net emissions

https://www.theguardian.com/technology/2026/mar/01/datacentre-developers-energy-greenhouse-gas-em...
5•devonnull•25m ago•0 comments

DEF Con 33 – Exploiting Shadow Data from AI Models and Embeddings [video]

https://www.youtube.com/watch?v=O7BI4jfEFwA
3•ogig•26m ago•0 comments

Digital products and services are getting worse – but the trend can be reversed

https://www.forbrukerradet.no/news-in-english/digital-products-and-services-are-getting-worse-but...
1•susam•30m ago•0 comments

Should you care about "Good Code" in 2026?

https://blog.dmilicic.com/posts/what-is-good-code-in-2026
1•dmilicic•30m ago•1 comments

Building Jarvis – Parallel Tool-Calling Voice Agent Layer on Top of OpenClaw

https://justaniceguy.ai/posts/001-building-jarvis
2•marliechorgan•31m ago•1 comments

Django ORM Standalone⁽¹⁾: Querying an existing database

https://www.paulox.net/2026/02/20/django-orm-standalone-database-inspectdb-query/
1•pauloxnet•31m ago•0 comments

Show HN: Ccnotifs – macOS Claude Code Terminal Notifications (Tmux Friendly)

https://github.com/polyphilz/ccnotifs
1•polyphilz•32m ago•0 comments

Show HN: A simple dark mode Hacker News reader client built with Htmx and Go

https://news.wingman.actor
1•ChaseRensberger•32m ago•0 comments

What Even Are Breeze, QtQuick, QtWidget, Union..?

https://akselmo.dev/posts/what-are-breeze-widgets-quick-union/
2•todsacerdoti•32m ago•0 comments

Don't blame AI for your job woes

https://www.economist.com/finance-and-economics/2025/11/06/dont-blame-ai-for-your-job-woes
1•paulpauper•33m ago•0 comments

Greg Knauss Is Losing Himself

https://shapeof.com/archives/2026/2/greg_knauss_is_losing_himself.html
1•wallflower•34m ago•0 comments