Top
Best
New

Posted by ejholmes 15 hours ago

When does MCP make sense vs CLI?(ejholmes.github.io)
353 points | 226 commentspage 8
deadf00d 9 hours ago|
IMO the biggest issue with CLIs for agents is to know when the agent is allowed to type. When is the command fully proceed, and next tokens can now be generated.
orange_joe 14 hours 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.
krzyk 14 hours 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 14 hours 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.

phpnode 14 hours 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 14 hours 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 13 hours 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.
ryanthedev 6 hours ago||
CLIs are dead. Long live the skill. Which is a wrapper around the CLI! Haha.
_pdp_ 11 hours ago||
https://github.com/mcpshim/mcpshim - converts MCPs to CLI - best of both worlds
medi8r 10 hours ago||
To be fair to MCP it came out 150 years ago, in November 2024. Agents were running on steam and coal then with Sam Altman shovelling the furnace.
ejholmes 12 hours ago||
Hi friends! Author here. This blew up a bit, so some words.

The article title and content is intentionally provocative. It’s just to get people thinking. My real views are probably a lot more balanced. I totally get there’s a space where MCP probably does actually make sense. Particularly in areas where CLI invocation would be challenging. I think we probably could have come up with something better than MCP to fill that space, but it’s still better than nothing.

Really all I want folks to take away from this is to think “hmm, maybe a CLI would actually be better for this particular use case”. If I were to point a finger at anything in particular, it would be Datadog and Slack who have chosen to build MCP’s instead of official CLI’s that agents can use. A CLI would be infinitely better (for me).

csheaff 12 hours ago||
Thank you for writing this. I've had similar thoughts myself and have been teetering back and forth between MCP and skills that invoke CLI. I'm hoping this creates a discussion that points to the right pattern.
g947o 12 hours ago||
"intentionally provocative"

I would almost use the words "intentionally uninformed" instead.

There are huge holes in the article (as pointed out by many comments here), and I have to wonder if you genuinely don't have enough experience with MCP to bring them up, or you intentionally omitted them to make the arguments for CLI.

ejholmes 11 hours ago||
I get it. This is coming from a place where I see MCP's being adopted, where CLI is (in my opinion) better. Particularly where you're already in a CLI environment, and tool composition is necessary. I'm sure there's plenty of folks that aren't operating in that environment.
mrshu 10 hours ago||
It really seems the primary benefit of MCP servers was to force companies to establish some externally exposed APIs if/when they did not have them.
swaraj 3 hours ago||
This is spot on
ddp26 13 hours 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.
827a 11 hours ago|
Advancing capability in the models themselves should be expected to eat alive every helpful harness you create to improve its capabilities.
More comments...