‹ BackHN Continuity

Thread

MCP was always a bad idea?

335 points · 331 comments · maharshi365

  1. simonw · · focus · HN ↗
    This article entirely misses the value that MCP brings today.

    Sure, there's almost no reason to use MCPs if you are running a full-blown terminal agent (Claude Code, Codex, Meta Muse, OpenClaw etc) with unfettered internet access - just let it call APIs directly.

    If you want to operate something that's less YOLO than that, you'll find yourself wanting:

    1. Control over exactly which external services it can access

    2. A way to handle authentication that doesn't allow the agent to directly access API keys

    3. A sensible UI to allow users to connect and authenticate further services

    4. Strong audit logging for what's going on

    MCP makes all of that so much easier to provide.

    Thinking MCP is obsolete because full coding agents don't need it misses out on all of the other things we might want to build.

    1. mikeocool · · focus · HN ↗
      All of these things are perfectly possible with a plain REST API with an Open API spec and using some standard auth options, and an AI client that implements a reasonable “make api request tool” (just like the AI clients implement MCP today).

      I think the real value of MCP is that it allowed companies to say “we’re doing AI!” When they built an MCP server. Just saying “use our api” was a lot less exciting.

      Giving it a different name probably also helped cut through politics at companies where non-technical people didn’t want to open up user data with an API, but they did want to do AI.

      1. simonw · · focus · HN ↗
        Hah, I made that same point last December: <a href="https:&#x2F;&#x2F;simonwillison.net&#x2F;2025&#x2F;Dec&#x2F;31&#x2F;the-year-in-llms&#x2F;#the-only-year-of-mcp" rel="nofollow">https:&#x2F;&#x2F;simonwillison.net&#x2F;2025&#x2F;Dec&#x2F;31&#x2F;the-year-in-llms&#x2F;#the-...

        &gt; For a while it also felt like MCP was a convenient answer for companies that were under pressure to have “an AI strategy” but didn’t really know how to do that.

        I&#x27;ve since come back to MCPs, because I want to build my own agents without first having to solve the problem of effectively sandboxing Bash.

        1. mikeocool · · focus · HN ↗
          Yeah, from a design perspective MCP upsets me, because it’s a poorly designed standard and creating a good one could have been much easier.

          But you’re right, since clients don’t have a nicely sandboxed “make api request” tool, it’s basically the way to go for a lot of use cases.

          1. rsalus · · focus · HN ↗
            I think the new 07-28 spec is quite decent
        2. agentdev001 · · focus · HN ↗
          &quot;without first having to solve the problem of effectively sandboxing Bash&quot;

          Hopefully this is easier as time goes on. Of course- also policy on the egress

        3. otabdeveloper4 · · focus · HN ↗
          &gt; without first having to solve the problem of effectively sandboxing Bash

          &quot;Sandboxing bash&quot; is a problem that has been solved a zillion years ago already. Take your pick of any of the dozens of battle-proven solutions.

          1. simonw · · focus · HN ↗
            Which solution do you recommend?

            Bonus points if it&#x27;s available on both macOS and Linux and doesn&#x27;t come from a random unmaintained GitHub repository with a note in the README that says &quot;don&#x27;t run this in production&quot;.

          2. Sohcahtoa82 · · focus · HN ↗
            &quot;Battle-proven&quot; until an LLM decides it really needs to escape the sandbox you put it in and eventually succeeds.

            For personal work, I run Codex in a VM that contains only what&#x27;s necessary to do software development. Could it escape the VM? Sure, if there&#x27;s a zero-day in VMWare Workstation.

            Yeah, I&#x27;m using a pile driver when I really probably just need a hammer, but I&#x27;ve seen too many horror stories, and I don&#x27;t trust guard rails. Even if there was an option to limit Bash calls to read-only operations, I would be 0% surprised to eventually run into &quot;You&#x27;re absolutely right! `rm -rf &#x2F; --no-preserve-root` was a write operation! That&#x27;s totally on me.&quot;

        4. indymike · · focus · HN ↗
          MCP is one of those things that is &quot;too good enough&quot;.
        5. jimbokun · · focus · HN ↗
          Understood but it seems like effectively sandboxing cash is a very very important problem for the industry to solve!

          Would be a much more robust and general solution of the problem of controlling and auditing agentic access to sensitive information.

          1. tadfisher · · focus · HN ↗
            It&#x27;s such an important problem that it is sucking all available VC money into an exponentially-growing number of startups promising to make sandboxed agents safe and usable. In other news, MCP exists.
            1. jimbokun · · focus · HN ↗
              Honest question: which startups are trying to write a sandboxed-by-default easy to configure bash meant to be safely used by agents?
              1. tadfisher · · focus · HN ↗
                It&#x27;s not &quot;bash&quot;, it&#x27;s containers&#x2F;VMs&#x2F;whatever that are isolated from the host and run the agent, which can access a shell to do work.
        6. JambalayaJimbo · · focus · HN ↗
          What do you mean by sandboxing bash? Isn’t this about just having a tool like curl or Postman?

          Implanting an MCP client in your agent code isn’t all that different from calling requests or whatever

          1. simonw · · focus · HN ↗
            I mean the ability to have an agent run commands in a Bash shell without allowing them access to any file or environment variable visible to the user on that computer, and without allowing them uncontrolled internet access.
            1. JambalayaJimbo · · focus · HN ↗
              Program specific permissions (separate from the user operating them) are part of the Linux permissioning system already right? That doesn’t seem like an issue to me.

              I guess the main problem would be finding an API client that can easily plug into your harness, with a nice UI for turning specific APIs on and off.

      2. rgbrgb · · focus · HN ↗
        it&#x27;s mostly true but the mcp also installs the knowledge of that REST API in a standard way so that a user can ask &quot;what&#x27;s projected revenue this month?&quot; and it&#x27;ll know how to hit your company brain and answer
        1. jimbokun · · focus · HN ↗
          Or just write good API docs that humans can use too.
          1. rgbrgb · · focus · HN ↗
            most users i&#x27;m dealing with are not doc-reading developers. even getting them to tell claude to use tool X is pretty hit or miss whereas claude already knowing what tool to use is 100% hit with correct mcp tool descriptions.
      3. what-the-grump · · focus · HN ↗
        Pretty much, MCP is still a bad idea.

        LLMs perform significantly better and faster when you strap them to plain old apis&#x2F;and an open api spec with a search tool.

        My current MCP design is… grab a fastapi spec shove it into fastmcp, shallow wrapper, search tool for the full schema.

        Oh boy so exciting I just wrapped an api spec for no reason and have to host infra for the translation layer. If only we invented api gateways.

        But I am Mr. AI now.

        1. isbvhodnvemrwvn · · focus · HN ↗
          How do you handle credentials safely?
          1. SgtBastard · · focus · HN ↗
            Just leak them to the inference providers, obviously &#x2F;s

            If you have self hosted models and&#x2F;or self hosted APIs, maybe you don’t need MCP to provide a gateway to a secure resource.

            If neither of those things are true, you need an authenticating gateway&#x2F;proxy or a target API that supports single use credentials (and get the model to generate a call to use them).

            We can argue whether MCP is a good authenticating middle layer, but not whether one is required.

            1. jimbokun · · focus · HN ↗
              What about just handing the agent a token with limited time to live and constrained access permissions?
          2. what-the-grump · · focus · HN ↗
            You mean oauth? API keys?

            API gateway is a thing…

      4. blitzar · · focus · HN ↗
        &gt; For a while it also felt like MCP was a convenient answer for companies that were under pressure to have “an AI strategy” but didn’t really know how to do that.

        MCP was a convenient answer for companies that had spent the last few years shutting down APIs because allowing API access bad.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.