12 ms·
I still prefer MCP over skills
- robotobos 7mo agoDespite thinking this is AI-generated, I agree but everything has a caveat. Skills are good for instilling non-repeatable, yet intuitive or institutional knowledge. MCP’s are great for custom, repeatable tasks. After 5-10 runs of watching my LLM write the same exact script, I just asked it to hardcode the solution and make it a tool. The result is runs are way faster and repeatable.
- ashraymalhotra 7mo agoYou could hardcode the script as a file within a skill too right? Skills can contain code, not just markdown files.
- robotobos 7mo agoHave not tried, but interesting. I guess my concern would be the Skill still takes up context space, where as MCP is just using CPU.
- BenFrantzDale 7mo ago> Skills are good for instilling non-repeatable, yet intuitive or institutional knowledge. What about just putting that sort of thing in human-targeted documentation? Why call it a “skill” and hide it somewhere a human is less likely to look? (Skills are nice for providing /shortcuts.)
- et-al 7mo ago> Skills are good for instilling non-repeatable, yet intuitive or institutional knowledge. Maybe I'm misinterpreting you, but can you explain this more? I've been using skills for repeatable tasks. Why an MCP instead?
- robotobos 7mo agoIf the model can figure it out with tokens, but my institutional knowledge MCP tool can do it with a few CPU cycles, it’s faster and deterministic and repeatable.
- robotobos 7mo agoSaying "non-repeatable" was probably wrong. "Unique" might be better. Things LLMs arent naturally able to do or infer.
- sjdv1982 7mo agoIt is all about API contracts, right? After the first run, you have a script and an API: the agent discovery mechanism is a detail. If the script is small enough, and the task custom enough, you could simply add the script to the context and say "use this, adapt if needed". Or am I misunderstanding you?
- dgb23 7mo agoI would go further than this. Call the script yourself (or via some other mechanism/program) and then give the results to the LLM. The majority of processes don't need nearly as many decision making points as an agent could deal with and look somewhat like this: 1. gather raw information => script 2. turn it into structured data => script 3. produce an actionable plan => script/user/agent (depends) 4. validate the plan => user 5. narrow down the implementation workflow and the set of tools needed => user/agent 6. follow workflow iteratively => user/agent Doesn't need to be this exact shape, but the lesson I learned is to quasi front load and structure as much as possible with scripts and data. That can be done with agent assistance as well, for example by watching it do the task, or a similar one, in freeform at first.
- robotobos 7mo agoThere's definitely some optimization that can occur, like an orchestrator or Ralph.
- dvcrn 7mo ago> Despite thinking this is AI-generated, I agree but everything has a caveat. Definitely not AI generated. I wrote this during a non-internet flight. :)
- robotobos 7mo agoHaha sorry for the callout! Saw the M-dash and auto-assumed. Nice write up and thanks for sharing :)
- charcircuit 7mo agoThis author does not realize that skills can call APIs. The idea that you have to build dedicated CLI apps is not true at all and invalidates the entire article.
- leonidasv 7mo agoAnd call MCPs as well
- CGamesPlay 7mo agoCan you clarify what exactly you mean? Skills are markdown files, so they definitely can't call APIs or CLIs. Are you saying that a skill can tell the agent to use curl to call web APIs? Or something different?
- mhalle 7mo agohttps://agentskills.io/specification https://agentskills.io/specification * references/ Contains additional documentation that agents can read when needed * scripts/ Contains executable code that agents can run. * assets/ Contains static resources
- hypercube33 7mo agoTechnically they can at least how I'm using or abusing them - I ride windows so they have a generic powershell script bolted on to handle special API use through the skill to make it easier for the agent to call data up noted in the skill. does it lack full API details? absolutely. I have also a learning skill where if it has to go for a think / fail / try to figure something new out to grow a new skill or update an existing one. skills to me suck when they are shared with a team - haven't found the secret sauce here to keep these organic skills synced between everyone
- latentsea 7mo agoThey almost certainly mean skills can tell the agent to use the api, and it can succeed at doing that.
- nostrebored 7mo ago
- alierfan 7mo agoThis isn't a zero-sum game or a choice of one over the other. They solve different layers of the developer experience: MCP provides a standardized, portable interface for external data/tools (the infrastructure), while Skills offer project-specific, high-level behavioral context (the orchestration). A robust workflow uses MCP to ensure tool reliability and Skills to define when and how to deploy those tools.
- Aperocky 7mo agoMCP is just CLI wrapped in boxes. CLI is the same API in more concise format. At minimum, the same amount of context overhead exist for MCP, but most of the time more because the boxes have size. CLI can be secure, AWS CLI is doing just fine. You can also play simple tricks to hide secret in a daemon or run them remotely, and all of them are still smaller than a MCP.
- BeetleB 7mo agoI've always wondered: Doesn't the fact that the MCP input/output is more structured lead to higher reliability? With MCP you declare the types for input (string, int, list, etc) and output. As part of our product, we have an MCP server. Since many of our MCP tools are expensive, for our tests we simply give the LLM all the tool descriptions (but in text form, not structured) and ask it which tool it would call for a given query and assert on the response. The tests are flaky. In practice, I've always seen the LLM make the right tool call with the proper formatting of args, etc. In the tests (same LLM model), it occasionally makes mistakes on the argument types and it has to try again before it gets it right. My assumption was that the structure MCP provides was the reason there was a discrepancy.
- ghm2199 7mo agoFor indie developers like myself, I often use chat GPT desktop and Claude desktop for arbitrary tasks, though my main workhorse is a customized coding harness with CC daemons on my nas. With the apps, b I missed having access to my Nas server where my dev environment is. So I wrote a file system MCP and hosted it with a reverse proxy on my Truenas with auth0. I wanted access to it from all platforms CharGPT mobile, desktop. Same for CC. For chatgpt desktop and Claude desktop my experience with MCPs connected to my home NAS is pretty poor. It(as in the app) often times out fetching data(even though there is no latency for serving the request in the logs), often the existing connection gets invalidated between 2 chat turns and chat gpt just moves on answering without the file in hand. I am not using it for writing code, its mostly read only access to Fs. Has anyone surmounted these problems for this access patterns and written about how to build mcps to be reliable?
- leonidasv 7mo agoThis is the same as saying "I still prefer hammer over screwdriver".
- plandis 7mo agoI could not agree any less with the author. I don’t want APIs, I want agents to use the same CLI tooling I already use that is locally available. If my agents are using CLI tooling anyways there is no need to add an extra layer via MCP. I don’t want remote MCP calls, I don’t even want remote models but that’s cost prohibitive. If I need to call an API, a skill with existing CLI tooling is more than capable.
- woeirua 7mo agoOk, but there are still many environments where an LLM will not have access to a CLI. In those situations, skills calling CLI tools to hook into APIs are DOA.
- hansonkd 7mo agoidk, just have a standard internet request tool that skills can describe endpoints to. like you could mock `curl` even for the same CLI feel
- yawnxyz 7mo agoskills can have code bundled with them, including MCP code
- woeirua 7mo agoThe agent still doesn’t have an execution environment. It can’t execute the code!
- ai_slop_hater 7mo ago[flagged]
- grensley 7mo agoThe "only skills" people are usually non-technical and the "only CLI" people are often solo builders. MCP makes a lot of sense for enterprise IMO. Defines auth and interfaces in a way that's a natural extension of APIs.
- bicx 7mo agoI built an internal company MCP that uses Google Workspace auth and injects a mix of guidance (disguised as tools) on how we would like certain tasks to be accomplished via Claude as well as API-like capabilities for querying internal data and safely deploying small apps internally. I’d really love to get away from the SSE MCP endpoints we use, as the Claude desktop app can get really finicky about disconnects. I thought about distributing some CLIs with Skills instead. But, MCP can be easily updated with new tools and instructions, and it’s easy to explain how to add to Claude for non-technical people. I can’t imagine trying to make sure everyone in my company had the latest skill and CLI on their machine.
- bikelang 7mo agoI think many of us have been burned by the absolutely awful and unstable JIRA MCP and found that skills using `acli` actually work and view the rest of the MCP space thru that lens. Lots of early - and current! - MCP implementations were bad. So it’s an uphill battle to rebuild reputation.
- hnlmorg 7mo agoCan you share more about acli? Literally my biggest use case for MCP is Jira and Confuence
- dugmartin 7mo agoIt is available here: https://developer.atlassian.com/cloud/acli/guides/introduction/ https://developer.atlassian.com/cloud/acli/guides/introducti... It has a pretty discoverable cli syntax (at least for Claude). I use it in my custom skills to pull Jira story info when creating and reviewing specs.
- woeirua 7mo agoAnthropic says that Skills and MCPs are complementary, and frankly the pure Skills zealots tend to miss that in enterprise environments you’ll have chatbots or the like that don’t have access to a full CLI. It doesn’t matter if your skills tell the agent exactly what to do if they can’t execute the commands. Also, MCP is better for restricted environments because you know exactly what it can or cannot do. That’s why MCP will exist for some time still. They solve distinct problem sets.
- nostrebored 7mo ago> Also, MCP is better for restricted environments because you know exactly what it can or cannot do. The continuous exploits of MCP despite limited adoption really makes this seem wrong.
- jauntywundrkind 7mo agoI've remained leaning a bit towards MCP until lately. Both have pretty easy ways to call the other (plenty of cli API callers, and tools like mcp-cli for the reverse https://github.com/philschmid/mcp-cli https://github.com/philschmid/mcp-cli). Skills have really made progressive discovery if cli-tools much better, and MCP design has adapted likewise. I've lightly preferred MCP for formalism, for it feeling more concrete as a thing. But what really changed my mind is seeing how much more casual scripting the LLMs do these days. They'll build rad unix pipes, or some python or node short scripts. With CLI tools, it all composes: every trick it learns can plug directly into every other capability. Where-as with MCP, the LLM has to act as the pipe. Tool calls don't compose! It can read something like this tmux skill then just adapt it in all sorts of crazy ways! It can sort of do that with tool calls, but much less so. https://github.com/nickgnd/tmux-mcp https://github.com/nickgnd/tmux-mcp I'd love to see a capnproto capnweb or some such, with third party handoff (apologies Kenton for once again raising 3ph), where a tool call could return a result and we could forward the result to a different LLM, without even waiting for the result to come back. If the LLM could compose tool calls, it would start to have some parity with the composability of the cli+skill. But it doesn't. And as of very recently I've decided that is too strong a selling point to be ignored. I also just like how the cli remains the universe system: if these are so isomorphic as I keep telling myself, what really does the new kid on the block really bring? How much is a new incarnation better if their capabilities are so near? We should keep building cli tools, good cli tools, so that man and machine benefit. That said I still leave the beads mcp server around. And I turn on the neovim MCP when I want to talk to neovim. Ah well. I should try harder to switch.
- senordevnyc 7mo agoI love the idea of MCP, but it needs a progressive disclosure mechanism. A large MCP from a provider with hundreds or even thousands of tools can eat up a huge amount of your context window. Additionally, MCPs come in a bunch of different flavors in terms of transport and auth mechanisms, and not all harnesses support all those options well. I’ve gone the other way, and used MCP-CLI to define all my MCP servers and wrap them in a CLI command for agent use. This lets me easily use them both locally and in cloud agents, without worrying about the harness support for MCP or how much context window will be eaten up. I have a minimal skill for how to use MCP-CLI, with progressive disclosure in the skill for each of the tools exposed by MCP-CLI. Works great. All that said, I do think MCP will probably be the standard going forward, it just has too much momentum. Just need to solve progressive disclosure (like skills have!) and standardize some of the auth and transport layer stuff.
- didibus 7mo agoI thought Claude Code and others do progressive disclosure for MCP now as well. The article claims so: > Smart Discovery: Modern apps (ChatGPT, Claude, etc.) have tool search built-in. They only look for and load tools when they are actually needed, saving precious context window.
- senordevnyc 7mo agoThe article made a number of claims I know to be false, so I wouldn’t take it as gospel.
- avinashselvam 7mo agoskills and mcp help with entirely different things. sure most products add a skill on using their mcp so that model's tool calling works good.
- lyime 7mo agoauth
- nout 7mo agoUse both. These do different things.
- turlockmike 7mo agoOr use both. Remote MCPs are secure, CLI allows for programmatic execution. Use bash to run remote MCPs. I built this to solve this exact problem. https://github.com/turlockmike/murl https://github.com/turlockmike/murl
- nostrebored 7mo agoWhat about remote MCPs lend themselves to security? For instance, do you think that it is more secure than a traditional endpoint?
- turlockmike 7mo agoMCPs are basically just JSON-rpc. The benefit is that if you have applications that require an API key, you can build a server to control access (especially for enterprise). It's the same as REST apis, except by following a specific convention we can take advantage of generic tools (like the one I built) and means you don't need to rely on poor documentations to connect or train a model to use your very specific CLI.
- nostrebored 7mo agoBut if you have customer facing APIs then all of these problems were already solved in an enterprise context. You can force an oauth flow from skills if you want. I don’t think that CLIs are the path forward either, but you certainly don’t have to teach a model how to use them. We’ve made internal CLIs that adhere to no best practices and expose limited docs. Models since 4o have used them with no issue. The amount of terminal bench data is just much higher and more predictable in rl environments. Getting a non thinking model to use an MCP server, even hosted products, is an exercise in frustration compared to exposing a cli. A lot of our work is over voice, and I’ve found zero MCPs that I haven’t immediately wanted to wrap in a tool. I’ve actually had zero MCPs perform at all (most recently last week with a dwh MCP and opus 4.6, where even the easiest queries did not work at all).
- turlockmike 7mo ago
- Aperocky 7mo agoOccams Razor spares none. Everything will go to the simplest and most convenient, often both, despite the resistance of the complexity lovers. Sorry MCP, you are not as simple as CLI/skill/combination, and no, you are not more secure just because you are buried under 3 level of spaghetti. There are no reason for you to exist, just like Copilot. I don't just wish, but know you'll go into obscurity like IE6.
- econ 7mo agoA webpage with a form should be good enough.
- j16sdiz 7mo agoThanks for the 3x context usages because it need to follow the installation steps. and extra credit for the auth token leaks because it is sent in every call as context.
- Aperocky 7mo agoAnything you said here just demonstrate that you don't really understand the differences between MCP and CLI. MCP is just wrapper on top of API layer that RCP to a worker/daemon. That API layer itself can be the CLI. You get no more context usage, and no extra security impact, because fundamentally the model are the same, just without the fluff. You are probably thinking of CLI as in "oh I must pass everything and it is stateless", only some need to be like that.
- olalonde 7mo agoThat's "Worse is better" rather than "Occam's razor".
- lukewarm707 7mo agoi use mcp for security. you can have an airgapped agent that can still call online tools. for example, web search. however it can't get infected because there is no internet access. the worst you can do is put your secrets in the web search box
- ok_dad 7mo agoPeople in the comments still confused about “agentic development” vs. “agentic development”. One uses the cli best, while the other cannot use a cli very well. The first is using agents locally to develop. The second is developing an agent. Not necessarily for coding, mind you. Not even for just text sometimes. They are different cases, MCP is great for the latter.
- tpoacher 7mo ago> Skills are great for pure knowledge and teaching an LLM how to use an existing tool. But for giving an LLM actual access to services, the Model Context Protocol (MCP) is the far superior, more pragmatic architectural choice. There's your answer. If you want to use local tools, use Skills. If you want to use services, use MCP. Or, you know, whatever works best for your scenario.
- lewisjoe 7mo ago> ChatGPT can’t run CLIs. Neither can Perplexity or the standard web version of Claude. Unless you are using a full-blown compute environment (like Perplexity Computer, Claude Cowork, Claude Code, or Codex), any skill that relies on a CLI is dead on arrival. Incorrect observation. Claude web does support skills upload. I guess claude runs code_interpreter tool and filesystem in the background to run user uploaded skills. ChatGPT business plans too allow uploading custom skills in web. I can see Skills becoming a standard soon. But the concern still holds. When you publish a MCP you liberate the user out of installing anything. But with skills what happens if the skill running environment don't have access to the cli binary or if it isn't in PATH?
- simonw 7mo agoYeah, regular web chat Claude and ChatGPT both have full container access (even on the free version, at least for ChatGPT) which can run CLI tools. Both of them can even install CLI tools from npm and PyPI - they're limited in terms of what network services they can contact aside from those allow-listed ones though, so CLI tools in those environments won't be able to access the public web. ... unless you find the option buried deep in Claude for enabling additional hosts for the default container environment to talk to. That's a gnarly lethal trifecta exfiltration risk so I recommend against it, but the option is there! More notes on ChatGPT's ability to install tools: - https://simonwillison.net/2026/Jan/26/chatgpt-containers/ https://simonwillison.net/2026/Jan/26/chatgpt-containers/
- medbar 7mo agoI still use vanilla Claude Code without MCP or skills, am I in the minority? Not trying to be a luddite.
- tim-projects 7mo agoMe too just use AGENTS.md and it seems to work. I don't understand what problem MCP is trying to solve and skills just sounds like something you can do in AGENTS.md What am I missing out on?
- throwpoaster 7mo agoRepeatability (see my response to op).
- blitzar 7mo agoI would guess the top 10% of actual performers do the same - the people who talk about harnesses and chain multiple systems together etc will be mid table somewhere
- throwpoaster 7mo agoSkills and MCP are useful for when you need to repeat specific processes, perpetually. Without them the task description and reasoning falls out of the context window, or is compressed, and the process fails. An agent will eventually forget, or hallucinate, guardrails and requirements. Yes to AGENTS.md, but when you're actively managing the whole context window in a long-running task you don't want to just keep jamming stuff in there and hope for the best. Skills help budget tokens and stabilize around specific outcomes. If your use case is not agentic, as you build a skill corpus you can begin having the model reason at higher and higher levels about the outcomes you're aiming at. Eg: I'm super lazy now and ask Claude to launch the project instead of just running the command myself. This is probably best done as a skill.
- tim-projects 7mo agoAGENTS.md doesn't fall out of the context window so you just put whatever commands you use in there. Every time it gets too big you rewrite it. Never had an issue doing this
- heckintime 7mo agoAI tools for non technical users that can work on browsers and mobile app will be super powerful. I think MCPs are currently the best way to reach this audience.
- imron 7mo agoMy biggest gripe with skills is that even clear and explicit instructions are regularly ignored - even when the skill is brief (< 100 lines). I’ll often see the agent saying it’s about to do something so I’ll stop it and ask “what does the xxx skill say about doing that?’ And it’ll go away and think and then say “oh, the skill says I should never do that”
- latentsea 7mo agoDifferent tools for different jobs man... I prefer the right tool for the job, and both skills and MCP seem necessary. Do you also prefer forks over spoons?
- blitzar 7mo ago> Do you also prefer forks over spoons? On the 8th day god created the spork.
- ajaystream 7mo ago[dead]
- bijowo1676 7mo agoMCP pollutes the context, if you dont care about wasting context token for all MCP tools, go ahead and use MCP, but you should know that cli tool+skill can perfectly replace it with less token overhead and better matching due to skill's front matter
- miroljub 7mo agoThat really depends on how your harness implements MCP client. There are implementations that don't pollute context any more than CLIs, but if one uses only CC, he would never know.
- anaisbetts 7mo agoSure but on the flip side, skills not being in context means that for many harnesses, the model simply never finds them. Whether MCP or Skills are "better" depends extremely heavily on the context management functionality of your harness because if you use a relatively naive harness (i.e. one that implements MCP and Skills in a straightforward way), MCPs will generally be more effective, especially if your model is local-only (i.e. dumb), but at the cost of context.
- michaelashley29 7mo ago100% MCPs truly give the agent tools and allow the agent to make better informed decisions given you can have configured the right MCP tools. Skills are good for knowledge and general guidelines. They give context to the agent, and I have seen some skills being excessively long that could into eat into the context window of the agent. This tool https://protomcp.io/ https://protomcp.io/ helps a lot with testing MCP servers before integrating into the agent workflow. You can even see the agent call different tools in real time and view the trace.
- Xenoamorphous 7mo agoI use both and don't feel they're mutually exclusive. E.g. if I have some ElasticSearch cluster, I use a skill to describe the data, and if I ask the LLM to write code that queries ElasticSearch but to test it first it can use a combination of skill + MCP to actually run a query. I think this model works nicely.
- simianwords 7mo agoSKILLS.md or AGENTS are good concepts but they miss two crucial things that will make them much more usable. I predict that this will happen. Each SKILLS.md will come with two hooks: 1. first for installing the SKILL itself - maybe install the CLI or do some initial work to get it working 2. Each skill may have dependencies on other skills - we need to install those first Expressing these two hooks in a formal way in skills would help me completely replace MCP's. My concrete prediction is that this will happen soon. Wrote more about it here: https://simianwords.bearblog.dev/what-agent-skills-misses-now/ https://simianwords.bearblog.dev/what-agent-skills-misses-no...
- pjmalandrino 7mo agoNot same tools, different purpose from my opinion
- s-xyz 7mo agoI never understood why there is a discussion about it, one or the other… both serve a different purpose and are complementary.
- qalmakka 7mo agoCLI is massively superior to MCP in my experience. First, because I also understand what's going on and do it myself if necessary. Second because it's so much cheaper in terms of tokens it's not even funny
- nodomain 7mo agoThe whole article serves just to promote his SaaS.
- baq 7mo agoRemote MCP solve the delivery and update issues just like saas and browsers did for human users. Not much more to it really
- usrbinbash 7mo ago> The core philosophy of MCP is simple: it’s an API abstraction. The LLM doesn’t need to understand the how; it just needs to know the what. Wrong. It needs to "understand" both these things. The only difference is where and how the strings explaining them are generated.
- dgb23 7mo agoThat's an important point. Whether it's tools, MCP or skills: they are fundamentally all just prompts. Even if the LLM is trained to recognize those and produce the right shape of tokens that validate most of the time. But I wouldn't use the word "understand" here, because that builds the wrong intuition. I think a more useful term would be "get guided by" or "get nudged by". Even "recognize" is slightly misleading, because it implies too much.
- simianwords 7mo agoYesterday I accidentally stumbled on a place where I could really appreciate MCP's. I wanted to connect my Claude account to my Notion account. Apparently all you need to do is just submit the notion MCP and log in. That's it! And I was able to interact with my Notion data from my Claude account! Imagine how hard this would be with skills? It is literally impossible because with skills, you may need to install some local CLI which Claude honestly should not allow. If not CLI, you need to interact with their API which again can't happen because you can't authenticate easily. MCP's fill this narrow gap in my opinion - where you don't own the runtime and you want to connect to other tools like plugins.
- nextaccountic 7mo ago> Context Bloat: Using a skill often requires loading the entire SKILL.md into the LLM’s context window, rather than just exposing the single tool signature it needs. It’s like forcing someone to read the entire car’s owner’s manual when all they want to do is call car.turn_on(). MCP has severe context bloat just by starting a thread. If harnesses were smart enough to, during install time, summarize the tools provided by a MCP server (rather than dumping the whole thing in context), it would be better. But a worse problem is that the output of MCP goes straight into the context of the agent, rather than being piped somewhere else A solution is to have the agent run a cli tool to access mcp services. That way the agent can filter the output with jq, store it in a file for analysis later, etc
- gum_wobble 7mo ago> A solution is to have the agent run a cli tool to access mcp services. lol and why do you need mcp for that, why cant that be a classic http request then?
- deleted 7mo ago[deleted]
- senordevnyc 7mo agoI use this pattern with mcp-cli, and I do that instead of a curl request for two reasons: 1) not leaking my creds into the agent session, and 2) so I can allowlist / denylist specific tools on an MCP server, which I can't do as easily if I give the agent an API token and curl.
- mathis-l 7mo agoAt least when working with local MCP servers I solved this problem by wrapping the mcp tools inside an in-memory cache/store. Each tool output gets stored under a unique id and the id is returned with the tool output. The agent can then invoke other tools by passing the id instead of generating all the input. Adding attribute access made this pretty powerful (e.g. pass content under tool_return_xyz.some.data to tool A as parameter b). This saves token costs and is a lot faster. Granted, it only works for passing values between tools but I could imagine an additional tool to pipe stuff into the storage layer would solve this.
- seyz 7mo agoMCP versus Skills -> wrong debate. MCP versus CLI -> real debate.
- lifeisstillgood 7mo agoI agree for a slightly different reason - human stupidity. Despite many decades of proof that automation simplifies and reveals the illogical in organisations, digitisation has mostly stopped at below the “CXO” level - and so there are not APIs or CLIs available to anyone - but MCP is cutting through Just consider: Throughout companies large and small, Agile is what coders do, real project managers still use deadlines and upfront design of what will be in the deadline - so any attempt to convert the whole company to react to the reality of the road is blocked Reports flow upwards - but through the reporting chain. So those PowerPoints are … massaged to meet to correct story, and the more levels it’s massaged the more it fails to resemble reality. Everyone knows this but managing the transition means potentially losing control … There are plenty of digitisationmprojects going on - but do they enable full automation or are they another case of an existing political arena building its own political choices in software - “our area in a database to be accessed via an UI by our people” - almost never “our area to be used by others via API and totally replacing our people”. (I think I need to be more persuasive
- nimonian 7mo agoI'm with you on this (I think). Digitising my org is much easier if I can assume my colleagues' agents will be acting on their behalf. Even if I can't convince most humans to cooperate with solutions, I can usually trust their agents to do so. MCP hides the wiring somewhat, which I enjoy.
- tomaytotomato 7mo agoAs others have said I have found CLI tools much better This is how I am structuring stuff in Claude Code - Ansible setup github cli, git, atlassian cli, aws-cli, terraform cli tooling - Claude hooks for checking these cli tools are authenticated and configured - Claude skills to use the CLI tooling
- deleted 7mo ago[deleted]
- antirez 7mo agoDon't focus on what you prefer: it does not matter. Focus on what tool the LLM requires to do its work in the best way. MCP adds friction, imagine doing yourself the work using the average MCP server. However, skills alone are not sufficient if you want, for instance, creating the ability for LLMs to instrument a complicated system. Work in two steps: 1. Ask the LLM to build a tool, under your guide and specification, in order do a specific task. For instance, if you are working with embedded systems, build some monitoring interface that allows, with a simple CLI, to do the debugging of the app as it is working, breakpoints, to spawn the emulator, to restart the program from scratch in a second by re-uploading the live image and resetting the microcontroller. This is just an example, I bet you got what I mean. 2. Then write a skill file where the usage of the tool at "1" is explained. Of course, for simple tasks, you don't need the first step at all. For instance it does not make sense to have an MCP to use git. The agent knows how to use git: git is comfortable for you, to use manually. It is, likewise, good for the LLM. Similarly if you always estimante the price of running something with AWS, instead of an MCP with services discovery and pricing that needs to be queried in JSON (would you ever use something like that?) write a simple .md file (using the LLM itself) with the prices of the things you use most commonly. This is what you would love to have. And, this is what the LLM wants. For complicated problems, instead, build the dream tool you would build for yourself, then document it in a .md file.
- tomaytotomato 7mo agoAlthough the author is coming from a place of security and configuration being painful with Skills, I think the future will be a mix of MCP, Agents and Skills. Maybe even a more granular defined unit below a skill - a command... These commands would be well defined and standardised, maybe with a hashed value that could be used to ensure re-usability (think Docker layers). Then I just have a skill called: - github-review-slim:latest - github-review-security:8.0.2 MCPs will still be relevant for those tricky monolithic services or weird business processes that aren't logged or recorded on metrics.
- senordevnyc 7mo agoCommands are already a thing, but they're falling out of favor because a user can just invoke a skill manually instead.
- slhck 7mo agoHuh, I think the author might be deliberately ignoring how MCP works? - "CLIs need to be published, managed, and installed" -- same for MCP servers which you have to define in your config, and they frequently use some kind of "npx mcp-whatever" call. - "Where do you put the API tokens required to authenticate?" -- where does an MCP server put them? In your home folder? Some .env file? The keychain? Same like CLI tools. - "Some tools support installing skills via npx skills, but that only works in Codex and Claude Code, not Claude Cowork or standard Claude" -- sure, but you also can't universally define MCP servers for all those tools. You have to go ahead and edit the config anyway. - "Using a skill often requires loading the entire SKILL.md into the LLM’s context window, rather than just exposing the single tool signature it needs" -- yeah, but it's on-demand rather than exposing ALL MCP servers' tool signatures. Have you ever tried to use playwright MCP? I just don't buy the "without any setup" argument.
- edinetdb 7mo ago[dead]
- tow21 7mo agoThis argument always sounds like two crowds shouting past each other. Are you a solo developer, are you fully in control of your environment, are you focused on productivity and extremely tight feedback loops, do you have a high tolerance for risk: you should probably use CLIs. MCPs will just irritate you. Are you trying to work together with multiple people at organizational scale and alignment is a problem; are you working in a range of environments which need controls and management, do you have a more defensive risk tolerance ... then by the time you wrap CLIs into a form that are suitable you will have reinvented a version of the MCP protocol. You might as well just use MCP in the first place. Aside - yes, MCP in its current iteration is fairly greedy in its context usage, but that's very obviously going to be fixed with various progressive-disclosure approaches as the spec develops.
- joshwarwick15 7mo agoContext usage is a client problem - progressive disclosure can be implemented without any spec changes (Claude/code has this built in for example). That being said the examples for creating a client could be massively expanded to show how to do this well
- exossho 7mo agoagree I don't get this discussion anyways Those are two different things, and actually they work well together..
- pavelbuild 7mo ago[dead]
- theshrike79 7mo agoIn an organisation we can’t limit MCP access. It’s all or nothing. Everything the user can touch, the MCP can touch. We can trust humans not to do stupid things. They might accidentally delete maybe two items by fat-fingering the UI. An Agent can delete a thousand items in a second while doing 30 other things. With bespoke CLI tools we can configure them so that they cannot access anything except specific resources, limiting the possible blast radius considerably.
- contextbloat 7mo ago> Using a skill often requires loading the entire SKILL.md into the LLM’s context window, rather than just exposing the single tool signature it needs. Isn't this, like, the exact thing MCP is the worst at? You need to load the entire MCP into the context even if you're not using the MCP's relevant functions. Which is why some people put them on subagents, which is like, equivalent to putting the MCP behind a CLI function, at which point, why not just have the CLI function and selectively load it when yo- OH WAIT, THERE'S A NAME FOR THAT!
- techpulselab 7mo ago[dead]
- choam2426 7mo agoThis tracks with my experience. I started out building an MCP server for an internal wiki, but ended up replacing it with a simple CLI + skill because the wiki had no access control and the simpler setup was good enough in practice. I think that's the important boundary, though: once access control, auth, or per-user permissions enter the picture, I'd much rather have MCP as the interface than rely on local tooling conventions.
- alexhans 7mo agoThis frames MCP vs Skills as an either/or, but they operate at different layers. MCP exposes capabilities and Skills may shape how capabilities are used. Both are useful to different people (and role families) in different ways and if you don't feel certain pain points, you may not care about some of the value they provide. Agent skills are useful because they're standardized prompt sharing but more than that, because they have progressive disclosure so you don't bloat your context with an inefficietly designed MCP and their UX is very well aligned such that "/SkillBuilder" skills are provided from the start and provide a good path for developers or non traditional builders to turn conversations into semi or full automation. I use this mental model to focus on the iteration pattern and incremental building [1]. [1] https://alexhans.github.io/posts/series/evals/building-agent-skills-incrementally.html https://alexhans.github.io/posts/series/evals/building-agent...
- krackers 7mo ago>MCP exposes capabilities and Skills may shape how capabilities are used. This is my understanding as well. What most people seem to ultimately be debating is "dedicated tool calls" (which is what MCP boils down to) versus a stateful environment that admits a single uber-tool (bash) that can compose things via scripting. I guess this is what riles people up, like emacs vs vim. Some people see perfectly good CLI tools lying around and don't see why they need to basically reimplement a client against API. Others closer to the API provider side imagine it cleaner to expose a tailored slim-down surface. Devs that just use claude code on a laptop think anything other than CLI orchestration is overcomplicating it, while others on the enterprise side need a more fine-grain permission model and don't want to spin up an entire sandbox env just to run bash. It's also not either or. You can can "compose" regular tool calls as well, even without something as heavy weight as an entire linux env. For instance you could have all tools exposed as FFI in QuickJS or something. The agent can invoke and compose tools by writing and executing JS programs. How well this works depends on the post-training of the model though, if agents are RL'd to emit individual tool calls via <tool>{"myTool": {"arg1": 1}}</tool> <tool>{"myTool": {"arg1": 2}}</tool> tokens, then they're probably not going to be as successful shoving entire JS scripts in there like <tool> const resp1 = myTool(1); const resp2 = myTool(2); console.log(resp1, resp2); </tool>
- bachback 7mo agothe best agent framework in my opinion is Pi. Pi avoids MCP thats a good thing. why assume that the planet will migrate from HTTP to MCP? no, instead lets assume we have client code we can call. we already have a rich ecosystem of HTTP services and packages. and if we assume a rewrite for agents we probably wouldn't come up with MCP but something more powerful.
- rakamotog 7mo agoThere is one area where MCP typically has challenges - Not a technical challenge but a practical challenge. Imagine you are creating an asset which requires multiple API calls and your UI is designed to go through a 10-12 step setup process for that asset. In practice even if we give one tool for LLM to one-shot it, or even if we break it down into 10-12 tools the points of hallucinations are much higher. Contrast this with "skills" and CLI.
- EugeneOZ 7mo ago> Skills are great for pure knowledge and teaching an LLM how to use an existing tool. But for giving an LLM actual access to services, the Model Context Protocol (MCP) is the far superior That's it. For some things you need MCP, for some things you need SKILLs - these things coexist.
- polyterative 7mo agowhy not both
- spotlayn 7mo ago[dead]
- _pdp_ 7mo agoScanning through the comments here I am almost certain the majority of people in this thread run coding agents on-device. Skills that access already available resources is then more convenient and you can easily make the argument that it is more agronomic. That being said, majority of users on this planet don't use AI agents like that. They go to ChatGPT or equivalent. MCP in this case is the obvious choice because it provides remote access and it has better authentication story. In order to make any argument about pro/con of MCP vs Skills you first need to find out who is the user.
- Oras 7mo ago> majority of users on this planet don't use AI agents like that Source?
- Jaxkr 7mo agoCommon sense. Most users are not running Claude Code or an on-device coding agent. They're using ChatGPT, Gemini, or Claude on the web.
- addandsubtract 7mo agoBut I downloaded Claude.exe /s
- thecupisblue 7mo agoI am not 100% sure I follow your train of thought. Isn't in that case an API what they want? An "MCP for a local app" is just an API that exposes the internal workings of the app. An "MCP for mixpanel" is just an API that exposes Mixpanel API behind Auth. There is nothing special about them for any type of user. It's just that MCP's were "made popular". For the same type of user, I have built better and smoother solutions that included 0 MCP servers, just tools and pure API's.Define a tool standard DX and your LLM can write these tools, no need to run a server anywhere. That is also what the author seems to be mistaken about - you don't need a CLI. A CLI is used because the DX is nice and easily permutable with all the preexisting bash tooling that is ingrained into every LLM's dataset. You don't need a .env file if you're using an API with a skill. A skill can include a script, or mentions of tools, and you are the one who controls these. All in all, the whole "MCP vs Skill" debate online is mostly based on fundamental misunderstandings of LLM's and how they work, how harnesses work and how API's in general work, with a lot of it being fueled by people who have no relevant coding experience and are just youtube/twitter "content creators". Some arguments against MPC's, no matter who is the user: - MCP is just a noisy, hacky wrapper around an API or IPC (well, API behind IPC) - MCP's are too noisy for LLM's to be useful long-term, as they require a server. - You don't need an MCP, you need an easy accessible API with simple DX that the machine can use with as little context and decision making as required. - Skills are better than MCP because they basically encode the API docs/context in an LLM friendly manner. No need to run servers, just push text to system prompt.
- fedeb95 7mo agoI think both will stick around because they solve two different problems. 1) what are you able to do (skills) 2) which tools you have to do it (mcp)
- mantyx 7mo agoHaving developed mantyx.io, I believe that rest apis are still champion. MCP is nothing more than rest wrappers most of the time and skills are cli wrappers which in turn are rest wrappers.
- lukewarm707 7mo agoi feel like giving an agent shell access and internet is batshit crazy. that's just me i guess.
- mememememememo 7mo agoLike saying I prefer websites over CLI, or bicycles over canoes. Chisels over planes. Depends what you are trying to achieve.
- anshulbhide 7mo ago>>>The core philosophy of MCP is simple: it’s an API abstraction. That's exactly the problem. As agents become better and can read API documentation themselves, WHY do you need an API abstraction?
- senadir 7mo agoBecause not everything run from a terminal.
- chris_money202 7mo agoI think the worse thing is when someone takes a clearly defined list of steps to do something and writes it as a skill rather than just having AI write it as a script. It’s like people have forgot what scripting is
- 0xy4sh 7mo ago[dead]
- qrbcards 7mo agoThe comparison to app stores is interesting but I think MCP registries solve a different problem. App stores are for humans browsing. MCP registries are for agents discovering tools at runtime based on the task at hand. The user never browses — they describe what they need and the agent finds the tool. That is a meaningful distribution shift. Products no longer need to be marketed to end users if an agent can find and invoke them directly. Skills require the developer to install them ahead of time, which means someone already decided this tool was relevant.
- nathias 7mo agoMCP is too thristy
- kohlerm 7mo agoYeah well. MCPs are better for use cases where remote access is required, but for development use cases what you need in the majority of use cases is to manipulate local files. Skills are just the more natural solution here. You can argue whether Skills should come with more type information (MCPs are slightly better here), but otherwise it seems pretty clear to me that if you do not need remote access then MCPs are not really needed.
- alienbaby 7mo agoDifferent techniques appropriate in different situations, I would decide on what's appropriate given the goals you have. Whichg is nearly always the answer to X is a better way than Y arguments.
- rd42 7mo agoI think the key problem is that usage of MCP servers is not 'baked' into the LLM training - but API's and CLI's are already a part of training. So to use your MCP server, the LLM has to use additional intelligence which could have been used to do the actual work instead.
- raincole 7mo agoSeriously, the only drawback of MCP is its name. If it were named "API discovery protocol" (which is what it is) none of these debates would have existed. API vs MCP sounds like a real debate, but it really isn't. It's "API vs API discovery protocol." See how asinine it sounds if we call things for what they are.
- TonyAlicea10 7mo agoI prefer peanut butter over jelly.
- aiedwardyi 7mo ago[dead]
- pjmlp 7mo agoComplete in synch with the author MCP and A2A for the win.
- throwpoaster 7mo agoThey’re different things. You can have skills using MCP.
- fancyraccoon 7mo agoReally interesting post. The "connectors vs manuals" framing stuck with me because I think it points at something beyond the UX argument. A Skill that papers over an API loses the signal the friction was carrying. Working with a raw interface tells you something about the design. The same thing plays out at the language layer. The pain of C++ multiple inheritance drove people toward better abstractions. If LLM's absorb that friction before it reaches anyone, the signal that produces the next Go never gets felt by the people who could act on it. Wrote about where that leads: https://blog.covet.digital/a/the_last_language_you_can_read.html https://blog.covet.digital/a/the_last_language_you_can_read....
- coolThingsFirst 7mo agoCan someone more enlightened in this area explain how this is used? Is MCP for in-house LLMs or can it work with ChatGPT as well? As far as I know it's a server with small self-contained task scripts. But don't get how the coordination works and how it's used.
- jeremie_strand 7mo ago[dead]
- losvedir 7mo agoFor my use I prefer just a raw CLI. As long as it's built following conventions (e.g. using cobra for a Go app) then the agent will just natively know how to use it, by which I mean how to progressively learn what it needs by reading the `help` output. In that case you don't need a skill or anything. Just say "I want this information, use the xyz app". It will then try `xyz --help` or `xyz help` or a variant, just like a human would, see the subcommands, do `xyz help subcommand` and eventually find what it needs to do the job. Good tools provide an OAuth flow like `xyz login`, which will open a browser window where you can determine which resources you want to give the CLI (and thereby the agent) access to. This only works for people using agents themselves on computers they control, rather than, e.g., the Claude web app, but is a good chunk of my usage. I think people are either over or under thinking the auth piece, though. The agent should have access to their own token. Both CLIs and MCPs and even raw API requests work this way. I don't think MCPs provide any further security. You should assume the agent can access anything in its environment and do everything up to what the credential permits. You don't want to give your more powerful credential to the MCP server and hope that the MCP server somehow restricts the agent to doing less (it can probably find the credential and make out-of-band calls if it wants). The only way I think it could work like that is how... is it Sprite does it?... where you give use a fake token and have an off-machine proxy that it goes through where it MitMs the request and injects the real credential.
- 0x696C6961 7mo agoYou run the MCP server outside of the agent sandbox so it doesn't have access to the credentials.
- lukewarm707 7mo agoyes and also you can firewall the container so that it can only contact the mcp/proxy. this way it doesn't download a trojan or leak your data to someone
- bustah 7mo ago[flagged]
- briznad 7mo agoSkills are static; MCP servers is dynamic. Skills codify info and workflows, help decrease redundant instructions, and increase consistent outcomes. MCP servers allow access to changing resources across systems. You may dislike MCP, and there are certainly valid arguments to be made there, but that doesn't mean you can replace it with skills. If you could replace a given MCP server with a skill it would only indicate that someone misunderstood the assignment and chose the wrong tool in the first place. It wouldn't indicate the superiority of one thing over the other. This whole article, and it's current rank on HN (#5), is making me feel like I took crazy pills this morning. A colleague suggests this Skills vs MCP discourse is big on Twitter, so maybe I lack the necessary background to appreciate this, but aren't these different tools, solving for different things, in different ways? Is this parody? Am I falling into a bot engagement trap by even responding to this? The article certainly reads like LinkedIn drivel, with vague, emphatic opinions about nothing.
- Falimonda 7mo agoSkills are compensation for out-of-distribution task assignment (and very valuable training data for model providers) MCP are tools - might as well have just called it API for AI, but that ship has sailed. It's 100% apples and oranges!
- raincole 7mo ago> I took crazy pills this morning You should feel so. Every time a thread about MCP on HN appears, half of the commenters obviously don't even know what MCP actually is and how it's used. Just right below someone suggests one should use "an API and a text file" instead of MCP (like, what do they think MCP is?). On Twitter the ratio is even worse.
- the_axiom 7mo agothis is very good and correct
- CharlieDigital 7mo agoOne thing that I have found is that the platforms are surprisingly poor at consistently implementing MCP, which is actually a pretty simple protocol. Take Codex, for example, it does not support the MCP prompts spec[0][1] which is quite powerful because it solves a lot of friction with deploying and synchronizing SKILL.md files. It also allows customization of virtual SKILL.md files since it allows compositing the markdown on the server. It baffles me why such a simple protocol and powerful capability is not supported by Codex. If anyone from OpenAI is reading this, would love to understand the reasoning for the poor support for this relatively simple protocol. [0] https://github.com/openai/codex/issues/5059 https://github.com/openai/codex/issues/5059 [1] https://modelcontextprotocol.io/specification/2025-06-18/server/prompts https://modelcontextprotocol.io/specification/2025-06-18/ser...
- password4321 7mo agoSurprised to see no mention in the article or discussion yet about using MCPs in 'code mode', where an API is generated client-side relying on MCP primarily as an interface standard. I'm still learning but I've read this reduces the amount of context required to use the MCP. It seems like a lot of the discussion is arguing in favor of API usage without realizing that MCP basically standardizes a universal API, thus enabling code mode.
- WhyNotHugo 7mo agoI like skills because they rely on the same tools which humans rely upon. A well-written skill can be read and used by a human too. A skill is just a description for how to use an existing CLI tool. You don't need to write new code for the LLM to interact with some system. You just tell the LLM to use the same tool humans do. And if you find the CLI is lacking in some way, you can improve it and direct human usage benefits from that improvement too. On the other hand, an MCP requires implementing a new API for a service, an API exclusive to LLMs, and keeping parallel documentation for that. Every hour of effort put into it is an hour that's taken away from improving the human-facing API and documentation. The way skills are lazy-loaded when needed also keeps context clean when they're not used. To be fair, MCPs could be lazy-loaded the same way, that's just an implementation detail.
- federicosimoni 7mo ago[dead]
- vomayank 7mo ago[flagged]
- interpol_p 7mo agoWe had a contention between MCP / Skills for our product and ended up offering both. We built a CLI tool that could interface with the MCP server [1]. It seems redundant but our app is a coding app on iOS (Codea), and the issue with offering a plain MCP server meant that the agentic coding harness found it harder to do its job. With the CLI the agent could check out the project, work on it locally with its standard file editing / patching / reading tools, then push the work back to device. Run and debug on device, edit locally, push. With MCP the agent had to query the MCP server for every read and write and was no longer operating in its normal coding loop. It still works, though, and as a user you can choose to bypass the CLI and connect directly via MCP. The MCP server was valuable as it gave us a consistent and deterministic language to speak. The CLI tool + Skill was valuable for agentic coding because it allowed the coding work to happen with the standard editing tools used by agents. The CLI also gave us device discovery. So the agent can simply discover nearby devices running Codea and get to work, instead of a user having to add a specific device via its IP address to their agent. [1] https://codea.io/cli https://codea.io/cli
- iamsaitam 7mo agoDon't they both solve different problems? This tribalism makes no sense.
- cphoover 7mo agoI think language grammars are the an interesting way to define a ruleset too. Forget REST API's or MCP Servers for a second... Define a domain specific language, and let the language model generate a valid instruction within the confines of that grammar. Than pass the program, your server or application can parse the instructions and work from the generated AST to do all sorts of interesting things, within the confines of your language features. It's verifiable, since you are providing within the defined grammar, and with the parser provided. It is implicitly sandboxed by the powers you give (or rather exclude) to your runtime via an interpreter/compiler I've tried this before for a grammar I defined for searching documents, and found it to be quite good at creating valid often complex search instructions.
- Aperocky 7mo agoThe most common mistake that I see here is people thinking only MCP can be bound to a server and store secrets and be called remotely No, a CLI with RPC can do exactly that, just smaller. It goes lower in the exact same stack without the fluff.
- Paul20261 7mo ago[dead]
- jsw97 7mo agoFrom the article: "Sandboxing: Remote MCPs are naturally sandboxed. They expose a controlled interface rather than giving the LLM raw execution power in your local environment." I think this is underappreciated. CLI access gives agents a ton of freedom and might be more effective in many applications. But if you require really fine granularity on permissions -- e.g., do lookups in this db and nothing else -- MCP is a natural fit.
- utilize1808 7mo agoI think skills are just a marketing ploy. There is nothing preventing a MCP from serving skills.
- hasyimibhar 7mo agoWe use MCP at work. In my team of about 6 people, everyone has Claude access, but about half of us are non-engineers. I built an MCP over our backend and Clickhouse, and setup a Claude Project with instruction (I'm assuming this count as skill?). The instruction is mostly for enriching the analytics data that we have, e.g. hinting Claude to prefer certain datasets for certain questions. This allows the non-engineers (and also engineers) to use Claude Desktop to do day-to-day operations (e.g. ban user X for fraud) and analytics (e.g. how much revenue we made past 7 days? Any fraud patterns?). The MCP helps to add audit, authorization, and approval layer (certain ops action like banning user will require approval).
- a960206 7mo agoI think so,I like only use Claude Code by MCP,let it connect
- socketcluster 7mo agoI prefer skills with simple curl commands. It's easy. You just need to create a server with HTTP endpoints and Claude (or other LLM) can call them with the curl commands you provide in your skills files. Claude is really good with curl and it's a well known HTTP client so what Claude is doing is more transparent to the user. Also, with skills, you can organize your files in a hierarchy with the parent page providing the most general overview and each child page providing a detailed explanation of each endpoint or component with all possible parameters and errors. I also made a separate page where I list all the common issues for troubleshooting. It works very well. I created some skills for my no-code platform so that Claude could access and make changes to the control panel via HTTP. My control panel was already designed to update in real-time so it's cool to watch it update as Claude creates the schema and adds dummy data in the background. I spent a huge amount of effort on refining my HTTP API to make it as LLM-friendly as possible with flexible access control. You can see how I built my skills marketplace from the docs page if anyone is interested: https://saasufy.com/ https://saasufy.com/
- 0xbadcafebee 7mo agoI have vibe-coded 4 different software projects recently, on multiple platforms. I added search, RAG, ticketing, notifications, voice, and more features to them, in 2 minutes. All I had to do was implement MCP client, and suddenly all that other complex functionality "just worked", both locally and remotely. Skills would have required me to 1) add all the skill files to all those projects (and maintain all those files), and 2) install software tools (some of these tools don't have CLIs) to be usable by the skills. Not to mention: the skills aren't deterministic! You have to iterate on a skill file for a while to get the LLM to reliably use it the way you want.
- bhewes 7mo agoNice someone who actual works with the systems. Thank you.
- bharat1010 7mo agoThe MCP vs skills debate feels like it's still very early days — I suspect we'll look back in a year and laugh at how much we debated this once the patterns become more obvious through real-world use.
- hereme888 7mo agoI see the real argument is against poorly-designed MCP servers and where a skill/script would be a better fit. If all you need is "teach the model how to use an existing tool", then use a skill, or even scripts, which are great for bulk work or teaching workflows. MCPs are good at giving agents a stable, app-owned interface to a system w/o making the agents having to rediscover the integration every session. There's no way a skill/script would be able to handle the stuff I do via my local MCPs for managing certain apps and databases.
- deleted 7mo ago[deleted]
- ookblah 7mo agomcp is really easy for non-techies to understand. if i own the system, can install cli tools, cli + skills beat it every time and i can tweak, etc. if you're asking someone else to do that there's real friction. i'll sometimes use mcp if i just want to get up and running am not watching context as much, then if they offer a cli i'll just move to skill + that or write my own wrapper off the api.
- vonneumannstan 7mo agoThey seem like fundamentally different things.
- noisy_boy 7mo agoI feel like MCPs are encapsulation of multiple steps where the input to the first step is sufficient to drive the flow. Why would I spend tokens for the LLM to do reasoning at each of the steps when I can just provide the input + MCP call backed by a fixed program that can deal with the overall flow deterministically. If I have to do the same series of steps everytime, a script beats LLM doing the each step individually in terms of cost and time. If the flow involved some sort of fuzzy analysis or decision making in multiple places, I would probably let the LLM carry out the flow or break it into a combination of MCP calls orchestrated by the LLM. In my case, my MCP is setup with the endpoints being very thin LLM facing layer with the meat of the action being done by helper methods. I also have cli scripts that import/use the same helpers so the core logic is centralized and the only difference is that thin layer, which could be the LLM endpoint or cli's argparse. If I need another type of interface, that can also call the same helpers.
- maxothex 7mo ago[dead]
- vamsikrishna21 7mo agoI do agree on this, but i think this is just for now, as models get better reasoning, why cant sklls.md take place of MCP all together?
- the_arun 7mo agoDon't know if Skills & MCP are comparable. One is static & another is dynamic. It is like comparing static content vs dynamic apis. Probably we need both.
- michaelksaleme 7mo ago[flagged]
- neosat 7mo agoThe juxtaposition of MCP vs Skills in the article is very strange. These are not competing ways to achieve something. Rather skills is often a way to enable an optimization on top of MCPs. A simplified but clarifying way to think about it is that MCP exposes all the things that can be done, and Skills encode a workflow/expertise/perspective on how something should be done given all the capabilities. So I'm not sure why the article portrays one to be conflicting with the other (e.g. "the narrative that “MCP is dead” and “Skills are the new standard” has been hammered into my brain. Everywhere I look, someone is celebrating the death of the Model Context Protocol in favor of dropping a SKILL.md into their repository."). You can just not choose to use a skill if it's not useful. But if it's useful a skill can add to what an MCP alone can do.
- hungryhobbit 7mo agoAm I the only one who doesn't trust remote servers?
- mikemiles 7mo ago[dead]
- localhost3000 7mo agoHow I think about this: If you're using an agent in a shell environment with unfettered internet access and code execution: CLI + Skills. If you're using a hosted agent on a website or in an app without code execution and limited/no internet access: MCP. We want both patterns. Folks who are agro about MCP do ~all of their work in the former, so it seems pointless. Most people interact with agents in the later.
- bloppe 7mo agoEvery CLI can be expressed as an API and vice versa. Thus every skill can be expressed as an MCP server and vice versa. Any argument about the technical or practical merits of one over the other is willfully ignoring the fact that you can always use exactly the same patterns in one vs. the other. So it's really all about availability or preference. Personally, I don't think we needed a whole new standard with all its complexities and inevitable future breaking changes etc.
- odin_ssup 7mo ago[dead]
- greza-dev 7mo ago[flagged]
- uyzstvqs 7mo agoWithin the scope of AI coding tools, they both have their place and do different things. In the much bigger picture of AI assistants, skill.md is irrelevant while MCP is set to become huge.
- korix 7mo ago[flagged]
- darepublic 7mo agoThis skills obsession is a Claude/anthropic fanboy thing imo. Goodbye sweet karma
- upcoming-sesame 7mo agoI prefer CLIs over both
- thegdsks 7mo ago[dead]
- lgas 7mo agoI still prefer windshield wipers over turn signals.
- fjellsystems 7mo agoExperimenting with something adjacent — torget.ai, idea is an agent/tool marketplace so enjoyed this discussion :) What strikes me is that MCP vs Skills vs Bespoke are all answers to ‘how does an agent use a known capability.’ How does it find one (?) is where I’m experimenting. Discovery and payment at the agent layer still feels like the missing primitive. Also (food for thought) the local LLM angle keeps getting underweighted in many discussions. For someone running Gemma 4 locally, there’s no tool layer at all by default. Different problem than the cloud agent angle.
- kvikuz 7mo ago[dead]
- LucasOe 7mo agoIn my opinion, the biggest benefit of skills is that they encourage good CLI tooling. Even someone who doesn't use AI all that much can profit from it.
- TurtleBoxPlus 7mo agoSkills can be seen as custom-made MCPs that wrap them in a way readily useful for a niche audience. What is provided for in the package is not only the original service but also the business logic and workflow of the industry. So, sometimes they target audiences at different positions of the stream.
- vlucas 7mo agoAgreed on the MCP sentiment, and particularly remote MCPs. They keep themselves up to date with predefined tools, schemas, descriptions of how to use them, etc. where skills tend to be a mess over time, as described in the article. Plug: If you want to try chatting with your financial data via an MCP, give FINTECH_MCP a try: https://www.fintechmcp.app https://www.fintechmcp.app - it's got a preview mode too so you can see how it works without linking any real data.
- noritaka88 7mo ago[dead]