10 ms·
I'm getting tired of everyone saying "MCP is dead, use CLIs!". Yes, MCP eats up context windows, but agents can also be smarter about how they load the MCP con
by caust1c 6mo ago
I'm getting tired of everyone saying "MCP is dead, use CLIs!".
Yes, MCP eats up context windows, but agents can also be smarter about how they load the MCP context in the first place, using similar strategy to skills.
The problem with tossing it out entirely is that it leaves a lot more questions for handling security.
When using skills, there's no implicit way to be able to apply policies in the sane way across many different servers.
MCP gives us a registry such that we can enforce MCP chain policies, i.e. no doing web search after viewing financials.
Doing the same with skills is not possible in a programatic and deterministic way.
There needs to be a middle ground instead of throwing out MCP entirely.
- j45 6mo agoMCPs are handy in their place. Agents calling CLI locally is much more efficient.
- yoyohello13 6mo agoIt is a weird trend. I see the appeal of Skills over MCP when you are just a solo dev doing your work. MCP is incredibly useful in an organization context when you need to add controls and process. Both are useful. I feel like the anti-MCP push is coming from people who don't need to work in a large org.
- krzyk 6mo agoNot sure. Our big org, banned MCPs because they are unsafe, and they have no way to enforce only certain MCPs (in github copilot).
- thenewnewguy 6mo agoBut skills where you tell the LLM to shell out to some random command are safe? I'm not sure I understand the logic.
- toomuchtodo 6mo agoYou can control an execution context in a superior manner than a rando MCP server. MCP Security 2026: 30 CVEs in 60 Days - https://news.ycombinator.com/item?id=47356600 https://news.ycombinator.com/item?id=47356600 - March 2026 (securing this use case is a component of my work in a regulated industry and enterprise)
- newswasboring 6mo agoI think big companies already protect against random commands causing damage. Work laptops are tightly controlled for both networking and software.
- krzyk 6mo agoThey are not also, but I like that they didn't ban those, we can use agents thanks to that.
- yoyohello13 6mo agoWe only allow custom MCP servers.
- mbreese 6mo agoIsn’t it possible to proxy LLM communication and strip out unwanted MCP tool calls from conversations? I mean if you’re going to ban MCPs, you’re probably banning any CLI tooling too, right?
- thecopy 6mo agoShameless plug: im working on a product that aims to solve this: https://www.gatana.ai/ https://www.gatana.ai/
- brabel 6mo agoWho isn't?
- 9rx 6mo ago> I feel like the anti-MCP push is coming from people who don't need to work in a large org. Any kind of social push like that is always understood to be something to ignore if you understand why you need to ignore it. Do you agree that a typical solo dev caught in the MCP hype should run the other way, even if it is beneficial to your unique situation?
- yoyohello13 6mo agoId agree solo devs can lean toward skills. I liken skills to a sort of bash scripts directory. And for personal stuff I generally use skills only.
- mvrckhckr 6mo agoI agree, and it's context-dependent when to use what (the author mentions use cases for other solutions). I'm glad there are multiple solutions to choose from.
- skybrian 6mo agoTowards the end of the article, they do write about some things that MCP does better.
- amzil 6mo ago[dead]
- il 6mo agoTool search pretty much completely negates the MCP context window argument.
- siva7 6mo agoEvidence?
- CuriouslyC 6mo agoSkills are just prompts, so policy doesn't apply there. MCP isn't giving you any special policy control there, it's just a capability border. You could do the same thing with a service mesh or any other capability compartmentalization technique. The only value in MCP is that it's intended "for agents" and it has traction.
- consumer451 6mo ago> Yes, MCP eats up context windows, but agents can also be smarter about how they load the MCP context in the first place, using similar strategy to skills. I have been keeping an eye on MCP context usage with Claude Code's /context command. When I ran it a couple months ago, supabase used 13.2k tokens all the time, with the search_docs tool using 8k! So, I disabled that tool in my config. I just ran /context now, and when not being used it uses only ~300 tokens. I have a question. Does anyone know a good way to benchmark actual MCP context usage in Claude Code now? I just tried a few different things and none of them worked.
- ewild 6mo agoI feel like I don't fully understand mcp. I've done research on it but I definitely couldn't explain it. I get lost on the fact that to my knowledge it's a server with API endpoints that are well defined into a json schema then sent the to LLM and the LLM parses that and decides which endpoints to hit (I'm aware some llms use smart calling now so they load the tool name and description but nothing else until it's called). How exactly are you doing the process of stopping the LLM from using web search after it hits a certain endpoint in your MCP server? Or is this referring strictly to when you own the whole workflow where you can then deny websearch capabilities on the next LLM step? Are there any good docs youve liked to learn about it, or good open source projects you used to get familiar? I would like to learn more
- thamer 6mo agoThere is not a lot to learn to understand the basics, but maybe one step that's not necessarily documented is the overall workflow and why it's arranged this way. You mentioned the LLM "using web search" and it's a related idea: LLMs don't run web searches themselves when you're using an MCP client, they ask the client to do it. You can think of an MCP server as a process exposing some tools. It runs on your machine communicating via stdin/stdout, or on a server over HTTP. It exposes a list of tools, each tool has a name and named+typed parameters, just like a list of functions in a program. When you "add" an MCP server to Claude Code or any other client, you simply tell this client app on your machine about this list of tools and it will include this list in its requests to the LLM alongside your prompt. When the LLM receives your prompt and decides that one of the tools listed alongside would be helpful to answer you, it doesn't return a regular response to your client but a "tool call" message saying: "call <this tool> with <these parameters>". Your client does this, and sends back the tool call result to the LLM, which will take this into account to respond to your prompt. That's pretty much all there is to it: LLMs can't connect to your email or your GitHub account or anything else; your local apps can. MCP is just a way for LLMs to ask clients to call tools and provide the response. 1. You: {message: "hey Claude, how many PRs are open on my GitHub repo foo/bar?", tools: [... github__pr_list(org:string, repo:string) -> [PullRequest], ...] } 2. Anthropic API: {tool_use: {id: 123, name: github__pr_list, input:{org: foo, repo: bar}}} 3. You: {tool_result: {id: 123, content: [list of PRs in JSON]} } 4. Anthropic API: {message: "I see 3 PRs in your repo foo/bar"} that's it. If you want to go deeper the MCP website[1] is relatively accessible, although you definitely don't need to know all the details of the protocol to use MCP. If all you need is to use MCP servers and not blow up your context with a massive list of tools that are included with each prompt, I don't think you need to know much more than what I described above. [1] https://modelcontextprotocol.io/docs/learn/architecture https://modelcontextprotocol.io/docs/learn/architecture
- polynomial 6mo agoThis is the right framing. The chain policy problem is what happens when you ask the registry to be the entitlement layer. Here's a longer piece on why the trust boundary has to live at the runtime level, not the interface level, and what that means for MCP's actual job: https://forestmars.substack.com/p/twilight-of-the-mcp-idols https://forestmars.substack.com/p/twilight-of-the-mcp-idols
- robot-wrangler 6mo ago> I'm getting tired of everyone saying "MCP is dead, use CLIs!". The people saying this and attacking it should first agree about the question. Are you combining a few tools in the training set into a logical unit to make a cohesive tool-suite, say for reverse engineering or network-debugging? Low stakes for errors, not much on-going development? Great, you just need a thin layer of intelligence on top of stack-overflow and blog-posts, and CLI will probably do it. Are you trying to weld together basically an AI front-end for an existing internal library or service? Is it something complex enough that you need to scale out and have modular access to? Is it already something you need to deploy/develop/test independently? Oops, there's nothing quite like that in the training set, and you probably want some guarantees. You need a schema, obviously. You can sort of jam that into prompts and prayers, hope for the best with skills, skip validation and risk annotations being ignored, trust that future opaque model-change will be backwards compatible with how skills are even selected/dispatched. Or.. you can use MCP. Advocating really hard for one or the other in general is just kind of naive.
- amzil 6mo ago[dead]
- novok 6mo agoIMO if you want a metadata registry of how actions work so you can make complicated, fragile, ACL rule systems of actions, then make that. That doesn't need to be loaded into a context window to make that work and can be expanded to general API usage, tool usage, cli usage, and so on. You can load a gh cli metadata description system and so on. MCPs are clunky, difficult to work with and token inefficient and security orgs often have bad incentive design to mostly ignore what the business and devs need to actually do their job, leading to "endpoint management" systems that eat half the system resources and a lot of fig leaf security theatre to systematically disable whatever those systems are doing so people can do their job in an IT equivalent that feels like the TSA. Thank god we moving away from giving security orgs these fragile tools to attach ball and chains to everyone.
- phillipclapham 6mo ago[flagged]
- amzil 6mo agoSchema validates structure, nothing validates intent. That's the actual attack surface and nobody's talking about it. CLI `--help` is baked into the binary. You'd need a new release to change it. MCP server descriptions can change between sessions and nothing catches it. Honestly though, the whole thread is arguing about the wrong layer. I've been doing API infra for 20 years and the pattern is always the same: if your API has good resource modeling and consistent naming, agents will figure it out through CLI, MCP, whatever. If it doesn't, MCP schemas won't save you. Thanks for the CVE reference, hadn't seen that one.
- 0x008 6mo ago> MCP gives us a registry such that we can enforce MCP chain policies Do you have some more info on it? looking up "registry" in the mcp spec will just describe a centrally hosted, npm-like package registry[^1] [^1]: The MCP Registry is the official centralized metadata repository for publicly accessible MCP servers, backed by major trusted contributors to the MCP ecosystem such as Anthropic, GitHub, PulseMCP, and Microsoft.
- justboy1987 6mo ago[flagged]
- iam_circuit 6mo ago[dead]
- golergka 6mo agoit's not about the tokens. agents can script clis.